Blog

What an ai game maker is worth in a 48 hour jam

9 min read

A hackathon is a scope problem with a clock attached. Generation genuinely buys you hours in some places and quietly spends them in others, and knowing which is which decides whether you submit.

A jam is a scope problem wearing a costume

Almost every entry that fails to submit fails for the same reason, and it is never that the team was not fast enough. It is that they committed to something too large in the first three hours and spent the remaining forty five discovering it.

That means the useful question about any tool in a jam is not how much faster it makes you. It is whether it changes the amount of work in front of you, and whether it changes your ability to estimate that amount. Speed on the wrong plan does not save an entry.

Generation genuinely changes the first of those. It removes a real block of hours from certain parts of the weekend, and those hours are ones that jam teams have historically burned in the least rewarding way possible.

It also actively harms the second. It makes ambitious plans look reachable, and a plan that looks reachable at hour three is the classic way to end up with nothing at hour forty seven. Both effects are real and they run in opposite directions, which is why this needs to be thought about rather than simply adopted.

What it genuinely buys you

The plumbing is the big one. A jam game still needs a pause menu, a restart, a score counter, a scene transition, a save of the high score, a way to quit, and a title screen. None of this is interesting, all of it is required, and in a normal jam it eats a solid evening. This is the exact category of work that a model writing code into a real project handles well, because it is pattern rather than judgment.

Placeholder art is the second. A prototype that is all grey boxes is genuinely harder to judge than one with rough art, because so much of whether something reads is visual. Getting a set of rough sprites or props in the first hours means the rest of the weekend is spent judging something closer to a game.

Blocking out space is the third, if you are working in three dimensions. Rough geometry that exists so you can walk the distance between two points and feel whether the room is boring is worth having on day one rather than day two.

Sound is the fourth and the most underrated. A silent prototype gets judged unfairly, by you and by everyone else, because so much of whether an action feels good is the response it produces. Short generated impacts and blips are exactly the right level of quality for a weekend, and getting them in early changes how accurately you can assess your own game.

What it quietly costs you

The first cost is the illusion of scope. Watching a working mechanic appear in ten minutes recalibrates your sense of what a weekend contains, and it recalibrates it wrongly, because the ten minute mechanic is the easy half. The integration, the tuning, and the level built around it are the other forty hours and they did not get faster.

The second is debugging something you did not write. When a bug appears at hour thirty in code nobody on the team has read, you are in a bad position. It is usually recoverable by describing the symptom precisely and asking for a narrow fix. It is much worse if you attempt to read your way to the cause under time pressure. Decide in advance that you will report symptoms and not diagnose, because at hour thirty you will not have the composure to decide it then.

The third is the regeneration trap. If a change is easy to request, it is tempting to request a big one late, and a big change at hour forty can take out things that were working. After the halfway point, every request should be narrow and every one should be followed immediately by playing the game.

The fourth is variation paralysis. Cheap attempts make it easy to generate eleven versions of the enemy and pick none of them. In a jam, the second-best option chosen at hour six beats the best option chosen at hour twenty.

A shape for the weekend

Hours zero to two are for deciding, and nothing that happens in them should involve building. Pick one mechanic, one verb, one reason the player would keep going, and write down the losing condition. Write the pitch as a single sentence. If it takes two sentences, it is too big for the time you have.

Hours two to eight are for the vertical slice. One playable thing that has a start, an action, a consequence, and an end. It should be ugly. It must be playable, because everything from here is judged against it and you cannot judge a plan.

Hours eight to twenty four are the content pass. More rooms, more enemies, the actual level, the placeholder art coming in. This is where generation is worth the most, because it is the phase with the highest volume of low-judgment work in it.

Hours twenty four to forty are for tuning and cutting. Play it repeatedly, adjust the numbers by hand, and delete the feature that is not carrying its weight. Everyone regrets not cutting sooner and nobody has ever regretted cutting.

The last eight hours are for the build, the submission, and sleep. Which is the part that most needs saying.

Get a real build out at the halfway mark

Whatever you are making, produce a submittable version of it at the midpoint, however embarrassing. Package it the way the submission requires, put it wherever it needs to go, and confirm that a machine other than yours can run it.

The reason is that packaging fails, and it fails in ways that have nothing to do with your game. A file is missing. A path only exists on the machine it was built on. The export takes twenty minutes and you had allocated five. An asset that worked in the editor is not in the build. Every one of these is trivial with eighteen hours left and fatal with forty minutes left.

This applies with more force when you did not write the code, because you have less intuition about which parts of the project are fragile. The build is the only honest test and it costs half an hour to run.

Teams that do this submit. Teams that leave it until the end sometimes do not, and the game was usually finished. That is the most avoidable way to lose a weekend of work.

Placeholder discipline when the clock is running

Generated art is a strong placeholder and a weak final asset, and a jam is the one context where that distinction almost stops mattering, because a jam entry is a prototype by definition and nobody expects otherwise.

Almost. The failure mode that still bites is consistency. Two calls do not match, and a game made of forty individually decent images that disagree with each other looks worse than one drawn in a single flat style. In a jam you cannot afford an art direction process, so use a cheap substitute: pick a small palette in hour one, generate everything against the same short description of the style, and accept a lower quality bar in exchange for the set agreeing with itself.

Then do one pass, near the end, on the three things a player looks at most. The character, the main enemy, and whatever is on screen when the game starts. Improving those three moves the impression of the whole thing more than improving thirty background props.

Everything else can stay rough. Nobody has ever marked down a jam entry for a placeholder crate.

Working in a small team

In a team, the interesting change is what people fight about. When implementation was slow, the argument was about what could be done in the time. When implementation is fast, the argument is about what should be done, which is a better argument to be having and a harder one to end.

Appoint someone to decide. Not to have the best taste, just to have the last word, because in a forty eight hour project the cost of an unresolved disagreement is measured in hours and the cost of a slightly wrong decision usually is not.

Split by area rather than by layer. One person on the core mechanic and its feel, one on the level and its arrangement, one on art and sound. Splitting by layer means everyone is touching the same things and you will spend the weekend colliding.

And have one person whose job includes playing the current build every hour and saying what is wrong with it. On a team of three that person is also doing something else, but the role should exist explicitly, because otherwise nobody plays the game until the end.

Say what you used

Many jams now ask, and where they do not ask, saying so anyway costs nothing and settles a question people would otherwise wonder about. A line in the description covering what was generated and what was made by hand is sufficient.

Check the rules before you start rather than after you submit. Some events restrict generated assets, some restrict generated code, some restrict neither, and some care only about whether you declare it. These rules vary and they change between events, so read the current ones rather than assuming.

Being straightforward about this also tends to produce better conversations afterwards. People are far more interested in what you decided than in what produced your rocks.

What the weekend is actually for

The output of a jam is not the game. It is the answer to a question, and if you chose the question well the answer is worth much more than the entry.

Decide in hour one what you are trying to learn. Whether this mechanic is fun. Whether you enjoy working this way. Whether a particular idea survives contact with an actual player. Then when the weekend ends you have something, regardless of whether the entry was any good.

The faster tooling makes this better rather than worse, because the number of questions you can answer in a weekend goes up. That is the genuine gain here, and it is a bigger one than a slightly more polished entry.

Afterwards, the useful thing is to take the one part that worked and rebuild the rest around it deliberately. Jam code is jam code, whoever wrote it. The idea is what you keep, and the idea is the part no tool produced.