https://github.com/cstom4994/falling_sand_engine
A 2D falling-sand game framework (Windows/macOS/Linux)
https://github.com/cstom4994/falling_sand_engine
box2d falling-sand game game-2d game-development gamedev glsl imgui shaders
Last synced: 4 months ago
JSON representation
A 2D falling-sand game framework (Windows/macOS/Linux)
- Host: GitHub
- URL: https://github.com/cstom4994/falling_sand_engine
- Owner: cstom4994
- License: other
- Created: 2022-10-08T08:31:19.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-08-06T11:32:22.000Z (almost 2 years ago)
- Last Synced: 2023-11-07T12:32:24.479Z (over 1 year ago)
- Topics: box2d, falling-sand, game, game-2d, game-development, gamedev, glsl, imgui, shaders
- Language: C++
- Homepage:
- Size: 41.2 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
# FallingSand
A 2D falling-sand game framework (Windows/macOS/Linux)
(This project is based on part of the basic work of [PieKing1215's work](https://github.com/PieKing1215/FallingSandSurvival) which is under BSD 3-Clause License)

---
## **Compiling**
This project uses [*xmake*](https://xmake.io) as the build utility, it requires you to install xmake on your computer.
### Windows
```jsx
winget install xmake
```### macOS
```jsx
brew install xmake
```### ArchLinux
```jsx
sudo pacman -S xmake
```### Dependencies
- 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.
```jsx
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.
## Overview
This project adds many new functions and features on the basis of [PieKing1215's work](https://github.com/PieKing1215/FallingSandSurvival), 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.
---
## Licensing
All original code from this project are licensed under the [MIT License](LICENSE).
All original code from [PieKing1215's work](https://github.com/PieKing1215/FallingSandSurvival) are licensed under the [BSD 3-Clause License](https://github.com/PieKing1215/FallingSandSurvival/blob/dev/LICENSE).