For the GMTK 2026 jam, for the first time I decided to give the familiar agent a new task, of writing games. The result was interesting.
Table of Contents
I am no stranger to gamedev. I've watched a lot of channels, participated in a couple gamejams. Sometimes it's just fun to make things.
This month I was in a particular mood, and Game Makers toolkit hosted a jam that, through being being a popular channel, had many attendies. So I had tried my best to prepare.
When the jam started though, I was slacking, maybe the idea just wasn't coming through, maybe I was tired and busy. But either way, I was 2 days in, and I had no idea what to do.
What I decided to do is an experiment I once thought of heretical: what if I made a game, using a coding agent? In this case, Sol and Codex1
I once thought that game making is suited purely for human hands, as a lot of it is high-enough level that you'd want total control. The reader may share this thought, and just like me, start to question it at the end.
Spoiler: it was still work, and that made the game good.
1. Initial concepts
Passing around ideas with a chatbot, always leads to it saying dumb things, but that is never a bad thing, and quite expected even for a model like Sol.
It first gave me some unsatisfactory ideas that I quickly rejected. But this still helped me dig out things on the back of my head (besides, I had no actionable thing, anyway).
A bit of back-and-forth, it gave me a crumb. That crumb, then, really gave me a eureka moment. And this set me up for the whole game…
After that, we spent a good amount of time refining those ideas. I did not like its story idea, and gave it my own to chew. I decided to give the LLM a long list of all the games I liked,2 some other media, and while doing so, I remembered the game I had actually written about in my journal, that was actually quite similar in structure, which I added to the context, along with other games that I daydreamed of, in one paragraph each.
What came back is more materialized concepts, and my idea of the game felt far less vague and more concrete. I felt power in my hands, and still recall that feeling, reading through the logs. The machine was cooking, it felt like an extension of myself. It just needed a few more corrections, some more ideas and thoughts of my own.
And well, I let the agent make a first prototype. It was not good. It had misread my remarks, the game felt pretty bad. It was like it did not listen to me almost at all. Point out 10 issues, rebuild the game, and it still has many others. It does not feel like the game I want. I was frustrated, to say the least.
Figure 1: An example of my frustrated prompts when the model didn't give what I want
So it went like this for a good amount of time, and I did slowly get closer to what I wanted. It was just too slowly. And while writing a really long prompt, I realized I'd also need to grab assets, which brings into a short side-story chapter.
2. This one isn't about AI (kinda)
The competition explicitly disallowed the use of AI image and audio generators. So the next best way for the laziest person to get art, is by grabbing something pre-made. And I happened to have bought some 6 years ago in a bundle.
Problem though is it was Unity store assets. Unity recently decided that they don't want people to just click on the download button on the website - you have to install the hub, install the engine, start a project, and then download the assets. I did not want to do that.
I found out there are projects for handling this, put some data into a CLI and it handles the rest. 'Should be easy' - I told myself. I opened up a harness and let the agent do the busywork.
It did not pan out well. Turns out Unity is being really, really annoying about authentication. I was constantly being bugged about logging in on almost every attempt, because just giving all the cookies is somehow not enough. The login screen was also annoying in general. Not to mention the arcane APIs.
Another big part is that the agent itself was very stupid about all this. It first tried to tell me that you can just download it from the website. When I told otherwise, it kept trying to do that anyway. It took it a whole hour to realize that.3
The agent itself though, figured out that you probably need a hub because obviously, it has its own API keys too. The hub also was extremely annoying about auth, and this time the embedded webpage was also extremely buggy and I had to restart the application 3 times to get in. It then tried, failed, and then proceeded to try doing the same download trick again.
Anyway, I sat there for hours, until 4 AM, when I passed out.
When I woke up, I decided to just install Unity 6, install the assets from there, and extract. This only took a few minutes.
3. Last day rush
With the assets ready and much time procrastinated, I sought ought to build a much better game this time. With a prompt long enough that it doesn't fit on my screen, I gave it ultra code for that best experience. With Codex resets being so good, I thought there's nothing to stop me.
More game inspirations, more story ideas, more of that infodumping to steer the model just that right way, telling it to be as thorough as possible about game design. I told it to build an entire mood board, and it has. The subagents helped crawl Wikimedia, find references and ideas, and write them down to some files. It was getting somewhere.
And of course, the game still wasn't exactly what I wanted, it needed more cooking. But it was soon enough improving by a lot, becoming something likeable. Though the prompts were taking long…
3.1. Never tokenmaxx
And when the prompts were taking long, you realize you only have a few hours left to do all the rest of the game, while you were stuck on just the very core. The other thing you realize, is that you've been using up all your weekly tokens in one day.
Each prompt took an hour to evaluate, and by the third, I was hit with a warning about my usage. I had to intervene and set the reasoning down mid-execution, and I still ended with just 1% of my tokens left. And That is just one afternoon - I spent like half of the tokens the day before, when OpenAI decided to reset everyone's usage again.
It's insane how much inference costs can balloon when you're being reckless. Don't do it folks, xhigh is the most you'll ever need.
3.2. Last hours rush, and the mess
Having been left with no Sol tokens, I decided to actually open the project up in the editor. I did ask Sol to make it easy to extend, and it said that it made sure that is the case… Maybe I can get a bigger level in?
Figure 2: a godot editor window showcasing what Sol has built over the course of this journey.
I did not know it was possible, but despite, to my surprise, insisting to program the game in Godot, it decided to throw the engine out the window and treat the environment like XNA.
That's right, this one Node3D holds the game logic together. The main.gd file is 1500 lines of gdscript, and dynamically constructs 3D geometry, at runtime. And instead of constructing node trees, it decided to hardcode it in a way I did not care to read.
I spent some time sourcing some good sounds for the game, while struggling with the weaker model in the meantime.
I told GLM to fix the level situation. It made a script for turning the procedurally generated geometry into a scene. But it didn't really make it editable, or fix performance. Pointing that out just made it add a couple buildings. It did not fix the issue of the level being a hallway in the void, that I did not know what to do with. And to answer that it recreated the level, as a boxed in hallway, and to add details it just randomly placed the 3D assets in the level with no consideration of appropriatness.
The funniest part to me was how in order to fix the issue of rocket jumping over fences, it just made a taller fence, and an enemy placement you had to get over the fence to effectively damage.
With so many messups, I still moved forward. I added sounds, polish, music, broke the music, while another person helped me get cover art. As the deadline approached, I had to ship a build, even though it wasn't how I wanted it to be.
And so the deadline hit, and I'm left with my biggest short project.
4. Not done yet
Despite the jam locking games from updating during the voting period, I still felt the need to fix bugs to fix and I just couldn't let myself go.
So I prompted and prompted. Fix music, make use of correct sounds, fix all those mechanics, revamp the intro and somehow need several prompts to fix a black screen.
I worked on it for 5 hours, non-stop, because I couldn't let myself release a bad game without an apology. Onlly after that I sent it out to my friends in proper.
Even then, I realized that the game I had spent extra time on making better, feels worse.
5. Aftermath
Despite my worries, the game was positively recieved. It was hard and confusing sometimes, for sure, and also laggy, but the game feel, I somehow managed to nail, despite the time limit and the mid-development downgrade.
It really helped me to add a better description that explains better on how to play the game, with a video of me completing a playthrough in under a minute.
The biggest surprise to me was that people found a way to fall off the map. Playtesting reveals a lot of big flaws.
6. Conclusion
This was a chaotic, but fun experience. I got to learn a lot of things.
- First and foremost: better styleguides make better results. The more you yap, the more you get, and if you can point out images and articles on what you're talking about, the language model suddenly becomes fun, and helpful in the creative process. You should give your clanker your Tumblr moodboard.
Second: You need a mythos-class model to make good videogames like this. Anything lower removes the productivity advantage. Something that helped Sol so much is that it can, and decided on its own, to test the game end-to-end. It built a server hosting the web build of the game to drive it via websocket and take screenshots.
GLM only cared that the code compiled. Even when I told it explicitly to test the runtime, it was not thorough at all, and still made dumb decisions. Somehow, it thought, the main menu HUD was somehow causing the scene behind to be black. Once it removed the HUD, it just made the whole screen dark, and kept it this way until I recovered it myself.
- Third, about gamedev purely: People are far more forgiving than you may realized. I myself, thought the game was hot garbage and not very engaging at all, especially when it has just 3 enemy waves. Turns out a good premise and mechanics can really make a difference.
And for a surprise: I did actually lie, implying that I never used AI for games. A week prior I made test applications for iOS 6. Little fruit ninja clones. While the games, worked, they were not up to style, not fun enough.
What I realized, is that the difference between the horror fruit ninja, and Chronosword's Last Day, is the time and labor.
What makes art good, is the passion of its creator and the blood and sweat they're willing to put in to express themselves and entertain the other. An LLM by itself cannot build a personal story, you have to attach the person (yourself) to the project, the pieces of failure, or you will always get slop.
And in both of the games, I completely hand-waved the code and cared purely about the game experience. The code is slop, but that's not the problem. It's just how much I cared about the game itself. How much I wanted to yap about how every little piece fit together, about every game I wanted to smash together into a perfect storm and which I did not. In neither case did I care about architectural choices, despite being a systems programmer. It's okay to hand-wave the things you don't care about to focus on things that you do, it in no way ruins your art.
What Makes AI both good and bad is that however you care about which thing, is made more controllable. This makes it a good shitposting machine, this also makes it a good way of experimentation, and sometimes delegation. What makes slop is not the presence of the machine but the absence of the flesh. I don't think enough people understand that.4
6.1. Future work
For one, I'm really looking forward to making an extended version of the game. A full, ~10-15 minute chapter with better gameplay, detail, and perhaps replayability. There were a lot more concepts than those shown in the game, and a few I came up with post-release.5
For two: I want to make another game with AI, but this time, construct mood boards manually before prompting. I want to push agents further and do interestings things with them and have fun.
Frontier models don't have ears, but Gemma 4 12B does. I'm thinking of using it for sound design purposes.
Footnotes:
for the record, I do not support OpenAI, nor Anthropic or SpaceXAI; I just fell for the FOMO this one month. I will try not to fund the company if possible, going forward.
That part was fun, and I actually came back to replay a game on the list, beating it in 10 minutes. That prompt did take, at least an hour(?) to make from the distractions, though.
I think part of the whole stupidity was the fact that I was using DeepSeek V4 Pro, to save costs. This model is not very steerable, and the knowledge cutoff of 2 years ago really harms it sometimes.
I'm in particular pointing out many creative and technical works that were in some way assisted by machine-learning tools, in which the labor is dismissed and the author is harrassed for being passionate. People are choosing the wrong targets.
I don't know whether I would or could make this a commercial game. But even if it was one, I'd still release the source code publically
Comments (1)
I made a new game and this is how I felt about it.
RT: https://iskamag.com/posts/gamedev