How vusivus/street-rally-3d works
Street Rally 3D is a jMonkeyEngine racing game. Its principal flow is application startup into a car-selection/start screen, then race setup and vehicle control, checkpoint/lap-based race progression, and a results or next-opponent/level screen. The sampled code shows the game-state and race-logic handoff; start-screen actions and some subsystem wiring are only partially visible, so uncertain transitions are omitted.
Main entry points: RaceLogic.java Race logic · RaceObjects.java Race setup and state · PlayerNavControl.java Player vehicle control · CheckPointManager.java Checkpoint and lap tracking
Components 14
Application and menus
- Application startup
src/sr3d/Main.java - Start and car selection
src/sr3d/controls/StartScreenControllerState.java - Results and progression
src/sr3d/controls/nextLevelState.java
Race runtime
- Race setup and state
src/sr3d/game/types/RaceObjects.java - Race logic
src/sr3d/game/logic/RaceLogic.java - Game asset factory
src/sr3d/factory/GameFactory.java
Driving and progress
- Player vehicle control
src/sr3d/controls/vehicle/PlayerNavControl.java - Opponent driving
src/sr3d/controls/vehicle/AutomaticVehicleControl.java - Checkpoint and lap tracking
src/sr3d/controls/vehicle/CheckPointManager.java - Track motion paths
src/sr3d/factory/MotionPaths.java - Race calculations
src/sr3d/game/logic/GameMath.java - Vehicle control values
src/sr3d/controls/vehicle/VehicleControlValues.java
Race presentation
- Pause screen
src/sr3d/controls/PauseState.java
Other components
- Player
Connections 21
- Player → Application startup: starts game
- Application startup → Start and car selection: attaches state
- Start and car selection → Race setup and state: creates game state
- Start and car selection → Game asset factory: builds menu assets
- Race setup and state → Race logic: creates race logic
- Race setup and state → Track motion paths: creates track paths
- Race setup and state → Game asset factory: loads race assets
- Race logic → Race setup and state: reads race state
- Race logic → Checkpoint and lap tracking: attaches trackers
- Race logic → Track motion paths: uses race route
- Race logic → Player vehicle control: configures driving
- Race logic → Opponent driving: configures opponent
- Player vehicle control → Checkpoint and lap tracking: tracks vehicle progress
- Opponent driving → Checkpoint and lap tracking: tracks vehicle progress
- Player vehicle control → Vehicle control values: uses control values
- Player vehicle control → Race calculations: uses race calculations
- Opponent driving → Track motion paths: follows route
- Checkpoint and lap tracking → Track motion paths: checks waypoints
- Race logic → Results and progression: opens results
- Results and progression → Race setup and state: attaches next race
- Race logic → Pause screen: pause behavior