A compact yet powerful and flexible C++ Game Engine designed for modern development needs with multi-engine and multi-window support.
This project is currently under active development. Many features are incomplete or subject to change. Use at your own risk for production applications.
This project is being rewritten from the ground up in Rust. The original C++ codebase will remain here for reference, but all active development has moved to the Rust rewrite. The new version preserves the same design intent and identity as the original — rebuilt layer by layer as independent libraries. Expect breaking changes, incomplete features, and significant structural differences from the C++ version.
- Multi-Engine Architecture: Run multiple independent engine instances simultaneously
- Multi-Window Support: Each engine can manage multiple windows with independent rendering contexts
- Easy Integration: Simple API and comprehensive documentation (Work in Progress)
- Hot-Reload Ready: DLL-based architecture enables dynamic loading and reloading
- Extensible: Modular design allows for easy customization
- Well-Tested: Comprehensive test suite ensures reliability
- Self-Contained: All dependencies included in the repository
- Operating System: Windows (macOS and Linux support coming soon)
- IDE: Visual Studio 2022 with C++ development tools
- C++ Standard: C++20 or later
- Dependencies: Everything is included in the repository - no external setup required!
# Clone the repository
git clone https://github.com/Retroboi64/Project32.git
# Navigate to project directory
cd Project32/Project32
# Open solution file
start Project32.sln
# After Visual Studio opens: Build → Build Solution (Ctrl+Shift+B)- Open Visual Studio 2022
- File → Open → Project/Solution
- Navigate to
Project32/Project32/Project32.sln - Build → Build Solution (Debug/Release — Only x64 is supported) (or press Ctrl+Shift+B)
- Game Development: Build games with multiple viewport support
- Editor Tools: Create Unity/Unreal-style multi-window editors
- Simulation Software: Run multiple simulations simultaneously
- Debugging Tools: Split game and debug views into separate windows
- Multi-Monitor Setups: Leverage multiple displays effectively
Project32's unique multi-engine architecture allows you to:
- Run multiple independent engines in the same process
- Each engine has its own window manager and render context
- Engines can run simultaneously or be controlled individually
- Perfect for complex editor scenarios or multi-view applications
- C API: Core exported functions for DLL interaction
- C++ Wrapper: RAII-style P32::Engine namespace for modern C++
- Instance Classes: EngineInstance and WindowInstance for object-oriented usage
┌─────────────────────────────────────────────┐
│ Editor (High Level) │
│ - Visual tools, scene editing, debugging │
└─────────────────┬───────────────────────────┘
│ uses
┌─────────────────▼───────────────────────────┐
│ Public API Layer (C++) │
│ - Clean, stable interface │
│ - Lua bindings (WIP) │
│ - User-friendly functions │
└─────────────────┬───────────────────────────┘
│ calls
┌─────────────────▼───────────────────────────┐
│ Core Engine (Low Level) │
│ - Renderer, Window, Input, Threading │
│ - Direct OpenGL/graphics calls │
│ - Performance-critical code │
└─────────────────────────────────────────────┘
For detailed documentation, examples, and API reference:
- 📖 Documentation Site (coming soon)
- 📁 Check the
docs/folder in this repository (coming soon) - 💬 Join our discussions for community support (coming soon)
We welcome contributions! Please see our Contributing Guidelines for details on how to:
- 🐛 Report bugs
- 💡 Suggest new features
- 🔧 Submit pull requests
- 📝 Follow our coding standards
This project is licensed under a custom MIT License with Attribution Requirements.
- ✅ Free for personal and commercial use
- ✅ Modify and distribute as needed
⚠️ Attribution required in multiple locations (credits, documentation, store pages)⚠️ GitHub link required in all attributions⚠️ Commercial products must display attribution before purchase See the LICENSE file for complete details.
Patrick Reese (Retroboi64)
- 🐙 GitHub: @Retroboi64
- 🚀 Project: Project32
If you find Project32 useful, please consider:
- ⭐ Giving it a star
- 👤 Following @Retroboi64
- 📢 Sharing it with others
- 🤝 Contributing to the project
- 💬 Joining the discussion
Made with 🖤 by Retroboi64