Following the tradition, fellow js13kgames comrade Ryan Malm created a track for the game. It’s good of course. I added it knowing it would bump us a little bit over the limit already, so I set myself into the early task of size optimization.
Including the music changes (library + song data) I started at a whooping 15481 bytes, that is 2169 over the 13,312 limit. After all the changes I ended at 12250 bytes, 1062 under. Most of the savings came from actually fixing the packaging process; due to an issue with the packaging scripts we weren’t really minifying thing correctly, so, once I set up roadroller we got about 1459 bytes back already, and further basic changes to make the most of it brought another 392 bytes. I additionally set up zopfli which gave us another 349 bytes.
Then it was time to start chopping things; always feels like throwing stuff off an airplanes’ door to reduce weight and survive:
- Drifting clouds: They didn’t look that good anyways.
- Starfield: Was there a starfield? I never saw one… a byproduct of leveraging too much into the agent.
- A good one was the flying rock “keel” under the game world; I replaced its somewhat convoluted geometry logic with seven scaled copies of the island’s own coastline stacked downward, which terraces into layered rock, costs less and looks cooler.

As for the UI, I removed things that were already visible some other way in the main map.
- Battle Roster Panel: The thing that showed details of battles was a bit buggy.
- The warband info panel bar (except for the “split” slider).
- Redundant data on the HUD including the cities-held count, progress bar and standings
- The city panel’s Ruler/Populace/Defenses rows and hint lines
- The event log.
Another somewhat related change had to do with the movement controls; I had landed a somewhat cumbersome UI to move the units, all trying to prevent unwanted movement when you had a unit selected and wanted to inspect a city, I decided to change it so that instead the cursor becomes a crosshair when movement would be activated.
Finally, I removed a small part from SoundBox’s library which is not used when you use createWave.

Leave a Reply