Project Description:
Design client/server game that allows multiple engineers to operate trains in real time on a shared track layout.
Project Requirements:
- Construct a track layout that can support multiple trains and turnouts
- Server assigns trains to clients or makes them wait for one
- All clients can see all trains moving along the track
- Engineers can adjust speed and direction of their train and adjust turnouts
- Detect and prevent collisions
- Use Operating system concepts to deal with race conditions, resource allocation, and scheduling
- Deal with starvation and deadlock
Project Timeline:
Also check out the presentation that I gave about this project.