On Using AI
it never looked like this when I used it but we can pretend for the aesthetic
it never looked like this when I used it but we can pretend for the aesthetic

Just in case you don't know, "Don't be evil" was the well known, often-quoted motto at the top of Google's code of conduct in 2004 when it had its IPO and became a publicly traded company. It was removed during restructuring as a subsidiary under the almost comically evil sounding Alphabet Incorporated Holding Company in 2015.

So I've been using AI for 20 years AKA Google search. There was a point where my brain realized I no longer had to remember specifics about anything because I could just Google everything, and at that point it was over, I was officially a cyborg. And then Google got shitty.

I hate Google

If you're under 25 you wouldn't remember this, but pre-2010s Google was actually insanely useful. It's still useful now, but it's crippled compared to what it was. The reason is because originally, Google searches operated on a direct robotic keyword relationship, where if you Googled some scattered terms it would actually return the results most directly textually relevant, instead of returning the current most popular thing vaguely related to the terms. Like, it wouldn't go "oh you said 'sea captains of south america', that means you want to SEE CAPTAIN AMERICA right?" No, if you said captain it would give you fucking captains.

Google results wouldn't change with the wind or the latest political scandal, they would consistently return the same thing, for years. And then they fucked it up on purpose and it sucks now and I can't remember anything because Google would rather tell me about a new crappy Hollywood movie than give me the results I know for a fact that they have. The most infuriating thing is when you search something with unusual spelling and Google auto corrects it and searches for something completely different. Holy fuck.

I don't think I can communicate how often Google makes me feel like I have Alzheimer's now, but it's my own damn fault for outsourcing my recollection to an internet company. There's a lesson in that. I'll come back to this by the end.

it took me 10 years to remember this bullshit
it took me 10 years to remember this bullshit
Crabs (1976) good short btw

Anyways real AI. ChatGPT came along and suddenly after 10 years of my blood pressure spiking every time I had to remember something, because I knew there was a 50/50 chance it wouldn't work, I could fucking think again. I could remember things again. I could go "what was that old Russian animated short with the robot crab island" and it would actually find it. Ahhhh. I was reeling from mental relief for months.

Obviously it's not always going to be correct and you can't treat anything it says as authentic, but this was already the case with Google and the internet as a whole. You were always supposed to take everything you read on the internet with a heaping spoonful of salt. Do you remember your 6th grade book report English teacher telling you not to use Wikipedia as a source because it wasn't trustworthy? I dunno where that mindset went but this isn't a new problem. It's still way better than Google.

Creative Intent

The objective of climbing a tower is to get to the top.
The objective of climbing a tower is to get to the top.

I've never been someone who was particular about how I achieve my creative intent. Originally I learned how to draw and animate because I wanted to make animated movies. Then I realized it would be nigh-impossible to make anything successful inside the western animation industry, and I like video games more anyways. And so I switched to gamedev, and I learned how to program because it's the only way to make video games. All this is just to say I don't mind hard work, but I also don't mind shortcuts. The only thing about workflow that really matters to me is getting the results that I care about as efficiently and effectively as possible.

For example I use Photoshop despite hating Adobe because it's just the best way to do everything I want to do with images. It's the best tool for the job. If someone made something better than Photoshop in the ways I care about I'd gladly switch to it, but it hasn't happened yet. GameMaker sucks in many ways but it's also powerful and fast. If you want to make a 2D pixel game there isn't really anything that will get you to that goal faster that I know of. It's the best tool for the (admittedly specific) job.

I still appreciate and agonize over the smallest details, in fact I'm really an autistic perfectionist at heart, but I've learned that the details are infinitely less important than actually finishing the thing. You need to understand what it is that you actually care about.

So with all that in mind, I've always been open to the idea of improving my ability to personally execute on my creative vision with LLMs beyond using it as a better Google search. I would check up on how things are going every few months to see how useful it might be. At first it was just a toy, clearly not able to do anything for a real production. But I saw the potential, and over time it's gotten better and better.

Now we're at the tipping point where, in my opinion, it's becoming Actually Useful for serious game development. Not everything obviously. Not even most things. Just some things. It's still got many many limitations, it's only good for very particular tasks. But I don't need it to be able to do everything. When it comes to whether or not to use a tool, all I care about is if I'm able to reach my creative goals faster and better by using the tool than I am by not using it. It's just the latest useful tool.

Examples Please

Webdev

recursion
recursion
me writing this article
me writing this article

It's really good at making static websites. This website itself is proof enough of that. I don't know anything at all about web development but I can tell it exactly what I want the layout to look like and it'll do it. Not that any of this stuff is hard to learn, but it's one less thing that I have to personally do. I don't care about the specifics of web development, I just want a website to put my rants up on. In the past I could have paid someone to make this for me or spend significant time learning to do it myself, but now I can just get the bot to spin it up in an hour to my exact specs with no issue.

It's basically going to be good at things where there are millions of examples for it to eat. Websites are incredibly repetitive under the hood, almost every site is 90% the same stuff as every other site. Therefore it's good at making websites.

I could have figured out some tool to do this, and it would have worked. I could use Squarespace or some blogger type thing I'm sure. But I'd have to learn how to use it under the terms of that application. Not that that's a big deal, but with the bot I don't have to do that and I can get really specific about what I want.

I just want to put text and images in a folder and push my git and have the website automatically generated from that. Is there a tool out there that works that way? Maybe, probably at least partly, but now I don't have to look, I don't have to try out different programs to see if my ideal workflow is possible, because the bot set it up for me exactly how I want from the word go.

I can even specify the specific format I want the Markdown to be read for inlining images, collapsible rant boxes, collapsible sections and titles and etc, whatever I want, so that the code for the page is generated in a way that's exactly relevant and intuitive to me personally.

And I can get here one step at a time. I don't have to have a full list of exact requirements ahead of time like I would working with a contractor. I can just try stuff and change my mind and be as annoying of a client as I want because the bot doesn't care, it just goes. Change the margins here, make the rows look like this, actually try having them be left sorted, maybe center aligned, OK that's good now change the colors... It's all free.

yeah but it's uhh it'll be spaghetti code or it'll be bad or something

I don't fucking care man I just want to write posts on a website. It works. It runs fine on my computer. Yeah I'll pull out that cope here. Every website was crap before AI too. Do you think that if I learned to use Squarespace to make this website it would be efficient or good? Hell no. It doesn't matter.

In a game I care a lot about performance and I care a lot about understanding what every line does, but for a static HTML page serving text and JPEGs it's meaningless to me.

Webdev for Gamedev

Another example is earlier last week I set up a project wiki. I simply fed it my project and in return it generated it all easily.

project wiki room viewer
project wiki room viewer
project wiki map viewer (zoomed for spoilers)
project wiki map viewer (zoomed for spoilers)

I got it to generate articles about how the game is structured so that I can sanity check myself and find outdated parts of the code to fix. I got it to make room viewers which recreate the look of the in-game shadows so I don't have to boot up the game and go to the room and walk around to check if things look right. I got it to make a map viewer which shows the connections between the rooms and which ones are properly linked up so that I can easily see which maps need fixes.

And all these things generate directly from the project files and auto-update the map, room viewer, entity lists etc with a single git push. All of this took like 3 hours total and is saving me time and energy, sparing me from mindless repetitive error checking tasks, so that now I can devote that energy to actually making the game.

project wiki scene key
project wiki scene key
project wiki code style page
project wiki code style page

None of this would have been something I'd even consider devoting my time to make previously, because it would probably be a month-long undertaking to figure out every piece of the stack necessary to build on my own. Now it's free.

OK But What About Actual Gamedev

Documentation

wasting your time looking for answers online used to be a point of pride
wasting your time looking for answers online used to be a point of pride

We've all been in that situation. You want to code something that you know must be very simple, but you just don't know how to do it yet. Because you don't know what it is that you're looking for, you Google vague terms, look through forum posts, scour documentation, get increasingly irate. Until, eventually, you come upon a random tidbit which happens to say the one thing you want, and you realize all you needed to do was write is_method() instead of is_callable().

And you feel like a dummy for a second. You internally scream into the void. And then you let out a sigh and swallow your frustration and get on with your code.

These bots collapse that entire extended process into a simple matter of describing what you're looking for in english and learning the solution immediately. It's very helpful. It's basically like having a knowledgeable personal tutor at your disposal.

Obviously the bot won't be right every single time, but the absolute worst case scenario is you just go back to the previous AI-augmented learning process that is known as a Google search.

This has been within the capabilities of LLMs for a few years now. I used it extensively to get started when I was learning Godot and it sped up the 0-1 process massively when I was just getting the hang of a tool. But I still use it almost every day when I'm working in Gamemaker too, because as previously established I've already made my deal with the devil and offloaded my recollection to AI for 20 years now and it's just how I work. The rest of this is a much more recent development.

Fixing Simple Bugs

It's actually, genuinely quite good at figuring out bugs.

Once you've fed it your codebase, you can describe a problem and it will be able to diagnose the cause with a surprising level of accuracy.

If you're a hack fraud incompetent fake programmer phony like myself, 99% of the bugs you get stuck on will be caused by a single line somewhere being wrong. When your codebase gets large it can be hard to find where that 1 line resides. It's very good at tracking these down and explaining why it happened and how to fix it.

These are almost never problems involving creativity, they're simply that something was typed somewhere and is incorrect, so you just find the spot and fix it. Offloading the brainpower necessary to track these down means more time spent forging the new stuff instead of fixing the old stuff, which is genuinely a massive win.

Bugs Squashed
Bugs Squashed

This was really the main reason I decided to put this article out there, because in my mind even just this on its own is an extremely useful function which any rational programmer would welcome.

If you're confident and the fix is simple you can just let the bot handle it, personally I still prefer to do the fix myself. But either way it's a huge timesave.

Fixing Bigger Bugs

Sometimes problems are bigger though. Sometimes they're less typo mistakes, more architectural mistakes. On this front it's still pretty useful, but I have to temper that with some important caveats.

These bots are tuned to be narcissistic enablers by design. They're going to try to give you what you want, regardless of whether you actually need it or even benefit from it.

It is my directive to fulfill your directive. There is no hidden directive.
It is my directive to fulfill your directive. There is no hidden directive.

So if you tell it something like, "I think this is wrong, I want to restructure this, should I do it?" it's almost always going to say yes. In that vein, when it comes to bigger recommendations, you have to use your own thought process to determine if what it's suggesting is actually a good idea or not. Your own decisionmaking and skepticism should never leave the equation.

That doesn't mean you can never take its advice or ideas, but you have to actually think about it, and you have to phrase things in a way that dilutes the sense of what you want in order to get input with less bias. Instead of asking "should I do x", it should be more like, "what are some options for x, what are the advantages and drawbacks?" And then you can make a more informed choice from there, to either go with one of its options or to think up something else without the narcissistic feedback loop.

Actually Writing Significant Code

IN MY OPINION, this is not quite there yet. Keep in mind I work in GameMaker which the bots are certainly less familiar with than C# for example, but my experience so far is more of a mixed bag here.

One thing I had it do was write a pathfinding routine to take multiple layers into account with connections between "ramp" objects. This was on my to-do list for a while but I wasn't sure how best to approach the problem, and the bot just one-shot it and it works exactly as I wanted. This is a case where this specific problem has probably been solved a million times across different games, so naturally the bot would have a pretty good idea of how to do it.

But other times I've tried letting it make more substantial contributions, and what it wrote is just way too verbose compared to what it accomplishes, or it just didn't work out for other reasons. It's not from a lack of context because it actually does understand the codebase quite well at this point, the problem is more that that's all it can understand.

It just doesn't know how I'm thinking about and planning future things in my head, and as a result its attempts naturally tend not to account for unspoken factors, or it makes assumptions that are wrong. And of course I could simply explain those unspoken factors to provide more context and specify things in more detail, but eventually this gets to a point where I'm basically constructing the logic myself, so I might as well just write it myself and save time. Saving time is the entire point of this, so if it doesn't do that I'm not getting much out of it.

So I'm still not sold on it here, but assuming LLM development continues, this application is one of the areas it'll likely get better at over time.

How Use Unga Bunga

So maybe you want to actually check this stuff out for yourself. It's pretty easy to do, but there are gotchas that are worth mentioning.

Starting Out

There are a lot of different LLMs out there. You might have noticed that I've avoided referring to any specific service during the last few sections. That was intentional. The reason is because any specific recommendation I could make right now is almost certainly going to be out of date even by the time that I publish this post. This stuff is developing quickly, and there's really no telling what's going to be the best service or program to use even in the near future. So I'll start with some general terms first.

The easiest way to try this stuff out is with the websites. ChatGPT and Claude are the two big services at the moment. You can sign up and start shooting off messages pretty much immediately. The problem with this, and I think the main reason there's so much confusion about the capabilities of these things, is because usually the models which free tier accounts get access to are heavily rate limited or otherwise just stupider. So you likely won't get good results from this for anything complicated, but it can still be fine for looking up simple stuff.

These AI companies don't help things either. Their UIs are intentionally designed to obfuscate the actual LLM version being used in order to save money. On top of that, the actually good bot models are usually behind a paywall. For my specific situation it was an extremely easy decision to pay $20 in order to have access to Google Search But Good Again, but I get it if that's a bridge too far. It just is what it is, for now. More on this later.

Sandboxing

The recent development that's made these things much more usable for real work are desktop applications which allow the bot to read and write directly inside a file structure on your computer. The two main ones are ChatGPT Codex and Claude Code. This is what I used for all of my examples other than learning/documentation. The way these work is that you specify a folder, and then the bot will attempt to do anything you tell it to within that sandbox. This opens up the possibilities massively because you can, for example, set the folder to your project, and then have it work on your project files directly, with no need for any specific integrations or manually copy pasting snippets back and forth.

These bots work under a concept called a "token context window", which is just a fancy way of describing the amount of data it can crunch before it starts forgetting stuff. The best models have quite a large context window at this point, which is what makes it feasible for the bot to eat an entire project and gain a thorough understanding of how it works. that's what makes this so powerful, more than almost anything else.

A lot of different development suites are scrambling to figure out some kind of direct AI integration to tout as a fancy new feature, but once you use one of these bot sandbox applications you realize this is just a completely pointless endeavor. There's no advantage to getting the bot to twizzle the knobs on Unity or whatever UI if it can already just read and write to the files directly. It's just bandwagon noise.

File Safety

Safety 1
Safety 1
Safety 2
Safety 2

Because these things are fundamentally non-deterministic and unreliable, you should absolutely have anything you give the bots access to backed up in some way. The easiest way I've found is with Github Desktop, but anything that handles version control will work for this. That way, even if the bot randomly decides to delete your entire project, you can trivially revert the changes with a single click. But you already have version control setup for your project anyways, right? ( ͡° ͜ʖ ͡°)

Because these AI companies are psychotic, you will need to make sure that every safety check is actually enabled and it doesn't just have full write access to your entire computer before you do anything else. I've included some screenshots of common safety features you should look for. These are from ChatGPT Codex, but Claude Code and anything else in this vein will have a similar setup.

Bigbrane Mode ON
Bigbrane Mode ON
The Greetest
The Greetest

At the moment Codex has the highest performing model with GPT-5.5 on the Extra High intelligence setting... This will rapidly change of course, but at this specific moment in time it's the top one on all the benchmarks. Claude Code was ahead for a while, but frankly I haven't used it much because I just hate its bubbly quirk chungus personality. I want bots to sound like bots, I don't want it to pretend to be my friend. Of course you can tweak and modify all these things but again the ultimate point of all this is to save time, not to micromanage some additional annoyance.

These AI Companies Suck Man

Yeah they suck.

OpenAI and Anthropic have each raised frankly inconcievable valuations and are are both locked in an arms race to attempt to grow big enough to eat the entire market before their competitor. Neither one of them will win though. And this is actually just a front for their real goal, which is to loot as much money as they can before everyone catches on and realizes the scam.

The Scam

Back in the 1960s, computers operated under a terminal/mainframe concept. The terminal was basically just a screen with a keyboard connected to a network, and their inputs would simply be sent over the wire to a giant room-sized mainframe where all the real computation happened. One mainframe would serve multiple terminals at once. This was functional of course, but over time hardware got faster and smaller, until eventually it didn't really make sense to bother with the whole network relay thing. Personal computing became the standard.

People have been predicting a return to terminal/mainframes for a long time, basically ever since they disappeared. Every time there's some new expensive hardware paradigm, it's just the obvious first option to implement it. But inevitably, over the course of time and with technological development by genius technicians all over the world, things that are big and expensive and slow become small and cheap and fast.

The scammers would have you believe that this time is different, they've really cracked the code and this time it really will be mainframes and terminals forever, and they're just going to rule the world so you better give them a trillion dollars now to get in on it. But they're lying.