A 2D falling-sand game framework (Windows/macOS/Linux)
(This project is based on part of the basic work of PieKing1215's work which is under BSD 3-Clause License)
This project uses xmake as the build utility, it requires you to install xmake on your computer.
winget install xmake
brew install xmake
sudo pacman -S xmake
- SDL2 (core)
- GLAD
- SDL_GPU
- cJSON
- Box2D
- lua (lua core; kaguya binding; fbffi)
- i18n cosmo inspect debugger lupeg tl
- lz4
- DearImgui
- FastNoise
- USRefl
- stb
- cute
- sse2neon (opt for Apple Silicon)
All compilation dependencies except SDL are already built into the repository source code. And SDL will automatically download and build through xmake. The only thing you need to do is to run the following command in the directory.
xmake
After entering this command, all source codes will be automatically compiled and built, and the binary files will eventually be output in the output folder.
This project adds many new functions and features on the basis of PieKing1215's work, including but not limited to:
- Complete base framework
- Scriptable Materials
- Lua-based dynamic script
- Cpp reflection of entities and rigid bodies
- New sound system
- New event system
- Reworked rendering system
- Better optimization
- Built-in UI system
- Inspection UI based on imgui
- New serialization and deserialization system (world saving)
- Refactoring based on ECS design ideas (WIP)
- NPC system (WIP)
It is worth noting that I'm a C++ newbie. Many codes in this project are not suitable for production. This project is for learning use only.
All original code from this project are licensed under the MIT License.
All original code from PieKing1215's work are licensed under the BSD 3-Clause License.