Skip to content

happymonkey1/KablunkEngine

Repository files navigation

KablunkEngine

Personal project to develop a basic game engine. Currently in development, meaning features might be broken or not implemented yet.

Setup

Note: requires python to run setup scripts.
Run scripts/Setup.py to install required libraries python scripts/Setup.py
Run scripts/Windows-GenProjects.bat to generate project files.
Run scripts/Windows-GitUpdateSubmodules.bat to fetch/update vendor submodules.

Compatible with Visual Studio 2022, msvc compiler, and windows 10.

Required Libraries/Binaries (should be installed by setup.py)

  • Vulkan
    • Requires VULKAN_SDK environment variable (again should be automated)
  • Premake
    • Requires installation in %KABLUNK_DIR%/vendor/premake/bin/premake5.exe (again should be automated)
  • Boost 1.84.0
    • Must be installed under C:/Program Files/boost/boost_1_84_0/
  • MSVC developer command prompt must be on system path
    • Example: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\
  • Catch2 Test adaptor for Visual Studio (Windows)

Features

  • 2D batch renderer and basic 3D renderer
  • C# scripting
  • C++ scripting and runtime dll loading
  • Editor
  • Vulkan backend, hardware accelerated rendering, and renderer abstraction layer
  • Entity Component System
  • Asset Manager
  • Project System
  • Extendable event system
  • Datastructures & Algorithms (allocators, map, priority queue, simple runtime c++ parser, etc.)
  • DLL memory sharing / IPC
  • Text renderer
  • Networking Abstraction

In progress

  • In-house UI
  • Reflection
  • Audio
  • Build system
  • Runtime c++ hot reloading
  • PBR renderer
  • Lua scripting
  • Texture atlas and automatic texture packing

Planned

  • DirectX 12 Support
  • Non-Windows Platform Support
    • MacOS
    • Linux
    • Mobile
    • Web
  • Mod support

Roadmap

https://trello.com/b/cYhcr9CG/kablunkengine

Credits

Inspiration, help, and guidance from @TheCherno (YouTube) from watching his game engine development series.