HammerEngine is an open source Engine using Vulkan as backend. It supports simple collision detection, there is an example in the test folder.
Showoff.webm
The goal of the Hammer Engine is of combining ease of use and the speed of Vulkan to make 3d and 2d games as fast and fun as possible.
The number 1 goal of HammerEngine is performance on low-end machines. It out performance most engines while having support for many machines.
Vulkan Native: Built from the ground up for modern hardware efficiency.
Collision System: Includes a functional, simple collision detection system.
Developer Friendly: Designed for rapid prototyping without sacrificing performance.
The official tutorial is at docs/
- To build Hammer Engine you will need to install vulkan, vulkan validation layers, spirv tools and stb.
sudo apt-get install libvulkan-dev vulkan-tools vulkan-validationlayers spirv-tools libstb-dev
- Test your vulkan install
vkcube
- You will need to clone the latest version of Hammer Engine
git clone https://github.com/MidnightHammer-code/HammerEngine.git
- Go in the HammerEngine/tests/3d_world folder or any other test
cd HammerEngine/tests/3d_world/
- Make a folder called build and go in the build folder
mkdir build && cd build
- Run Cmake and make to prepare the build and build it using all available cores
cmake .. && make -j(nproc)
- Move the executable to the main demo folder and go to the main demo folder
mv voxel_Engine .. && cd ..
- Run the test
./voxel_Engine
We are currently looking for contributors to help establish build instructions for Windows and macOS. If you have successfully compiled Hammer on these platforms, please consider submitting a Pull Request or opening an issue with your steps!
We are looking for contributors! If you want to contribute to Hammer go to the issues tab pick an issue and create a fix for it. If you have an idea for a new feature you can create an issue with the label New feature or implement it and create a pull request. We are especially looking for help with:
- Optimizing the Engine even more for low-end machines.
- Extended physics/collision features.
- Separate the functions from HammerEngine.cpp into separate files.
- Add documentation, to help people learn Hammer Engine.
The Hammer Engine tutorial is being made right now and should be out very sone.