Spike Engine
Welcome to the Spike's source code
A C++17 game engine, which can run on a toaster
here!
Looking how to setup Spike on your system? Its rightSpike in Action
Features | Status |
---|---|
Console Logging | ✔️ Done |
Internal Key and Mouse Codes | ✔️ Done |
Input Polling | ✔️ Done |
LayerStack and Layers | ✔️ Done |
Event System and Events | ✔️ Done |
2D Renderer | ✔️ Done |
Entity Component System(ECS) | ✔️ Done |
C# Scripting | ✔️ Done |
GUI Editor (Spike-Editor) | ✔️ Done |
Scene Serialization and Deserialization | ✔️ Done |
Gizmos to control the Transform of the object | ✔️ Done |
Built in developer console | ✔️ Done |
Editor Camera | ✔️ Done |
2D Physics | ✔️ Done |
3D model loading with albedo | ✔️ Done |
Playmode and conept of scene runtime | ✔️ Done |
Vault system for caching assets | ✔️ Done |
And many more (not listed here) | ✔️ Done |
Material System | ✔️ Done |
Asset Manager | ✔️ Done |
DX11 Support | ✔️ Done |
OpenGL Support | ✔️ Done |
Phong Lightning | ✔️ Done |
All the above features which are done are tested in Release mode
Dependencies
- DearImGui for Graphical User Interface
- mono for C# scipting
- GLFW for Windowing
- Glad OpenGL loader
- ImGuizmo for Gizmo's
- stb_image for image loading
- glm used as Math Library
- EnTT for Entity component system
- yaml-cpp for scene serialization
- ASSIMP for model loading
- box2D for 2D Physics
Contributing
So you want to contribute? AWESOME! Follow the steps below and you will be good to go
- For major changes, open an Issue first
- Joining our discord server is recommended if you are contributing. As we will respond super fast than the github issues or discussions, plan on the features etc.. (Link can be found at the end of this README)
- For contributing, fork this repository first.
- Then make a feature branch in your fork and start adding stuff.
- When you're ready with your feature, you have to make a Pull Request(PR).
- Then your code will be reviewed by us and if everything goes well, your commits will be mergerd!
Toaster?
By toaster we mean old hardware. Spike can run smoothly even with a hardware from 2011. We have tested this engine on ATI RadeonHD 5570 (a GPU from 2011) with an Intel processor of 2nd generation! So Spike can run on any hardware which is from 2011 and onwards smoothly. Of Course having a better GPU and CPU will give you a perfomance boost!You can join our discord server if you have any questions or if you want to follow the development of SpikeEngine!