Chained Decos is a fast-paced parkour game built with modern C++20 and raylib. It features a custom physics engine with BVH collision detection, modular architecture, and comprehensive debugging tools.
Important
This project is under active development. Expect frequent changes and engine refactors.
- 3D Parkour Mechanics: Fluid movement system with momentum-based physics
- Dynamic Map Generation: Procedurally generated parkour courses with multiple difficulty levels
- Real-time Physics: Advanced collision detection and response system
- Multiple Game Modes: Test, Easy, Medium, Hard, and Speedrun difficulties
- Timer System: Cross-platform timer display with dynamic font scaling
- Integrated Map Editor: Full-featured level editor with real-time preview
- Particle System(Planning): Dynamic visual effects for enhanced gameplay
- Lighting System(Planning): Advanced lighting with multiple light sources and shadows
- Material Editor(Planning): Comprehensive material system for visual customization
- High-Performance Engine: Optimized rendering and physics systems
- Cross-Platform Support: Windows, macOS, and Linux compatibility
- Modular Architecture: Clean separation of engine, game logic, and tools
- Comprehensive Testing: Unit tests
- Advanced Debugging: Collision visualization, performance metrics, real-time tweaking
- Developer Console: In-game command console with Source engine-style commands
- CMake: 3.20+
- C++20 compiler: GCC 10+, Clang 11+, or compatible
- Git
-
Clone the repository:
git clone --recurse-submodules https://github.com/IOleg-crypto/Chained-Decos.git cd Chained-Decos -
Configure and build:
mkdir build cd build cmake .. -DCMAKE_BUILD_TYPE=Debug # Or Release cmake --build .
-
Run the game:
- Windows:
.\src\Game\ChainedDecosGame.exe - Linux/macOS:
./src/Game/ChainedDecosGame
- Windows:
For the map editor, add -DBUILD_MAP_EDITOR=ON to the cmake command.
- WASD: Move
- Space: Jump
- Shift: Sprint
- Mouse: Look around
- T: Emergency reset (teleport to spawn)
- F1: Toggle main menu
- F2: Toggle debug info overlay
- F3: Toggle collision debug visualization
- ESC: Pause/return to menu
- **~ (Tilde)**: Toggle developer console
help- Show available commandsclear- Clear console outputquit/exit- Exit gamefps- Show current FPSres <width>x<height>- Set resolutionfullscreen- Toggle fullscreen modevsync <on/off>- Toggle VSync
ChainedDecos.exe -fullscreen -width 1920 -height 1080 -novsyncAvailable options:
-
-width <width>- Set window width -
-height <height>- Set window height -
-fullscreen- Start in fullscreen mode -
-novsync- Disable VSync -
-map <mapname>- Load specific map -
-dev- Enable developer mode -
Tips: Build momentum for longer jumps, plan ahead, and use all movement options.
Edit game.cfg for settings like resolution, volume, and sensitivity.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Made with ❤️ using raylib, ImGui, and modern C++20