{"slug": "pinch-points-a-rust-game-with-crabs", "title": "Pinch Points – a Rust game with crabs", "summary": "Developer Arnaud Gourlay released Pinch Points, a kid-friendly routing game for 1-6 players built in Rust with Bevy, after using Claude Code with Opus 5 to generate the code from a specification document. The game, inspired by ChuChuRocket!, took about an hour for the first AI iteration but required extensive back-and-forth to fix bugs and maintain code quality, resulting in a 50 KLOC codebase that Gourlay says he doesn't fully understand or feel ownership over.", "body_md": "# Pinch Points - a Rust game with crabs\n\n[Pinch Points](https://github.com/agourlay/pinch-points) is a kid-friendly routing game for 1-6 players, built in Rust with Bevy.\n\nIn this game, players compete to save the most crabs by routing them to their respective castles.\n\nCheck out what it looks like!\n\nYou can install it from:\n\n- [prebuilt binaries](https://github.com/agourlay/pinch-points/releases)\n- `crates.io` with`cargo install --locked pinch-points`\n\nThe rest of the post is not the usual technical deep-dive article found on this blog.\n\nRather, it is my experience using **AI** to create a video game and what I learned in the process.\n\n## Motivation\n\nThe game is based on the mechanics of `ChuChuRocket!` developed by Sonic Team and released in 1999 on the Dreamcast.\n\nIn this game, up to four players compete to save mice from cats by guiding them into their rockets by placing arrows on a board.\n\nI was very fond of this game as a teenager; the gameplay is fast and so simple that everyone gets it and has fun.\n\nAs a programmer, I always thought that I could try to create something with similar gameplay while adding a few twists to modernize it and spice things up.\n\nFirst, the theme: no more mice and cats in space. Given how much I like Rust, I wanted to make it about crabs!\n\nI had a clear idea for the theme and the changes I wanted to make. This led me to think that creating this game could be a well-scoped task to gain experience with AI code generation.\n\nAfter iterating on a specification document, I handed it over to `Claude Code` with Opus 5 and experienced the magic of generative coding firsthand.\n\n## AI iterations\n\nThe first iteration took around an hour and was, retrospectively, by far the biggest productivity gain. All the boilerplate required to bootstrap the project and wire things together. The basic structure of the game was there; at first I was very satisfied.\n\nAt this point, however, the game was far from being done, because my specifications were not precise enough.\n\nWhat followed was a long and somewhat tedious process of going back and forth to implement certain things exactly as I wanted.\n\nAs expected, I did not know exactly what I wanted until I started playing the game myself!\n\nNot only were there a **lot** of bugs to fix, but new changes would often break things elsewhere in the game.\n\nWhile the coding agent was excellent at performing localized tasks, it was simply not good at preserving the global consistency of the game!\n\nFor this reason, I started putting constant pressure on the agent to improve code quality.\n\nAn easy first step is to look at code coverage to guide the generation of missing unit tests.\n\nThis helps prevent regressions but it is not enough to improve code quality.\n\nAfter checking the code superficially, I would find myself repeatedly asking for:\n\n- splitting large non-cohesive files\n- splitting large structs\n- introducing missing enums to replace fragile if/else cascades\n- adding debug assertions\n\nThe quality would slowly increase but it required regular attention.\n\n## End result\n\nTo be honest, I have mixed feelings about this experience.\n\nOn one hand, I am pretty satisfied with the game, I find it fun, and I've received some good feedback.\n\nOn the other hand, I am not satisfied with the creative process and that is not because AI is bad.\n\nQuite the opposite: in many coding tasks, I found it surprisingly capable.\n\nMy main issues are related to ownership and mastery.\n\nAlthough I precisely specified every aspect of the game through **many** playtests, I still feel like I do not own this game.\n\nWhat I do have is a 50 KLOC codebase whose internals I don't fully understand — unlike my other side projects, which I have crafted with care.\n\nYou got the thing you asked for, but because you didn't build it yourself, you don't feel that it is truly yours.\n\nAs the saying goes, \"Be careful what you wish for!\"\n\nIn any case, the game exists now, so you might as well enjoy it.", "url": "https://wpnews.pro/news/pinch-points-a-rust-game-with-crabs", "canonical_source": "https://agourlay.github.io/pinch-points-a-rust-game-with-crabs/", "published_at": "2026-09-07 13:08:13+00:00", "updated_at": "2026-09-07 13:28:07.988918+00:00", "lang": "en", "topics": ["ai-tools", "ai-products", "developer-tools"], "entities": ["Arnaud Gourlay", "Pinch Points", "Claude Code", "Opus 5", "Bevy", "Rust", "ChuChuRocket!", "Sonic Team"], "alternates": {"html": "https://wpnews.pro/news/pinch-points-a-rust-game-with-crabs", "markdown": "https://wpnews.pro/news/pinch-points-a-rust-game-with-crabs.md", "text": "https://wpnews.pro/news/pinch-points-a-rust-game-with-crabs.txt", "jsonld": "https://wpnews.pro/news/pinch-points-a-rust-game-with-crabs.jsonld"}}