This is a General Purpose 2D (and in the future 3D also) cross-platform game engine, that is in early stages of development.
- Cross-platform
- Fully featured Editor
- Written in C++, but games can be written in C#
- Can be used for standalone applications (BeeEngineEditor and BeeLocalization apps are powered by the BeeEngine)
- Projects
- Asset management system
- Uses Vulkan as renderer backend
- ECS with entt backend
Windows, Linux and MacOS are main platforms for now. Mobile platforms are in development.
Tested on AppleClang 15 compiler on MacOS, on MSVC compiler on Windows and on Clang and GCC 14 compilers on Linux.
The first step towards building BeeEngine is cloning of git repo Clone github repository recursively:
git clone https://github.com/KyleKrein/BeeEngine.git --recursive- Run install script with admin rights from terminal:
windows_install.bat- Download and install Vulkan SDK from https://vulkan.lunarg.com/sdk/home
- Download and install .Net SDK 8 from https://dotnet.microsoft.com
- In terminal go into the folder that contains the cloned repo and type:
cmake --preset Release-WindowsP.s. On Windows there’re always problems with MSVC not being correctly accessible from terminal, so you might need to configure this preset, setting variables for C and CXX compilers manually.
- Build the needed target:
- For the editor:
cmake --build build/Release --target BeeEngineEditor --parallel - For the localization app:
cmake --build build/Release --target BeeLocalization --parallel - For the Runtime:
cmake --build build/Release --target GameRuntime --parallel
- For the editor:
- The binaries can be found inside build/Release/src
- Run install script with admin rights from terminal:
./macos_install.sh- Download and install Vulkan SDK from https://vulkan.lunarg.com/sdk/home
- Download and install .Net SDK 8 from https://dotnet.microsoft.com
- In terminal go into the folder that contains the cloned repo and type:
cmake --preset Release- Build the needed target:
- For the editor:
cmake --build build/Release --target BeeEngineEditor --parallel - For the localization app:
cmake --build build/Release --target BeeLocalization --parallel - For the Runtime:
cmake --build build/Release --target GameRuntime --parallel
- For the editor:
- The binaries can be found inside build/Release/src
To build BeeEngine with nix package manager on Linux you need to:
- Enter the directory with cloned repo and build the Editor with submodules:
- For the editor:
nix build ".?submodules=1#BeeEngineEditor" - For the localization tool:
nix build ".?submodules=1#BeeLocalization"
- For the editor:
- The files can be found inside
resultfolder
nix run 'git+https://github.com/KyleKrein/BeeEngine?submodules=1#BeeEngineEditor'WIP
Building on Linux without Nix package manager is possible, but it’s not a priority.
- Install all the dependencies depending on your distro:
- Vulkan SDK
- dotnet 8
- CMake
- Ninja
- ??? (Not completed)
- Configure project
cmake --preset Release- Build the needed target:
- For the editor:
cmake --build build/Release --target BeeEngineEditor --parallel - For the localization app:
cmake --build build/Release --target BeeLocalization --parallel - For the Runtime:
cmake --build build/Release --target GameRuntime --parallel
- For the editor:
- The binaries can be found inside build/Release/src
There’re no special first party guides created yet. It’s in plans after the creation of Website. But there’re example scripts and scenes in ./ExampleProject directory, that you can use to look, how to implement certain features and how it all works. There’s also a Documentation Generation instructions, that can help you create the Code Documentation for the Engine API (You need the C# Documentation).
If you want to help me with development of this game engine, follow these tips:
Nix allows the reproducible builds to exist. Allows to pin dependencies and toolchains. If you cloned the repo and are in the root it, you can use
nix developin order to enter development environment with all the tools you need.
P.s. it’s for now only for Linux. MacOS and Windows builds with nix are in Plans.
These are the projects empowered by BeeEngine. You can use their code as an example for future developments.
Note: This documentation is far from being complete and is meant to be used for internal development only.
- Install doxygen from https://www.doxygen.nl/download.html
- Install MiKTeX from https://miktex.org/download
- Install Graphviz from https://graphviz.org/download/
- Open terminal at project/docs directory and type
doxygen DoxyfileCppdoxygen DoxyfileCs - Wait for generation to complete, go to folder docs and open index.html
The TODOs are placed not in order they’re going to be developed.
- Runtime build CI with cache
- Published Code Documentation
- Text/Video guides, how to create games with BeeEngine
- UI For Games
- Native Compilation of game code
- AOT for C# or another language? This is needed for Mobile Platforms (JIT is not allowed on iOS)
- Audio System
- Complete 2D Physics
- Project Templates in Editor
- Steam Integration
- Networking
- Nix build support for MacOS
- Cross Compilation Support for Windows
- Android Support (Distant Future)
- iOS Support (Distant Future)


