rovella 0.1.6

A game library that, at present, only consists of a windowing and events wrapper
docs.rs failed to build rovella-0.1.6
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: rovella-0.1.5

Rovella

A game engine/library which will be multipurpose but will be primarily aimed at 2D games and visual novels.

Note: This version is unstable

Features

  • Wraps Platform windowing code
  • Wraps Platform events
  • Wrappers are thin with minimal overhead (or at least planned minimal overhead)
  • Supports the raw-window-handle for xcb and win32 (or linux and windows)

Planned

  • New features will have optional usage
  • Multithreading API with SIMD, OMP, GPGPU and standard threading support
  • Some rendering helper methods/functions (similar to glfw)
  • A renderer (this is long term)
  • An input manager

Platforms:

  • Windows (Full Support - Not well tested)
  • Linux (X11 and XCB) (Partial Support - Window Close Event not working - Not well tested)
  • MacOS (Planned)

Example Program

fn main() {
    let mut app: rovella::App = rovella::App::create(
        "hello world",
        15,
        15,
        1920,
        1080
    ).unwrap(); // Only if your lazy :)

    while app.is_running() {
        let event_op = app.poll_events();
        if event_op.is_none() {
            continue;
        }

        let event = event_op.unwrap();

        match event {
            rovella::Event::WinClose => {
                app.quit();
            }
            rovella::Event::KeyDown(key) => {
                if key == rovella::Key::Escape {
                    app.quit();
                }
            }
            _ => {}
        }
    }

    app.shutdown();
}