An open API service indexing awesome lists of open source software.

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.

Awesome Lists containing this project

README

        

![banner3x](https://github.com/user-attachments/assets/414cf8b5-ae3f-4469-bbf1-59ecae33bd28)

[![GitHub Releases Downloads](https://img.shields.io/github/downloads/d34d0s/Lotus/total)](https://github.com/d34d0s/Lotus/releases)
[![GitHub Stars](https://img.shields.io/github/stars/d34d0s/Lotus?style=flat&label=stars)](https://github.com/d34d0s/Lotus/stargazers)
[![GitHub commits since tagged version](https://img.shields.io/github/commits-since/d34d0s/Lotus/Lotus.1.0.2024)](https://github.com/d34d0s/Lotus/commits/master)
[![License](https://img.shields.io/badge/license-apache%2Flibpng-green.svg)](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.