log #8: What has been happening?

Time interval: 2023-04-20/2023-09-28

It’s been a long time since I last made a post. I attempted to write one about a month ago, but stopped halfway in and never completed it. Now I’m going to quickly go through all the stuff that happened.

Single-track operation

After the last post, I went on a path to implement a rail system simulation, where each station would be accounted for. I spent a lot of time refactoring and writing, but after a while, I realized I wasn’t getting anywhere. I decided to go with a simpler approach which just extended my train spawning algorithm. It worked great so I kept it.

Telegraphing

I added a new entity to the game - the telegraphing table. It is used to send messages between neighboring stations. Your neighboring dispatchers would let you know about their train arrivals and departures and you would let them know about your departures. It was used to prevent single-track accidents.

Payrolls

I also added a scoring system to the game. In short, you get paid for correctly dispatching trains and finishing the day. You get less money for a train the greater its delay is, but you can never get negative money for it. There are also fines for causing accidents.

The playtest

I posted in the tophat discord server that the game is ready for another review. I got a lot of helpful feedback from Vasiliy. Among many bug reports, I also received critiques about the telegraping system. I was already having doubts about it myself so I decided to remove it for now (the code is still there, it’s just not enabled).

What’s happening now?

I’ve finally gotten back to the development after some time of inactivity. I’m slowly doing some maintenance work on the codebase and implementing some minor features. My goal is to play through at least one day without having to turn off the game to fix a bug, or to implement a quality-of-life feature. I’m currently in the process of figuring out assets for the game. In the meantime, I want to continue refactoring the codebase, since the current code quality isn’t very good.