Logistics
Hello again, everyone! The next update will be logistics focused. New features are time consuming to code and do not add that much to write about.
Data
With this being the last post this year, I would like to start by talking about development stats. For me, it is always interesting to hear what it takes to build something and it only sounds fair to share some data about Sweet Transit (Also, as I said, there is not that much content to write about). I started working full-time sometime in November or December 2020, clocking more than 4.8k hours during that time and some before. It is more or less typical work hours, but every game dev knows that a lot of the problem solving happens when you are not 'working'.
Sweet Transit is made using my custom game engine with Monogame as a base. There is no good way to measure code, but using Visual Studio DPack Solution Statistics tool shows 206k lines of code and 1k files throughout 9 separate projects. The main project is the game, which contains 170k of those lines, and the other ones are server, custom tools, reusable libraries and testing. Work is mostly evenly divided between new features, UI, refactoring and bug fixing. These days I do not spend time on optimization as it is not really needed thanks to refactoring and efforts to have clean code all around. But to be fair, there are some classes that are scary to approach such as train movement calculations and I only have myself to blame.
Graphics are mainly done using Blender->Substance->After Effects->Photoshop stack with some custom tools in between to make it more straightforward. Currently, the graphics only folder has 190k different files and is 185GB. There are many different files, such as sprites, textures, references, project files and so on. There are also other smaller folders regarding UI, icons and design, all housed inside my PC and personal Dropbox as a backup. In the end, the Sweet Transit project folder has data worth of 250GB with only a build size of 2GB to show for it. Now imagine how many terabytes of backup AAA games have. Good advice here is to never do your maximum and forget being a perfectionist. Graphics take the longest to do and usually they are tied to the content. Make and optimize your pipeline with the visual goal of "good enough". As an example, my hourly limit to make a locomotive with its wagon is 30h and that includes going from an idea in my head to an iterated in-game sprite with all relevant data set. It is a lot knowing how many different kinds of content are needed to make a game. There are tiles, trees, decorations, villages, industries, people, goods, and it all adds up.
The biggest thing I learned during the past two years is just how many things I do not know. "Finish a game" advice is a golden one. Just don't start with your multi-year dream project if you value your sanity. Now let's talk about new features.
Undo and Redo
The long awaited undo feature is being worked on. A standard undo with CTRL+Z will remove or rebuild your last build step with a moddable history of 50 actions. Together with this will come a redo with CTRL+Shift+Z allowing you to go through build history both ways. It was less complex than expected. However, I believe that bugs and side cases will be all over the place. The QA team should have their hands full checking this one.
Blueprint Library
Blueprint Library should also be a welcome addition. Factorio and Dyson Sphere Program were the main inspirations. This panel will allow you to share blueprints, folders and rearrange them seamlessly using the game or windows explorer. Preview is interactable allowing you to zoom in, out and navigate.
I am not yet sure what to do regarding icons. Other game blueprints are more varied allowing industry specific icons to be used. But in Sweet Transit it is only rails and stations. Rendering a preview is an option, but if the blueprint is large then only noise will be visible. Feel free to share ideas as I will tackle this after the new year.
Steel Bridge
Bridges are still straight except for the steel one. Steel bridges will have corners now, allowing you to drag multiple shapes. Can't wait to see the new intersection designs!
Scenarios
There will be a new game mode! Newcomers are having a hard time learning how to properly use signals which is understandable. Experienced players need a place to test their solutions. Scenarios will solve both of these problems, allowing players to solve ever-increasing difficulty challenges and measure their throughput. And best of all, it is compatible with mods.
Build Mode
Finally, build mode will allow you to go to the map view for a general overview of where you can or can not build. There is still no ability to build in map view, but at least you will be able to zoom out.
Until the next week!