rpg-rs Crates.io Build Status Coverage Status Documentation

Welcome traveler! Don’t be frightened by that cryptc name above. This project aims to implement the very basic data and mechanics of an RPG. Of course, there are a lot of ways to interpret and implement an RPG and I guess there will always be someone who disagrees with my implementation. So feel free to contribute and share the code and if this doesn’t feel right to you, create a fork and create your own better variant.

THIS LIBRARY IS STILL UNDER HEAVY DEVELOPMENT AND IN NO WAY STABLE OR COMLETE.

I HIGHLY RECOMMEND TO NOT USE IT IN PRODUCTION!

Roadmap

The next goal for me is to let you do this: ```rust extern crate rpg;

use rpg::{Engine, EngineContext};

fn main() { let mut engine = Engine::new();

engine.setup(|context| {
    // Setup your game
    // ...
    // ..
    // .

    // Return the altered/non-altered context
    context
});

engine.update(|context| {
    // Implement your update mechanics

    // Return the altered/non-altered context
    EngineContext { invalid: true, ..context }
});

engine.draw(|context| {
    // Implement your output

    // Return the altered/non-altered context
    EngineContext { running: false, ..context }
});

// Start the engine => run the game
engine.start(); } ``` Also asset management will be part of the next *release*.

If you have any questions regarding the progress or the technology of the project, you can join me on IRC: #rpg-rs @ freenode