NIMBY Rails demo announcement and devblog 2020-05

An alpha demo of NIMBY Rails will be available to play during the Steam Game Festival, 2020 Summer Edition

The big development effort for this month was to do a big polish phase and bring up some game systems to prepare a demo build for the upcoming Steam Game Festival in June. This build is missing some important systems that are not implemented yet, and some others are only present as a placeholder. It also has a deliberately cut down map, just 1/20 of the size of the full world map. Most of the development effort for May was to devoted to preparing and testing this build and advancing development in some areas to make it more playable.

Internal development notes, very slightly cleaned up and commented a month later.

Map cut tool

For past year the game has always used a full world map, and it will still feature one when it is released, but I decided to cut it down for the demo. First, it is supposed to be a time limited demo, so other than not finding your corner of the world in the map (mine is not), there should be plenty of space to build a large network given the time if you wish to do so. Second, I may need this tool in the future, since the world map is a single file of around 20GB. I need to research how many Steam users are still using FAT32 formatted drives for their game libraries, and if it is a large amount, I may need to split the 20GB database into smaller files under 4GB.

Passenger demand system, stops braking and waiting, boarding/unboarding

A placeholder passenger demand system has been implemented, hooking into the existing population density simulation. Despite being a prototype it already delivers on some of the design goals, like travel demand based on the local station time while considering timezones. It is not very smart, but it is enough to simulate train occupation and boarding/unboarding at stations. Which also required braking and waiting for station stops, another first.

Cash system

The unlimited sandbox is a bit less unlimited now. Laying tracks and running trains has a price, and that price will now be paid against your balance. This is still a placeholder system: running out of cash is a non-event since you have unlimited “financing”, and trains won’t stop even if you run out of cash. But the game is now performing cash checks and tracking income and expenses.

Purchasing trains

The train editor was still a developer tool, having no cost to the user to purchase new trains, and allowing any kind of editing, like changing your train model or the number of cars at any time. This has now been cleaned up, and the game will enforce a purchasing step before you can run a new train. The train editing options will also be cut down. This is NOT enabled for the demo, since it has been developed after its final build, so cheat away!

Expose all the render options

The game has very flexible rendering and UI, allowing arbitrary resizing and scaling at any time, but some of the options were not available to tweak in the UI. This is now exposed in the options dialog, allowing to change all of them without a game restart. This is another change that is NOT enabled for the demo, in order to reduce the chances of problems from too many variables, given my limited capability for testing.