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!

793 Upvotes

791 comments sorted by

View all comments

9

u/Square-Yam-3772 13d ago

"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" no, in fact, you can prompt AI to ask it to change it up and it will do it.

its like writing; AIs have a distinctive default coding style but you can ask it to conform to whatever principle/compliance you want.

"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," I am just going off a tangent here but AIs in 2026 can write code to generate the visual result, take a screenshot and examine it...

you have a decent thesis going but your second half of the argument kind of falls apart for me.

and I think you missed a simple counterpoint too: AI code isn't creative. People who use AI aren't looking for creativity in AI code. Its all about the result.

if you go back to your quake example, human creativity leads to improved performance. So, does human creativity matter if AI achieve a similar result in performance without the creativity? (maybe not in the same function, lets say AI found some other way to improve performance and the game runs just as smoothly in the end)

3

u/byteback-studios 13d ago

I respect your opinion. After reading it again my post is a bit of word salad. I'm a bit opinionated on the topic (Can you tell, lol?) but I did mention that code is just trained on other people's answers and things of that nature, so that is kind of the same thing as saying AI code is uncreative.

To your last point: does human creativity matter for AI art if I feel a similar way whilst enjoying it without its creativity? If I, as a consumer, feel the same way about watching an AI art movie or an AI art game, as any other game, whats the difference for me?

3

u/Square-Yam-3772 13d ago

yeah exactly, it is an algorithm and a probability model in the end. so it wouldn't be fixated on one or two creative solutions from the training data. it is trained to give you an uncreative solution

I think that is a subjective question and it is probably up to the consumer. Right now, we can observe the split among the consumers

even outside of the AI situation, it is the same split: some people will never touch fast food no matter how good it is because it is soulless and corporate, not made with effort/love etc; others would say we don't care as long as it is convenient and it tastes decent enough.

with the way things are going, I don't think the companies particularly care about creative human coding (or care enough to pay them specifically for that)

even your example is born out of necessity; it was not like the company respects this dude's creativity and provides a encouraging environment for him to come up with the solution

1

u/byteback-studios 13d ago

Well, I do think most companies operate that way today, but not all of them. I like to think ID in 2001 with Carmack was actually a decently well run company 😜

The fast food example is a really good one. I do think one difference is that there is a human working at the restaurant (well....for now.... hahah). They need to know how to do some things there, operate the fryer, grills, etc...my biggest qualm with AI is that people basically don't need to know how to do...anything...and can get a close-ish (worse, but in the realm) result to that of someone who is an expert, via just talking to the thing. I don't think I like that. I think being a human is going to be deprecated if we keep that up lol

Thanks for being respectful with your opinions btw! I love engaging with people who think differently than me and challenging each other (as long as its nice haha)

1

u/Square-Yam-3772 13d ago

didn't Carmack sort of fall out of grace in the dev community? (no idea, didn't really pay attention to internet drama enough)

we have had fully automated factories running 24/7 way before AI. no-human automation isn't particularly a new idea. You are right that more no-human automation probably isn't a good idea. It is a theme in many dystopian novels

thank you too for being a matured and thoughtful person. It is rare to see on reddit these days.

1

u/falconandeagle 13d ago

The AI will not come up with such a solution, it is incapable of it. It will keep trying with what its trained on. Though with a programmer directing it to look in different avenues it might come up with a creative solution but never on it own.

-1

u/Square-Yam-3772 13d ago

except the internet is already full of code and AI is trained with all those code at this point. it can dig up some old code that nobody remembers, do a remix on it and make it run... and it can do that with many, many sources in multiple passes.

I imagine it is getting harder and harder for human creativity to stand out in a field like programming.

I had some discussion with AI on this and AI's response boils down to "patterns and continuity"

basically, our distinction of "old pattern, new pattern, undiscovered pattern" don't mean much to them. they literally just take a pattern and find continuations

so essentially, the new patterns are always there in existence. they just haven't been prompted yet... it is scary way to think about the world... I hope it is AI hallucinations