# Very Average Prototypes

> Source: <https://goodnameforablog.com/posts/very-average-prototypes/>
> Published: 2026-07-04 03:40:25+00:00

# Very Average Prototypes

Earlier this year, I decided to give AI coding a go. In general, my emotional reaction to doing so was “anger and frustration”, but I found if I used it carefully it sped up what I was doing. It ate at me because all the ethical arguments against using it were strong.

Yet, well, indie game dev is a brutal industry that’s only getting harder, I was feeling dispirited, and doing largely solo dev meant that if I could speed up some aspects of what I do… I should at least consider it.

I found using it for boilerplate code I’d done a million times was useful. Writing some extremely bland config file loading code was boring, frustrating, and, I thought, a reasonable use for a system that tokenises text.

Sure, it produces average code, but if it’s for an average and creatively muted part of your project, what’s the problem? For a while, that’s what I used it for. Boilerplate crap, so I could focus on rendering code, logic code, design, and other things. It actually, for a while, felt kinda freeing. I felt like I could do more -design-. And after all, isn’t that really made indie games good?

So I took it a step further. I decided to use the LLM coding tools to prototype a bunch of game ideas I’d had floating around, just to determine what my next project would be. Surely, this would be a viable use for LLM coding? I’d get to the “yes or no / fun or not fun” part of a prototype faster, and that’d help me move on to doing the good stuff faster. Right?? (No points for guessing where this is going.)

I made 3 video game prototypes, ones I’d wanted to do for years, in record time. I even admit a bit of a rush when I realised what “I’d” done.

My logic was, this was still my design. I could jettison the bad code if I decided to take the prototype to production. (A lie we all tell ourselves, and I frankly should have known better.)

Also, for context here, I want to specify what *I* did for these prototypes: I made or bought the art (placeholder art quickly knocked together by me, or using assets I bought from itch), I did the broad design, wrote pages of technical notes on the actual game logic and structure, and actually did code review of everything the garbage machine produced.

*(Which, honestly, sucks. You can tell yourself you’re going to vet the code LLMs produce, but that just turns you from being the person doing the interesting thing to being a manager without any actual humans to manage - which was a career future I had specifically rejected by going solo-coder indie. So you get bored of it. You go from reading and code-reviewing everything to just skimming it. Soon you barely even do that. LLM code generation breeds laziness, because managing its output is a fucking boring task.)*

So there they sat. Three prototypes, made in record time! Each contained small slices of game content, working systems, sometimes even with surprisingly decent graphics due to the art packs I’d bought for them.

But something was off about them.

**None of them were fun.**

All felt soulless.

Why? They were still my ideas. I’d made tons of prototypes before. Almost all were more fun than these, even ones I decided not to pursue. What had gone wrong? Surely I hadn’t genuinely come up with three bad ideas in a row. There had to be SOME value in at least one of them.

That’s when I began to work on a different prototype. Frustrated, I grabbed a notebook, went out with a controller, and sat in a cafe. I imagined this new prototype in my head. I grabbed the controller, imagining the screen and figuring out which buttons would do what.

I wrote these down.

Then I drew game screen mockups, pencil on paper.

Where would I put this information? How much would the player need to know? Graphics, fuzzy text, or numbers for this bit?

With this done, I went home and began my fourth prototype. For this one, I did it the proper way. The way I’d always done prototypes. I yoinked rendering code out of other games if I didn’t want to write it from scratch for a prototype. I grabbed art from other games, periodically stopped to create some actual new art, and just let it take the time it needed to take.

The end result was a prototype I’ve been posting about as [sekrit project] for months now, and it’s close to being ready to announce/post about. I really love it.

What was different with this prototype? Why did the pen and paper and the hand-written code have such an impact on it? Was it just a better idea?

I compared the prototypes. All four prototypes worked, and all four were my original designs. Why was the fourth one cool, and the others very… average?

That’s the word that stuck with me. Average.

As so beautifully described in [this video](https://www.youtube.com/watch?v=WeCSzEtZcUw), it’s about ceding control. It happens in increments, and suddenly you’re making fewer decisions.

LLMs are averaging machines. Every answer they produce, everything they do, fundamentally comes down to the most likely result. Meaning for every tiny creative decision you cede, however small, the decision will be “made” by the LLM and given the most average possible answer.

The temporary HUD and interface for the first three prototypes were exactly where you’d expect them to be in a video game. If I didn’t specify what colour or what size to make a button or precisely what wording to use, the LLM would pick the most obvious one. So, sure, I made the overall design and gave a lot of specificity in my prompts, but no matter how many details you put in a prompt to an LLM, there are still decisions you’re ceding to it.

The HUD and style of the fourth prototype was specific, in every way. I chose to keep it minimal, using colours and simple icons rather than temporary text like the LLM had often used in the earlier prototypes.

Those first three prototypes may have been my game ideas, but they weren’t entirely mine in execution, and they felt soulless as a result. It’s possible I could have done something with them, but my motivation was gone. I’d seen the most average possible version of my idea, and it sapped my love for the concepts.

I poisoned my own mind. Maybe I can go back to them in future, starting from scratch and doing them the right way, but for now, they’re shelved.

As [Ron](https://mastodon.gamedev.place/@grumpygamer/116859006375192154) points out, coding IS creative. But more than that, every line of code you write has some small creative choices you don’t always see.

If you indicate that an object should move, an LLM would pick a standard tweening function to accomplish this, probably the most commonly used one. If you code an object to move, you make that choice.

The difference between even a simple game prototype that was hand-crafted rather than sharted out of the maw of an ethically fucked averaging machine is huge, and I wish I’d never made those first three prototypes.
