The whole town from above
A showcase map with every building in the game, and the game now films itself: camera paths written in code, recorded frame by frame.
I wanted a few videos that show what the game is now, and I ran into two problems. The first was that no town I had played had everything in it. A real game takes days to reach the mine and the smelter, and the test map is a grid of buildings, not a town. The second was the camera. Flying it by hand with the mouse gives shaky, uneven shots, and every retake is a little different.
So I made a showcase map. It is an ordinary map file, written by a small script, with every building the game has so far: cabins and the farmhouse with its wheat fields, the well, bakery and brewery, the sawmill and logging camp, the mine and smelter, the machine and ammo shops, the rendery and bone mill, watch towers by the old shaft, lamps along the streets, the office and the schoolhouse. Twenty-eight settlers live there in households, with full stores and enough knowledge for everything. Maps could only place buildings before; now they can also put machines inside a factory and say who works there, so the sawmill starts furnished and running.
Getting it to load taught me a few rules the hard way. A map has to be 64, 128, 256 or 512 tiles, so my 96 became 128. Belts need knowledge, and the map placed them before the town had any, so furnishing now happens after the knowledge is granted. And a factory can only have one output pile, so the second cutter line runs its planks over a belt to the same one.
For the camera, every video is now a short piece of code: where the camera is at each moment, and what it looks at. This one circles the middle of the town while it sinks and rises again. Godot’s movie writer then records it frame by frame at a fixed thirty frames a second, so the result is smooth no matter how hard my computer has to work on a frame. My first try framed the town badly because the old shafts out at the mountains counted as part of the town; the camera now leaves them out. Each video also comes as a portrait short, which needed its own window size because Godot’s movie mode ignores the size you give it on the command line.