3 unstable releases
| 0.2.1 | Jul 26, 2024 |
|---|---|
| 0.2.0 | Jul 26, 2024 |
| 0.1.0 | Jul 20, 2024 |
#505 in #game-engine
48 downloads per month
46KB
1K
SLoC
Baba is an extremely simple engine for game development, inspired by love2d.
Its main goal is to provide a robust base for games of any complexity. It is currently built on top of SDL2, which already has widespread usage and supports a huge variety of systems.
Like SDL, it's entirely free. Baba uses the Apache license, which means usage for any purpose, commercial or not, is allowed.
Getting started
All of the magic happens when you call baba::run, and you can use the library right
away!
fn main() -> baba::Result {
baba::run("My game", MyGame::update)
}
impl MyGame {
fn update(&mut self) {
// Update your game logic and draw onto the screen!
gfx::clear(Color::WHITE);
}
}
Refer to the modules to see what the engine can do. Baba is still pretty early in development, so loads more documentation are still coming.
baba
Extremely simple library for game development, inspired by love2d and raylib.
Its main goal is to provide a robust base for games of any complexity. It is currently built on top of SDL2, which already has widespread usage and supports a huge variety of systems.
fn main() -> baba::Result {
baba::run("My game", MyGame::update)
}
impl MyGame {
fn update(&mut self) {
// Update your game logic and draw onto the screen!
gfx::clear(Color::WHITE);
}
}
Roadmap?
- Primitives rendering
- Public
Drawableapi - Public
Canvasapi
- Public
- Shape rendering
- SDL apis? maybe use
epaint? both?
- SDL apis? maybe use
- Text rendering (SDL_ttf)
- Event alternative to
input::is_key_downetc - Audio playback (SDL_audio)
- Config loading, also more engine settings
- Document all APIs
- Write the Baba Engine Book
Dependencies
~34MB
~752K SLoC