This is a kata inspired by Transport Tycoon Kata by SoftwarePark. You can find the original one here
It will include several exercises to create a nice transport simulation. Feel free to fork it and do them on your own with your own preferred language.
All exercises will be published in master
and a branch with
my solution (in Kotlin) will be published after a
while. You can always check my solution for guidance or propose improvements/discussion in the issues section. I'll
answer as soon as I can.
I was interested in Transport Tycoon Kata by SoftwarePark, and created my version of it. I've done it to practice some architectural principles, but after a while, I wanted to change lots of things and created one branch after another with no final purpose. It made me feel lost and demotivated, so I decided to do something similar, close to what I wanted, but starting simple and making it more and more complex with each exercise.
The "final" idea in my head is something similar to Transport Tycoon, where there is a map with cities and industries, where you deliver goods from one place to another using trains, trucks or other transport methods. Each transport method will have its vehicles and paths (railways, highways...)
So, let's start doing some exercises and have fun!
Create a simple map with a vehicle that moves from one point to another
Assign a route to the vehicle
Create some connections that routes should follow
Create cities in our map that generate passengers
Let's try to put everything together and start moving passengers from one city to another (and an optional visualisation exercise)
Now that we move passengers, let's do it properly, with railcars and trains with engines and different coaches
Let's migrate our current map to an amazing hexagonal grid!
What about other people wanting to create their own transport madness net? Let's create companies for everyone!
- PAX demand on cities
- Speed on entities
- Async PAX demand
- Terrains (forest, mountains, sea)
- Money
- Stops improvements
- Other type of transports
- Cargo & Industries
- Cargo Demand on cities
- Grow cities
- Parallel tracks
- Entities Collisions
- Signaling