Skip to content

sphinxc0re/rpg-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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:

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

About

A very basic RPG engine written in Rust

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages