Remix.run Logo
▲ bob1029 7 hours ago

> I stand by a lot of what I’ve said, but am in the process of shipping a project where I’ve also used none of this. I think the scale I’m targeting here is really larger projects.

The author appears to be on track to learn an important lesson about LLMs and art. LLMs have completely solved the coding side of game development. But this was never the hard part. Not even close.

The fixed randomness and determinism thing sounds great on paper (all of this does), but in reality this is an extremely confining way to build a video game. Ensuring you maintain determinism across many platforms is where things get super nasty.

If you want a turnkey AI game development experience, why not double down on diffusion? This sidesteps virtually all of the tooling and integration concerns. There is no game engine to integrate with if you use a diffusion model.

▲apf6 3 hours ago | parent | next [-]

> But this was never the hard part. Not even close.

This is revisionist history. Coding was definitely one of the hard parts!

▲w4yai 3 hours ago | parent [-]

If we're talking about game development from the 10 last years, it's not hard. It's long, tiring, sometimes boring. But most of the coding is already solved, done and reinvented maybe 50 times already. It's not hard as in "I need to think deep into solving this issue none ever solved".

▲sneurlax 3 hours ago | parent | next [-]

> It's long, tiring, sometimes boring

all those things equal time and money eg. difficulty

▲drusepth 2 hours ago | parent [-]

I'm not sure time or money inherently equal difficulty. There's plenty of things that take a long time to build and/or are expensive to build, but are still easy to build.

▲dimgl an hour ago | parent | prev [-]

Sorry, but no. This is not true. It definitely was hard. So hard that few people actually made games. I remember using GAS (Unreal Engine) and being baffled by the complexity of the framework. And then when I didn't use GAS, I was baffled by the complexity of what it handled. It's hard.

▲pton_xd 7 hours ago | parent | prev | next [-]

> LLMs have completely solved the coding side of game development.

This is not quite true. Currently you still need to give them guidance on what type of architecture would best work for your game, or after many iterations on gameplay you'll end up with terrible performance and a complete mess of a codebase. I expect that will be solved sooner rather than later, though.

▲LogicFailsMe 6 hours ago | parent [-]

Indeed, not even wrong. And it will whiff on the most basic gameplay issues. But it is still genuinely impressive how fast it can build a pretty but unplayable unfun thing out of nothing. And that's after many rounds of planning with it as it proceeds to ignore all that planning just because it can.

PS no, I am not interested in your alternative harness that will supposedly 100% trust me bro fix all these issues

▲icantevenhold 2 hours ago | parent [-]

I just built a fun somewhat clone of an old game I used to play as a kid within a day purely with LLM, i didnt even look at one line of code, nor do I have any experience in game dev. Also was a single planning session and it executed the plan well.

Fwiw I tried the same thing ~a year ago and the result was horrible; like so much worse.

Sure it’s not AAA, the art looks like shit and most people would probably not enjoy it - but it was fun for me to play and I’ll work on it a bit more to see if I can bring it into a state where others can enjoy it too.

▲glimshe 7 hours ago | parent | prev | next [-]

I partially agree. Coding is not the hardest part for a large portion of indie games. You can in theory build an AI-coded game that sells well if you have the right art and gameplay.

But many top games have complex engines and online services that require technical mastery beyond the current AI capabilities. For those genres, engineering is a huge barrier of entry.

For a not so extreme example, you won't vibe code Cyberpunk 2077 while just taking care of art and gameplay ideas. Gosh, humans could barely pull that one off!

▲rrradical 6 hours ago | parent | prev | next [-]

> The fixed randomness and determinism thing sounds great on paper (all of this does), but in reality this is an extremely confining way to build a video game. Ensuring you maintain determinism across many platforms is where things get super nasty.

Why 'nasty'? I agree it's a problem to solve, but you just use a fixed-point math library and it's fine. Determinism is freeing, not confining. It allows you to do things like rollback netcode, replays and easy debugging. You can't just say that 'reality' happens to be what you in particular are used to.

▲avaer 5 hours ago | parent [-]

> Why 'nasty'? I agree it's a problem to solve, but you just use a fixed-point math library and it's fine.

Assuming the agent didn't put in a native nondeterministic trig function deep in the code instead of using the library one, it's an easy mistake to make and hard to debug in a big game. It won't even show unless you have a robust CI matrix. It can indeed be "nasty" to maintain.

Also determinism might work for simulation state, but shader/gfx differences across platforms can be really nasty and a library can't save you. Not even something like WebGPU. Also if you're doing any sort residency streaming dependent on GPU timings trying to make that deterministic will be a nightmare.

▲rrradical 2 hours ago | parent | next [-]

But that CI is very easy to setup.

Take a given start point; feed a set of inputs; compute a checksum on the resulting state. Check that the checksum matches on different platforms.

And if your language is good you can parameterize your logic on a particular numeric type, so that a particular fixed point implementation is consistently used

▲mypalmike 5 hours ago | parent | prev [-]

Unless the GPU output is feeding back into the game loop simulation, there’s no nightmare.

I’ve worked on games with intentional determinism, and it’s a very valuable tool. A playtester can hand a dev a recording of the game inputs (including clock) for whatever bug they encountered, and the dev can fast forward to the exact point and repro it 100%. The amount of time saved chasing down difficult bugs is enormous.

▲simonw 6 hours ago | parent | prev | next [-]

> Ensuring you maintain determinism across many platforms is where things get super nasty.

I learned that one the other day - I've been building a little RTS game with a replay mechanism, and replays in Safari broke where they worked in Chrome. Opus 5.5 fixed it by replacing calls to things like Math.sin() and Math.cos() with its own deterministic functions: https://gist.github.com/simonw/7df96ed7296c69b70a9990102cae0...

▲dogsbarkdogsbyt 6 hours ago | parent [-]

[flagged]

▲wccrawford 5 hours ago | parent | prev | next [-]

I think it's more generous to say it's not the only hard part. It's certainly very, very hard for a lot of people.

▲aaronrobinson 3 hours ago | parent | prev | next [-]

LLMs certainly haven’t solved coding.

▲kkukshtel 4 hours ago | parent | prev [-]

hello, author here!

It's definitely not my intention to try and describe ways for making game development be more turnkey. I'm more trying to directly address ways to make non-one-shot (read: actual) game development be more tenable when an agent is involved.