Solo dev, not a programmer.

四个月前我开始构建 TRAPPIST-1,这是一款设定在真实 TRAPPIST-1 系统中的殖民策略游戏。你在六边形星图的行星上采矿并建造,运营供应链,并与轨道力学争斗以将货物送入太空。没有舰队战斗,但也没有人阻止你以非常粗鲁的速度向对手殖民地发送几千吨铁。

视频是当前 alpha 版本的演示。下面是工具最终如何分工的情况,包括表现不佳的部分。

Before code, I wrote a design doc. I’d argue the design out with Claude, then hand it to ChatGPT and ask it to find the holes. Two models disagreeing on implementation turned out more useful than either one agreeing with me. Four months on that doc is a guardrail: a new idea either fits it or gets canned.

Claude for code (Godot 4, C#)

Orbital physics came first and the game came later. The simulation is a separate headless C# core that the Godot client only reads from. It has a Lambert solver, Kepler propagation, and elliptical orbits from published papers on the real TRAPPIST-1 system. On top of that sits a hex grid wrapped around each planet (about 8000 cells each), with terrain generated from a research-derived geophysical ruleset.

Working with Claude Code:

  • Having the AI build automatic tests is your real code reviewer. There were 100+ of them by the end of the physics phase. If any changes break the physics models or the economy loop, the agent goes into the code again.
  • Make the model read the current devlog file before it patches anything.
  • Work in small commits on branches, so a bad idea costs you a revert and not an evening.

ChatGPT for QA and 2D

Every major milestone finished, give the repo to Astra with max tokens. Ask it to find anything wrong it can. Feed the inevitable list of errors back to Claude for fixing.

For 2D, ChatGPT paints and Claude can’t, so ChatGPT generates the icons from scratch. Claude then cleans them up in Python: background removal, edge defringing, resizing to spec. That’s 65 icons so far. Each model does the half it’s actually good at.

3D, or: the Tripo disappointment

I really wanted Tripo to work, and turn my 2D buildings into beautiful 3D. Smart Mesh even lets you set a polycount. For hard-surface sci-fi hardware, practical results ranged from “melted Star Destroyer” to “what the fuck”.

The first fix was hooking Claude up to Blender over MCP and having it model from a written brief. The six-wheeled prospecting rover came out at 3,450 triangles with a baked texture. It won’t win an award, but it reads fine from a strategy camera.

The second fix was finding out that NASA gives away 3D models of its real hardware, commercial use included. The colony ship is three Gateway modules in a trench coat. The lander is a scaled-up module with a Mars lander underneath and two Shuttle boosters strapped on. Claude decimated them (reduce polygons), repainted them in the game’s palette, and stripped the logos.

ElevenLabs for music

ElevenLabs generates one track per prompt, so getting a coherent soundtrack is a prompting problem. I write a shared style block (instruments, mood, a list of banned things like choirs and dubstep drops) and paste it under every track prompt. I generate the opening track several times until the motif is right, then prompted the closing tracks to call back to it. Similar process for sound: Claude has the design documents and the whole game repo. Ask it to design the prompts for sounds too.

Where it is now

It’s an alpha with recently added win condition: Reach your first arcology. Next step are AI rival colonies that roll random personalities. Some will trade with you. Some will attack you. Some will offer to link your systems together and then use the link to switch your factories off. You get the idea.

Steam page is up if you want to follow it: https://store.steampowered.com/app/5423750/TRAPPIST1/

Subreddit:
https://www.reddit.com/r/TRAPPIST1/

Happy to go into more detail on any part of the pipeline.