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.
- 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