In the silent graveyards of space, a ghost signal is calling. And you are the only one who can answer.
SIGNAL is a high-performance, data-oriented 3D game engine and the foundation for a single-player space exploration game. It is written in C99, features a pure Entity-Component-System (ECS) architecture, and uses the modern, cross-platform Sokol graphics API for rendering.
📊 Project Status: 98% test coverage | 60+ FPS | Sprint 24 (MicroUI System Improvements) Active
📝 Engineering Report | ✅ Sprint 24 Plan
- 6DOF Flight Mechanics: Full six degrees of freedom spaceflight with realistic physics
- Entity Component System: Pure ECS architecture supporting 10,000+ entities at 60 FPS
- Banking Flight Controls: Intuitive control scheme with coordinated turns
- Multiple Ship Types: Fighter, Interceptor, Cargo, and Explorer configurations
- Auto-Deceleration: Optional flight assistance for arcade-style gameplay
- Performance Optimized: Maintains 60+ FPS with complex physics simulations
Explore the game's lore through an interactive classified document interface:
./signalThe SIGNAL CLI provides an immersive terminal experience for discovering and decrypting classified intelligence documents hidden in the repository. Use passwords discovered during gameplay to progressively unlock secret lore about the Black Armada and the Aethelian Network.
- A C99-compliant compiler (e.g.,
clangorgcc). - macOS: Xcode Command Line Tools for Metal support.
- Linux:
build-essential,libgl1-mesa-dev,libx11-dev. - Python 3 for the asset compilation pipeline (
pip install -r requirements.txt). clang-formatfor code formatting (e.g.,brew install clang-formatorapt-get install clang-format).
The project uses a simple Makefile. The first build will automatically compile the assets.
# Clean, build, and run the engine
make clean && make && make run
# Run the automated test suite (98% pass rate - near perfect!)
make test
# Run specific test suites
make test-physics
make test-thrusters
# Run with flight test scene
./build/signal --test-flightKeyboard:
- W/S - Pitch control (dive/climb)
- A/D - Banking turns (coordinated yaw + roll)
- Space/X - Forward/backward thrust
- R/F - Vertical thrust (up/down)
- Q/E - Pure roll (barrel roll)
- Shift - Boost (50% extra thrust)
- Alt - Brake + Auto-deceleration
- Tab - Cycle camera modes
Xbox Controller:
- Left Stick - Pitch/Yaw control
- Right Stick X - Banking turns
- Right Stick Y - Vertical thrust
- Right Trigger - Forward thrust
- Left Trigger - Reverse thrust
- Bumpers - Roll control
The engine is organized into the following key directories:
src/: Core engine source code.core/: Entity-Component-System (ECS), math, and memory management.systems/: Gameplay logic (physics, AI, controls).render/: Rendering pipeline and graphics abstraction.asset/: Asset loading and management.ui/: User interface systems.
assets/: Game assets (meshes, textures, materials).data/: Data-driven game content (scenes, entity templates).docs/: All project documentation.tests/: Unit and integration tests.
For all technical documentation, development guides, and project management resources, please see the main Documentation Hub.