
The tech stack behind a browser RTS
Five stack choices and what each one charged: a physics engine never allowed near the simulation, a renderer whose failure mode is a blank white map, and 1,266 files with no upstream maintainer.
Tag
Development posts tagged testing. Tags cut across the categories, so this pulls together work on the same subject from different parts of the game.
12 posts

Five stack choices and what each one charged: a physics engine never allowed near the simulation, a renderer whose failure mode is a blank white map, and 1,266 files with no upstream maintainer.

The whole map rendered flat white and nothing crashed. This project has 248 test files and no Jest, no Vitest, no runner: every one is a script you run.

Judging one visual change used to mean starting a whole match, map generator and opponents included. A lab loads one thing and holds everything else still.

Three.js reports a broken shader by printing to the console and carrying on, so the map went white with nothing recorded anywhere. This is what changed.

The 3D ground samples exactly sixteen textures, which is WebGL2's guaranteed floor. Adding one more does not degrade the render. It fails the shader link.

Eight players and hundreds of units on an ordinary home connection, because the world never travels. Only what you clicked crosses the wire.

The neutral monsters on every map were owned by player two, which is the seat a third player would sit in. That turned out to be the easy half of it.

Sixty four spells were coming out as the wrong kind of magic, and nothing had gone wrong. Two pages exist to catch the bugs that look completely fine.

Two binary formats, two parsers, one shared intermediate form, and a guard that throws rather than let a source game's name reach disk.

Twenty three cheat codes you type into the chat box, a commander who insults you for using them, and a hidden one that exists purely to film the game.

Losing a multiplayer match to a battle your opponent never fought. This is the check that stops it, and the deliberate bug that proves the check works.

Rewriting the pathfinder under an army of wargs meant comparing 18,000 routes against the old one. That only happens if each run starts without approval.