Where to begin with this type of project?

Hey everyone,

I’m an intermediate level web-developer. Most of my knowledge had been with backend server development and have a strong foundation in programming.

I recently got an itch to re-create a Train Dispatching/ Rail Traffic Control/ Rail Signal game (simulator). I don’t see any tutorials, or YouTube videos on how to make a game similar to this.

I was hoping to get a pointer or two to get started here.

My goal is to bring a game (sim) like, SimSig to the 21st century, and have it function and look similar to modern Centralized Train Control Consoles.

Again, I don’t even know how or where to start.

My initial hypothesis would be to start learning 2D game development.

What I’m looking for more specifically I guess is,

  1. Should I start by just drawing clickable individual rectangles to indicate tracks? is this something even possible?

and more importantly,

  1. Is Unity the right engine to develop this sort of application off of?

Thanks

All of the above is eminently doable, and I imagine one would do all of it in the UnityEngine.UI, with TextMeshPro and Images and such, and you’d write a series if scripts to interact with them and give the behaviors you want to the sim “engine” inside it all, that which encapsulates the business logic of your train control center.

The UI portion would likely be one giant long world board but placed inside something like a ScrollView that would present parts of it, like allowing you to scroll the full width, perhaps zoom in, etc.

To have even the slightest chance of success, you would need to get VERY familiar with anchoring and RectTransforms and how Canvas scalers work and nail all that down in advance, because otherwise such a complicated UI would get totally out of hand. You’d want to test constantly with different aspect ratios to ensure you keep the anchoring proper.

There is also the Unity UI Extensions package you can use to get all kinds of better UI stuff in your game.

Hey Kurt thanks for the response.

I’ve been super busy with work lately and was looking to get started soon on this. If you have the time, being that I’m absolutely brand new to game development, I was wondering where you think I should start?

In other words, should I focus on learning how to make 2D games? For example, would learning how to make a 2D side scrolling game help me learn how to make the Centralized Traffic Control simulator?

Everything helps. You gotta get actual time spent coding and using Unity, no way around that.

For what you’re contemplating you could get a LOT of mileage out of pre-made tweening programs such as LeanTween or iTween, which have their own APIs you need to get familiar with.

The key is when you are doing ANY tutorial is to make sure you are spending your time wisely, not just sitting there watching it all go by… you need to DO tutorials:

How to do tutorials properly:

Tutorials are a GREAT idea. Tutorials should be used this way:

Step 1. Follow the tutorial and do every single step of the tutorial 100% precisely the way it is shown. Even the slightest deviation (even a single character!) generally ends in disaster. That’s how software engineering works. Every single letter must be spelled, capitalized, punctuated and spaced (or not spaced) properly. Fortunately this is the easiest part to get right. Be a robot. Don’t make any mistakes. BE PERFECT IN EVERYTHING YOU DO HERE.

If you get any errors, learn how to read the error code and fix it. Google is your friend here. Do NOT continue until you fix the error. The error will probably be somewhere near the parenthesis numbers (line and character position) in the file. It is almost CERTAINLY your typo causing the error, so look again and fix it.

Step 2. Go back and work through every part of the tutorial again, and this time explain it to your doggie. See how I am doing that in my avatar picture? If you have no dog, explain it to your house plant. If you are unable to explain any part of it, STOP. DO NOT PROCEED. Now go learn how that part works. Read the documentation on the functions involved. Go back to the tutorial and try to figure out WHY they did that. This is the part that takes a LOT of time when you are new. It might take days or weeks to work through a single 5-minute tutorial. Stick with it. You will learn.

Step 2 is the part everybody seems to miss. Without Step 2 you are simply a code-typing monkey and outside of the specific tutorial you did, you will be completely lost.

Of course, all this presupposes no errors in the tutorial. For certain tutorial makers (like Unity, Brackeys, Imphenzia, Sebastian Lague) this is usually the case. For some other less-well-known content creators, this is less true. Read the comments on the video: did anyone have issues like you did? If there’s an error, you will NEVER be the first guy to find it.

Beyond that, Step 3, 4, 5 and 6 become easy because you already understand!