Neon Circuit is a polished light-bike arena game inspired by classic Tron gameplay, with both local and online multiplayer modes. It is built with Python + Pygame for fast development and easy cross-platform packaging for Windows and Linux.
- 2 to 4 local players on one machine
- Online multiplayer over LAN/Internet (authoritative server + thin clients)
- Continuous forward bike movement with 90° left/right turns
- Solid light trails with instant elimination on collision
- Round-based gameplay with persistent scoreboard
- Retro neon visual style (dark arena + glowing trails/grid)
- Title screen, setup menu, gameplay, and round results flow
- Per-player customization before each round:
- bike color
- bike sound profile (Classic Synth / Deep Engine / Arcade Buzz)
- Procedural retro audio for bike hums, menu SFX, collision, and win sounds
- Build script for executable packaging with PyInstaller
- Player 1:
A/D - Player 2:
Left Arrow/Right Arrow - Player 3:
J/L - Player 4:
Numpad 4/Numpad 6
ESC= Quit (or pause from gameplay into result overlay)
UP/DOWN= select player rowLEFT/RIGHT= change selected player colorQ/E= change selected player sound profile[/]= change player count (2-4)ENTER= start round
R= replayM= return to titleESC= quit
python -m venv .venv
source .venv/bin/activate # Linux
# .venv\Scripts\activate # Windows PowerShell
pip install -r requirements.txt
python LightBike.pyYou can also launch with:
python -m neon_circuitRun one server and connect 2-4 clients:
# Terminal 1 (host/server)
python server.py --host 0.0.0.0 --port 25565
# Terminal 2+ (each player)
python client.py --host <SERVER_IP> --port 25565Online controls:
A/DorLeft/Right= queue turnS= start round (any connected player can start when 2+ players are present)ESC= quit client
Build on each target OS to produce native executables.
python build.pyThis creates a one-file executable in dist/ named:
- Linux:
NeonCircuit-Linux - Windows:
NeonCircuit-Windows.exe
python -m PyInstaller --noconfirm --clean --onefile --windowed --name NeonCircuit LightBike.pyTo distribute downloadable files:
- Build on Linux and Windows separately using
python build.py. - Zip the generated files from
dist/. - Upload both archives as release assets (e.g., GitHub Releases):
NeonCircuit-Linux.zipNeonCircuit-Windows.zip
LightBike/
├── LightBike.py # Main launcher
├── build.py # PyInstaller build helper
├── requirements.txt
├── README.md
├── neon_circuit/
│ ├── __init__.py
│ ├── __main__.py # python -m neon_circuit entrypoint
│ ├── app.py # State machine + menus + flow
│ ├── audio.py # Procedural retro synth/sfx
│ ├── config.py # Tunables, controls, palettes
│ ├── gameplay.py # Bike movement, trails, collisions
│ └── rendering.py # Neon UI + arena drawing helpers
├── server.py # Authoritative online multiplayer server
└── client.py # Online multiplayer client
The codebase is intentionally modular so you can add:
- AI bots (
gameplay.pyandapp.pyplayer injection) - Online multiplayer (replace local input layer)
- Multiple arena types (spawn and bounds presets)
- Power-ups and game modes (state + collision hooks)
Why Pygame?
- Very fast to prototype arcade mechanics
- Excellent keyboard latency for responsive turning gameplay
- Easy packaging into standalone executables with PyInstaller
- Runs reliably on both Windows and Linux with minimal setup