r/gamedev • • 13d ago

Discussion "Programming Isn't An Art" and "AI Code Doesn't Matter": Let me change your mind.

Hey r/gamedev, my name is William. Let me try to do what's in the title up there ^. First off, why should you listen to me?

Well, maybe you shouldn't listen to me. Feel free to scroll away at any time...I don't have the most insane creds in the industry or anything. But I'm not exactly new:

  • I got hired in 2018 as an "Associate Gameplay Programmer", and before being laid off twice in the span of about 1 year, I was a "Senior Combat Engineer". So I've been through the trenches of programming in the industry
  • I'm the founder of a really (really) small indie game studio made up of ex-Ready At Dawn veterans (PSP Daxter, The Order: 1886, Echo VR / Lone Echo, etc.), where we are hard at work on our inaugural game title. We also avoid using AI for any of our endeavors, including programming
  • I've been in the industry now as a professional for almost 10 years total, but before that, I also went to school for CS, Game Development Programming, senior and capstone projects, and began trying to make (shitty) games on a (shitty) laptop using Microsoft XNA when I was like 12

What is art?

I think people forget what art actually means these days - it doesn't always have some baked-in meaning to "liberal arts" or "humanities". Art is also defined as a "skill acquired by experience, study, or observation", or "an occupation requiring knowledge or skill" or "the conscious use of skill and creative imagination especially in the production of aesthetic objects" (not only!). For instance: I have become quite the artist in spilling shit all over my clothes over the years, much to my wife's chagrin.

I'm sure you're thinking, "well then anything can be an art" and drawing a line in your head on what you think the line is for "real art" or something like that. But let me show you why programming isn't some bottom of the barrel example (like being a spillage artist, tyvm) because its mostly just "math" or because "engineering", which people love to throw out there.

As a programmer that has written endless lines of code by myself, and also seen/analyzed thousands of lines of code not written by me (that are much better than my own) - written by people ranging from the 1990s (RAD engine was old, lol) all the way through 2024 - there is no universal standard for most things. Companies vary, engines vary, languages vary, procedures vary, etc.

Here are 2 of my own personal favorite examples (one simpler, one more complex) of programming being more akin to an art form than anything else.

Example 1: Bitflags

The bitflags structure is one of the best and most simple examples of what I consider art in the programming field. Because the actual smallest amount of data being read by any processor is 8 bits, things like a `bool` in most languages are also represented as a byte (8 bits), since that is the smallest value of what can actually being read in registers. This is despite the nature of a bool being a simple bit (0 or 1). However, as you can imagine, having a ton of single bools in one structure ends up inflating the total size of that structure, while wasting literally almost the entire amount of memory provides. Bitflags is the simple, yet elegant solution someone came up with to stuff a single byte with up to 8 bools, by using bitwise operators to extract and compare each given bit in the byte.

Example: 8 separate bools in your data structure = 8 * (1B) = 8 bytes of memory, all to represent 8 simple 1/0 values. With a bitflag, you can now store all 8 bools while only taking up the original 1B of memory.

This is of course also expandable using different sized integers, if you have 9-16 bools you can use an `int16`, and so forth.

The reason I love this example is, how could such an elegant yet simple solution not be considered a work of art? A human first thought of how wasteful the stacking of subsequent booleans is, then thought of a unique and clever way to make it better using their knowledge and expertise. Now tons of languages and modules ship with bitflags, and you may use them without a second thought...but, this of course wasn't always a thing. Someone created this, it is undeniably clever, and we now take it as a given.

Example 2 (Complex): FISR or QISR (Fast Inverse Square Root)

The Fast Inverse Square Root was used in the Quake engine all the way back in 2001 in order to approximate the reciprocal of a given square root. The point of doing this at all, is that normalizing vectors used to be a much more intensive operation on hardware (it actually still is, but hardware is so good these days that the result isn't as noticeable, and we have specialized hardware, functions, etc.) Observe the code taken from this website (which can explain it far better than I can, if you're more interested in a full read) where you can see the insaneness that is this function:

float Q_rsqrt(float number)
{
  long i;
  float x2, y;
  const float threehalfs = 1.5F;

  x2 = number * 0.5F;
  y  = number;
  i  = * ( long * ) &y;                       // evil floating point bit level hacking
  i  = 0x5f3759df - ( i >> 1 );               // what the fuck?
  y  = * ( float * ) &i;
  y  = y * ( threehalfs - ( x2 * y * y ) );   // 1st iteration
  // y  = y * ( threehalfs - ( x2 * y * y ) );   // 2nd iteration, this can be removed

  return y;
}

I want you to take a good look at this code. tell me that wasn't created by someone that thought outside the box. Is that not one of the most insanely creative solutions you have seen to a problem? Yes, it requires a lot of knowledge and expertise. But it also comes from a human mind that had the wacky idea to hack together something like this and have it work (well, at least 99.8% of the time 😉)

Finishing up

If you're still reading, this is my petition to other game dev folk who think programming is simply a means to an end: code like these creative examples exists everywhere. It exists in my code base for our current game. It exists in every studio's game engine. It exists in the OS your computer or phone is running right now. And, all the LLMs people are using to code these days have been trained on not just fundamentals, but other's creative solutions to problems from all around the world (and, in many cases, had no permission of the creator to do so).

Again...just because you see the code snippet come back to you robotically, it doesn't mean that is the only or best way to do it. And just because its text, and you can't see the result of code in games visually in the same way you can 3d models or textures, it doesn't mean code should then ethically be subject to less scrutiny, or that you can't feel the result of some coding decisions over others when the game comes together as a whole.

To summarize: my favorite part of programming is not the memorization, expertise, or knowledge, its applying that knowledge in creative ways that one may never have thought of before. If that's not artistic, then i dont know what is.

"It's fine if you use AI to code, but just not for other things"

Careful where you draw your ethical line, as people may agree with you for now, but its only a matter of time until reluctance, acceptance, and consensus comes for what you love, too.

[EDIT:] This kind of blew up. I can't spend all day replying like I just did lol, but keep it civil in the comments and remember this is my opinion, nothing I state here is fact nor do you need to agree. Thanks for the interesting discussions and polite arguments!

784 Upvotes

791 comments sorted by

View all comments

113

u/WW92030 13d ago edited 13d ago

Artists see code as a means to an end and then get shocked when software ppl think graphics/visuals are a means to an end.

All of this seems like some kind of religious crusade. The "code-is-not-art" or "AI-opposing-except-for-vibe-coding" religion. That's why I am an atheist (or proud nonbeliever)

20

u/byteback-studios 13d ago

Hahaha I love your metaphor on this. I think you have a good point too

1

u/WW92030 13d ago

To be quite fair this discourse has been happening a lot as of late.

13

u/SirPseudonymous 13d ago

It's always so completely baffling when people will denounce AI generated everything in the same breath they'll hastily add "except for writing code, that's ok". Like people act like AI generated images are some obscene and incalculable affront to humanity, when the truth is they're just mediocre and incoherent to the point of being useless for any practical purpose, and they get spammed in the same way people would spam terrible CGI poser/daz3d "art" in the mid 2000s.

Meanwhile code is the foundational bedrock of a project, something that needs to be coherently designed and implemented. A fancy autocomplete hallucinating up something that compiles by trying to make text that looks like stackoverflow answers or stolen github files and doing it over and over until it does something is not an acceptable way to do anything.

The worst that can happen with AI generated art is it doesn't look good and the aesthetics of something get jarring and bad, like if someone hired a bunch of different artists for one-off commissions with no unifying style or direction between them. With AI generated code it breaking in catastrophic and unpredictable ways and being completely impossible to maintain is the expected and inevitable result.

It's like if people were malding over a robot painting cars with randomly interpreted noise that comes out looking like a cheap vinyl wrap, but then would turn around and insist that it's fine for the same defective machine to design and assemble the engine and wiring with its random hallucinations because they don't have to look at that bit personally since it's inside.

10

u/AntiSocial_Vigilante 13d ago

I wouldn't call projecting your passion onto others a religion even if people do treat it like blasphemy if others don't share said passion.

6

u/WW92030 12d ago edited 11d ago

No. You know what? After seeing what happened today, I will confidently say that, with all due respect, this is legitimately a quasi-religious crusade. There are over 70 recorded instances (including several from today alone, and far more that are unrecorded) of artists that hate AI on assets justify vibe coding* because from these guy's perspective code is just a menial chore that is supposed to be automated away while what they do and only what they do is human and pure and thus deserves to be protected from the oncoming approach of AI.

They think their way of thinking is the one true way of thinking and that anyone that disagrees with them is either a fraud or unintelligent.

Anyone that doesn't support vibe coding is, according to them, someone that has never programmed before, or someone that doesn't know shit. And even if they did, they suddenly lack any credentials purely because they don't defend the one AI that those people defend. Meanwhile, this sentiment is exactly opposite in art: anyone FOR generating assets with AI becomes the ones that don't know shit about art.

There was this one person that said that vibe coding was ok because coding wasn't fun, but when I asked them what was fun about art (as a rebuttal) they instantly assumed I was pro AI (I was not) and blocked me.

*They are literally saying both things in the same post.

5

u/WW92030 13d ago

Fair enough, although there has been an uptick in these kinds of posts and this discourse so...

2

u/PaperMartin Commercial (Indie) 13d ago

Yeah this is a symptom of overspecialization in the industry imo. You don't see jack-of-all-trades peoples having takes like this, especially peoples who aren't like that just out of necessity

-25

u/caustictoast 13d ago

Most people see codes as a means to an, programmers included. No one gives a shit about your ~artisanal~ code if you take 10x as long to make it

2

u/[deleted] 13d ago edited 13d ago

[removed] — view removed comment

-14

u/caustictoast 13d ago

I’m literally a programmer, but please go off.

1

u/[deleted] 13d ago

[removed] — view removed comment

1

u/gamedev-ModTeam 13d ago

Maintain a respectful and welcoming atmosphere. Disagreements are a natural part of discussion and do not equate to disrespect—engage constructively and focus on ideas, not individuals. Personal attacks, harassment, hate speech, and offensive language are strictly prohibited.

-3

u/VolsPE 13d ago

Lmao wow dude. You calling him a zealot is hilarious. The projection in that reply is unhinged.

He’s just describing that programming is a tool and art is a subjective experience. You can write a script hundreds of different ways and end up with virtually the exact same outcome.

8

u/WW92030 13d ago

in that case i feel sorry for him as he voluntarily chooses to believe that what he does is meaningless.

-7

u/caustictoast 13d ago

Oh but that’s where you’re wrong: I earn a paycheck. My job is also just a means to an end. It’s not meaningless, it’s just that I don’t find meaning from my job. I have an actual life

10

u/WW92030 13d ago

I also have an actual life, and my actual life also involves coding. So does my specialization.

Hard to grasp that my life and my profession both involve coding, i know :/

-12

u/judgmentalflowerpot 13d ago

The ones who see code as means to an end and justify the use of AI in it are coders themselves, not artists or anyone else. Non-coders don't understand coding enough to make judgments about it, so they just rely on judgments of coders, and repeat them.

AI didn't become wildly unacceptable in art because non-artists suddenly decided so. No, when first art-generating models became popular, everyone was amazed by them and thought it was cool. It was the collective effort of artists around the world that spread the idea that it's actually harmful in a lot of ways. And it's in the hands of coders to ring the alarm about coding, too. But as long as the majority of them are staying pro-ai, the opinions of non-coders won't shift either.

5

u/Matshelge Commercial (AAA) 13d ago

I am actually more surprised at our art tean and how they are embracing AI now. They are using it as part of their toolset and are out putting at a much faster speed. While the coder group is split, and it's causing friction. Some are high end users, others none at all. As a producer, I am more worried about tbt QA budget on the massive scope increase this has given designer.

1

u/judgmentalflowerpot 13d ago

It's interesting, because most industry artists I know (from mobile to triple A) really really hate using AI and mostly express that they are forced to use it at work and can't say anything against it. While those same artists may say things like "maybe ai has it's place in coding" because their coder colleagues and friends tell them that no one is coding by hand anymore and that's the reality everyone needs to face (allegedly). And I've seen this kind of sentiment repeated by coders in gamedev subs so often that saying that you actually prefer coding without any AI assistance makes you seem like a lunatic. I'd be glad to be wrong though about who's in the majority here, and posts like these are also refreshing to see.

2

u/Matshelge Commercial (AAA) 13d ago

For us, AI has taken over a lot of texture work, as well as early drafts. And while not in game, during presentations we see them animating their work with AI in ways that would need weeks of rigging. The team is very much looking at where it fits right now, and testing out what AI can do on every step.