Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/eliasvas/engine
Current game/engine I'm working on
https://github.com/eliasvas/engine
game-engine linux opengl sdl2 wasm windows
Last synced: 3 months ago
JSON representation
Current game/engine I'm working on
- Host: GitHub
- URL: https://github.com/eliasvas/engine
- Owner: eliasvas
- Created: 2024-07-20T07:18:41.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-09-15T15:21:25.000Z (3 months ago)
- Last Synced: 2024-09-16T05:23:27.935Z (3 months ago)
- Topics: game-engine, linux, opengl, sdl2, wasm, windows
- Language: C
- Homepage:
- Size: 419 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
### Description
This is a roguelike game/engine project I've been working on.
### Gameplay
TBA
### Tech
Engine side, I want things as generic as possible so that I can copy-paste the engine for other projects.
To keep my sanity, currently we do OpenGL for graphics and SDL2 for everything else.
Only dependency other than these is a [gui](https://github.com/eliasvas/gui) library I'm developing separately.
For gameplay stuff I implemented a [bitset-based ECS](https://github.com/SanderMertens/ecs-faq?tab=readme-ov-file#bitset-based-ecs)
### FAQ
- Why make a custom engine
- because its fun, I love engine-dev.
- Will this be released commercially some day
- probably not.
- What about assets
- Currently placeholder art everywhere, we will think about polish later.### Platform support
| Windows | Linux | WASM |
| :-------------: | :-------------: | :-------------: |
| ✅ | ✅ | ✅ |### Building
#### Linux
```sh
sudo apt-get install build-essential libsdl2-dev libsdl2-2.0-0 libasan6 libgles2-mesa-dev -y
git clone https://github.com/eliasvas/engine
cd engine && git submodule update --init --recursive && mkdir build
cd build && cmake .. && make --build . -j10
```
#### WASM (Emscripten)
```sh
sudo apt-get install build-essential libsdl2-dev libsdl2-2.0-0 libasan6 libgles2-mesa-dev -y
sudo apt install clang emscripten -y
git clone https://github.com/eliasvas/engine
cd engine && git submodule update --init --recursive && mkdir -p build/web
set EMCC_DEBUG=1
emcmake cmake ../..
cmake --build . -j10
emrun game.html
```