ParkLogic
View Repository ↗ParkLogic is an academic prototype and research-oriented simulation platform developed to model vehicle-facility interactions within procedurally generated environments. Built using C++20, the project prioritizes deterministic execution and high-performance graphics.
WARNING
Academic Limitations: As an academic requirement, the architecture diverges from modern game engine standards. It lacks an Entity Component System (ECS) and instead relies heavily on Object-Oriented Programming (OOP) paradigms. While sufficient for the project scope, this approach would not scale effectively for a production-grade simulation.
Engine Abstraction
A significant technical achievement in ParkLogic is the development of a custom abstraction layer atop Raylib. Rather than utilizing a standard Entity Component System (ECS), the project implements a sophisticated Object-Oriented framework tailored for simulation logic. This “pseudo-framework” manages:
- Fixed-Timestep Physics: Ensures consistent simulation behavior across varying hardware.
- Event-Driven Communication: A centralized Pub/Sub system for decoupled interaction between simulation agents and the UI.
- Procedural Generation: Algorithmic assembly of road networks and facility layouts based on deterministic seeds.
Agent Behavior
Vehicles operate as autonomous agents using steering behaviors (Seek, Arrival) and heuristic-based destination arbitration. While the project scope was strictly academic, the modularity of the underlying pseudo-engine (even without ECS) highlights a robust approach to building custom abstraction layers without heavy external framework dependencies.