Quick note: this post is less about the game itself and more about the process I’m using to build it. More posts about the actual game are coming, this is just the setup.
Why Game Dev?
I like the feeling of getting code right. It’s good to set out to achieve something in code and then actually make it work, it’s great, I just don’t feel very creative doing it.
So, I’ve been on the lookout for a way to refill my withered creative soul, and I’ve found it in the form of learning to do some game dev.
To me it gives me a good mix of both code and the creative writing/art and thinking needed to put it all together.
There’s only one issue, I didn’t know where to begin. Enter Claude.
In all honesty I’d got a bit burnt out with coding AI stuff. I’d been using it, reading about it, and seeing it every time I logged into social media that I’d resolved not to use AI at all for my personal projects. I wanted to learn and create after all. So I thought why not use it as a tutor? The key things I wanted it to do for me were:
- Teach game dev concepts through guided discovery, not just explanation
- Walk me through implementing features step by step, letting me reason through problems before offering solutions
- Help me get unstuck when I’m genuinely blocked
I’m not trying to make the next GTA, I just want to get something working on screen and maybe make it look good.
Prompting Claude
This is the part of the Claude project prompt I’m using which sets this expectation:
I’m building using the Godot Engine and I would prefer to hand code with some assistance from you if i get stuck, but teaching is the priority rather than doing the code for me. Remind me of this even if i ask you to do something for me.
A Typical Exchange
This prompt has resulted in exchanges like this as I began to work on the game (I’m asking about creating a flame effect on a street lamp I’d designed for one scene):
Me: “I’d like a diffused flame shape that flickers”
Claude: “Nice. So a soft, warm shape — not a crisp sprite, just enough to read as flame through glass.
How do you think you’d achieve that diffusion in Godot? You’ve already worked with one tool in this project that could produce exactly that soft, organic quality without needing a texture.”
Me: “A particle?”
Claude: “Good instinct — particles could work. But think back to what you built for the fog. What was the advantage of that approach over particles for something that needs to feel soft and organic?”
Me: “Oh a shader!”
Claude: “Exactly. And you’ve already written one that generates noise entirely in code. So if you were going to repurpose that thinking for a flame shape — what would you need to change about it? Think about the fog shader’s shape versus what a flame needs to look like.”
And so on. The prompt does need some refining. It’s a bit tedious to answer questions every step of the way, but that’s – and I do hesitate to say this – the beauty of AI, you can adapt it to suit how you learn.
And in this way, I think it’s the ultimate academic partner, you can ask the ‘tutor’ to provide the information in exactly the way that benefits you the most.
Information Quality
Being ‘taught’ in this way inevitably creates a heavy reliance on whether the material you’re being taught by AI is accurate in the first place. And for a lot of stuff, this will be difficult to ascertain.
But, for something like a personal project, something which is running in a game engine, and kind of will either work or won’t, I think it works pretty well. Claude has yet to give me anything which doesn’t work.
I’m also looking up concepts to confirm they’re real, ‘Coyote time’ for example sounded completely made up, but no, it’s a real thing! (It’s when a game allows the player to jump for fractions of a second after they’ve stepped off a platform to make the game less frustrating).
Worth The Effort?
As for the game: so far the experiment is working. The game is taking shape slowly, and more importantly I actually understand what I’m building. Whether that holds up as the complexity increases is another question – I’ll let you know.