https://github.com/d34d0s/lotus
A light-weight, cross-platform, open-source, game engine focused on extendibility, written in pure C.
https://github.com/d34d0s/lotus
2d-game-engine 3d-game-engine c99 cross-platform emscripten game-engine-development gamedev indiedev tiny-cubes voxel-engine wasm webgl2
Last synced: 8 months ago
JSON representation
A light-weight, cross-platform, open-source, game engine focused on extendibility, written in pure C.
- Host: GitHub
- URL: https://github.com/d34d0s/lotus
- Owner: d34d0s
- License: apache-2.0
- Created: 2024-09-01T12:57:58.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-11-24T20:32:48.000Z (8 months ago)
- Last Synced: 2024-11-24T20:32:53.805Z (8 months ago)
- Topics: 2d-game-engine, 3d-game-engine, c99, cross-platform, emscripten, game-engine-development, gamedev, indiedev, tiny-cubes, voxel-engine, wasm, webgl2
- Language: C++
- Homepage:
- Size: 3.3 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

[](https://github.com/d34d0s/Lotus/releases)
[](https://github.com/d34d0s/Lotus/stargazers)
[](https://github.com/d34d0s/Lotus/commits/master)
[](LICENSE)### Relevant Links
[ [Official Wiki](https://github.com/d34d0s/Lotus/wiki) | [API Documentation](https://github.com/d34d0s/Lotus/wiki/Lotus-API-Docs) | [Lotus Examples](https://github.com/d34d0s/Lotus/tree/main/examples) | [CBuild](https://github.com/d34d0s/CBuild) ]
[ [Official Discord](https://discord.gg/kreGBCVsQQ) | [Official Reddit](https://www.reddit.com/r/LotusEngine/) | [Lotus Discussions](https://github.com/d34d0s/Lotus/discussions) | [Lotus FAQ](https://github.com/d34d0s/Lotus/wiki/Lotus-FAQ) ]
## Building the Engine Source 🛠️
(**NOTE**): Using the `CBuild` CLI build-tool requires you to have python installed! More info can be found on the [CBuild Repository](https://github.com/d34d0s/CBuild)Lotus now includes pre-configured `.cbuild` files for easy setup and compilation! Users are encouraged to use the **[CBuild](https://github.com/d34d0s/CBuild)** CLI tool, which is lightweight and tailored for projects like Lotus Core.
### Option 1: Build with CBuild (Recommended)
1. **Install CBuild**:
Install the tool via PyPI:
```bash
pip install cbuild
```2. **Clone the Repository**:
```bash
git clone https://github.com/d34d0s/Lotus.git
cd Lotus
```3. **Build the Engine**:
Use the provided `.cbuild` configuration to build Lotus:
```bash
cbuild lotus.cbuild
```4. **Output**:
The compiled `Lotus.dll` will be located in the `build/lotus.core` directory.
### Option 2: Manual Compilation
If you prefer manual setup, follow these steps:
1. **Clone the Repository**:
```bash
git clone https://github.com/d34d0s/Lotus.git
cd Lotus
```2. **Compile the Engine**:
Use GCC to build Lotus:
```bash
gcc -c lotus/lotus.core/*.c -Ilotus/include -DLOTUS_EXPORT -o build/lotus.core/*.o
gcc -shared build/lotus.core/*.o -lopengl32 -lgdi32 -o build/lotus.core/Lotus.dll
```3. **Install the Compiled Binaries**:
Move the compiled files to your project's directories as needed:
```bash
cp build/lotus.core/Lotus.dll your_project/bin/
```
## Building Projects with Lotus
1. **Prepare Your Project**:
Set up your source files and include paths.2. **Compile with CBuild or GCC**:
- Example using GCC:
```bash
gcc my_project.c -Ilotus/include -lLotus -o my_project.exe
```
## 🪷 Lotus' Contributors 🪷
## 🪷 License 🪷
Lotus is licensed under the Apache 2.0 license.