Skip to content

An attempt at simulating transit networks with complex automatics and a near true-to-life physics model. Show, not tell.

License

LGPL-3.0, GPL-3.0 licenses found

Licenses found

LGPL-3.0
COPYING.LESSER
GPL-3.0
COPYING
Notifications You must be signed in to change notification settings

smallketchup82/OpenTransitSimulator

Open Transit Simulator

Note

When we refer to "AI" in this project, we do NOT mean machine learning or LLM's. The AI in this project is entirely chained logic & math.

Open Transit Simulator is our take on a public transit simulator. It is meant to be a near-realistic simulation of transportation systems. Utilizing a complex math-driven AI that constantly optimizes itself on the fly, processing a dozen different metrics in real-time to provide the best-case micro-management of an entire transit line. This simulator hopes to allow users to visualize & evaluate the efficiency of different configurations, routes, and transportation methods, across multiple lines spanning an entire network.

Show, not tell.

Features

This lists the main features planned for the project:

  • Core simulation engine
    • Different modes of transportation
      • Buses
      • Light Rail
      • Subways
      • Commuter Rail
    • Realistic physics modeling for each vehicle type
      • Acceleration and deceleration
      • Maximum speeds
      • Turning radii
      • Real-world units mapped to in-game distances and speeds
      • Fuel consumption and emissions
      • Maintenance requirements
    • Infrastructure elements
      • Roads
      • Rail tracks
      • Stations and stops
      • Signaling systems
    • Line and route management
      • Route creation and editing
      • Schedule creation and editing
      • Vehicle assignment to routes
      • Stop placement and configuration
      • Cost management (budget constraints, vehicle fleet limits, etc.)
      • AI configuration (efficiency focus for cost saving, passenger satisfaction, or balanced)
    • AI system (the following are only for trains at the moment)
      • Real-time vehicle tracking
      • Automatic separation management
      • Automatic station stopping and departure
      • Dynamic allocation of vehicles based on demand
    • Passenger simulation
      • Boarding and alighting behavior
      • Route choice based on shortest time, least transfers, etc.
      • Demand simulation based on time of day, location, and other factors
      • Satisfaction metrics (wait times, crowding, etc.)
      • Ticket pricing simulation
    • Traffic simulation
      • Interaction with other vehicles (for buses)
      • Traffic signal priority for transit vehicles
      • Traffic light timing simulation
      • Congestion simulation
      • Weather impact simulation
  • 2D User interface
    • Basic city layout editor
    • Route and schedule editor
    • Real-time vehicle tracking
    • Passenger load visualization
    • Extensive configuration options
      • AI behavior settings
      • Simulation speed controls
      • Visualization options
      • Physics model tuning
    • Performance metrics dashboard
      • Average wait times
      • Vehicle utilization rates
      • On-time performance
      • Operational costs

Many more features are planned but not listed here. All planned features can be found here.

Development

This project is currently in the (very) early stages of development. As a result, we do not have release builds or binaries available yet. If you're interested in seeing where we're at right now, or want to contribute to the project, feel free to read CONTRIBUTING.md.

Roadmap

The following are my estimated durations for how long it will take to implement certain features, and the overall timeline of when certain features are expected to be integrated.

Milestone Description Duration ETA (Sum of Duration)
Game Engine Completion Addressing everything in #12 4 months 4 months
Simulation Foundation Completion Adding in the pieces for the simulation.
Roughly translates to: adding locomotives, cars, rails, stations, switches, blocks & signals
2 months 6 months
Simulation Feature Completion Adding in the final pieces and making everything work. Roughly translates to:

- Making locomotives follow rails, and switching rails at switches
- Making carriages/cars follow locomotives
- Adding in physics engine (incl. collision detection)
- Adding in the AI (incl. pathfinding)
- Adding in rail yards
- Adding in passenger simulation
4 months 10 months
User Interface Completion Adding in a user interface, statistics, labels & details when hovering over trains, etc. 2 months 12 months

License

This project is licensed under the GNU Lesser General Public License v3.0. TL;DR: If you want to copy the codebase, making your own tweaks for your own personal use, while keeping your modified version closed source, that's completely fine! But if you plan on redistributing your modified version, we want your version to be open source. Feel free to contact me at ketchup@smkt.ca for any questions or concerns.

Credits

About

An attempt at simulating transit networks with complex automatics and a near true-to-life physics model. Show, not tell.

Topics

Resources

License

LGPL-3.0, GPL-3.0 licenses found

Licenses found

LGPL-3.0
COPYING.LESSER
GPL-3.0
COPYING

Contributing

Stars

Watchers

Forks

Contributors 2

  •  
  •  

Languages