#graphics #gamedev #game-engine #system #engine #game

巴巴

一个受 love2d 和 raylib 启发的极其简单的游戏库

3 个不稳定版本

0.2.1 2024年7月26日
0.2.0 2024年7月26日
0.1.0 2024年7月20日

#425游戏开发

Download history 90/week @ 2024-07-16 222/week @ 2024-07-23 31/week @ 2024-07-30 2/week @ 2024-08-06

每月下载量:345

Apache-2.0

46KB
1K SLoC

baba

一个受 love2d 和 raylib 启发的极其简单的游戏开发库。

其主要目标是提供一个健壮的基础,适用于任何复杂性的游戏。它目前基于 SDL2 构建而成,SDL2 已被广泛使用,并支持大量的系统。

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);
    }
}

路线图?

  • 基本渲染
    • 公共 Drawable API
    • 公共 Canvas API
  • 形状渲染
    • SDL API?也许使用 epaint?两者都行?
  • 文本渲染(SDL_ttf)
  • 替代 input::is_key_down 等的事件
  • 音频播放(SDL_audio)
  • 配置加载,以及更多引擎设置
  • 记录所有 API
  • 编写巴巴引擎书籍

lib.rs:

巴巴是一个受 love2d 启发,极其简单的游戏引擎。

其主要目标是提供一个健壮的基础,适用于任何复杂性的游戏。它目前基于 SDL2 构建,SDL2 已被广泛使用,并支持大量的系统。

和 SDL 一样,巴巴完全免费。巴巴使用 Apache 许可证,这意味着允许用于任何目的,包括商业用途。

入门

当你调用 baba::run 时,所有魔法都会发生,你可以立即使用这个库!

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);
    }
}

参考 模块 以了解引擎可以做什么。巴巴仍在早期开发阶段,所以还有更多文档正在陆续推出。

依赖关系

~31MB
~555K SLoC