I managed to change the one global train object into a list. I had two trains running for a moment and it was cool.
This led to all kinds of other headaches. The drawing code is crappy and needs to be more modular. There is also no good user interface for this project yet. Since I planned on moving all of the code to direct3d, I didn’t bother to make normal Windows controls that are very friendly. It will take me a long time to get a feel for what the GUI should look like unless I just copy the GUI style from the most recent variation of Railroad Tycoon and Railroads. I don’t like the Railroads interface although I haven’t played the game all that much. it’s fun when I play it but it’s not engrossing enough for some reason. It sure is pretty.
One of the things that will be difficult about my user interface is the train routing. The routing of the mainstream games involves a map and the 3D view is not used. This would work for me as long as the map can be zoomed enough to set waypoints exactly where needed at any point on the track. There is no limit, like in the current games, of placing a waypoint on a station.
The surveying and laying of track is another issue but only because I’d like to make it more of a surveying mode and not a track preview mode. Cuts would then not show up as cuts until the line is being constructed.
And how do I do grade changes? The S.M. Railroads game seems to use splines for it’s track, which is great when surveying/routing from one track to a parallel track. I need that type of functionality at some point but with the added depth I’ll have in the surveying mode, a special click to add a turnout to a parallel track might not be a big deal. We’ll have to wait and see.
So back to the interface. I want to allow for manual control of the train. That will be interesting since I’d want to have the train direction through a turnout be selectable with the train controls and not something that needs to be done on the track itself. I’ll need to start making pictures of these things, maybe based on screen shots of other games.
Here is a picture of Railroad Tycoon 2. I sort of like the isometric 3d from those days. There’s a lot of extra detail that can be added to the visuals in the game if it doesn’t need real 3d rendering.
The interface has a lot of mode buttons compared to the Railroads screen shown below.
In Railroads, there are four modes with one of them being an extra track laying mode. The simplicity of Railroads is nice but it makes the game seem a bit cheaper.
Notice that both games have a mini-map. I didn’t bother to show Railroad Tycoon 3 because it’s very similar to RT2. RT3 does have an interesting feature where the routing can be done while the game is running. The routing map shows up as a mini map.
Tomorrow, I’ll start writing up some GUI requirements. Do I even need a mini map?