Giter VIP home page Giter VIP logo

rouge's Introduction

rouge

rouge is a collection of roguelike utility crates developed when working through the Rust Roguelike Tutorial and building Exalted.

Crates

rouge

Meta-crate that includes all of the other sub-crates.

Features

  • default: enables the asset, bevy, gui, queue, saveload, serialize_binary, tracing features.
  • asset: enables the rouge_asset crate.
  • bevy: enables the bevy feature for rouge_gui.
  • gui: enables the rouge_gui crate.
  • queue: enables the rouge_queue crate
  • saveload: enables the rouge_saveload crate.
  • serialize-binary: enables the serialize-binary feature for rouge_saveload.
  • tracing: enables the rouge_tracing crate.

rouge_asset

Crate that adds some additional Bevy asset plugins. Currently this includes a plugin to load assets from the dhall configuration language.

rouge_gui

Crate that implements an immediate-mode style text-mode gui useable with bracket-lib or bracket-bevy. Very rough and very incomplete, but I've gotten some good mileage out of it already. It can simplify some of the boilerplate of creating windows and handling input.

Features

  • bevy: Makes the crate compatible with bracket-bevy.

rouge_queue

Crate that adds a queue resource type for use with Bevy. Can be used as an n-to-1 communication channel between systems, supporting both concurrent readers and writers without needing exclusive access to the resource. Built on crossbeam's SegQueue. Can be used with full Bevy via the plugin, or with just the bevy_ecs crate.

rouge_saveload

wasm32-none-none-compatible save/load system built with Bevy in mind. Probably needs some work to adapt it to particular use-cases, but it does handle several corner-cases of wasm saveload handling such that I found it useful to pull out into a separate crate. Can be used with full Bevy or just bevy_ecs.

Can serialize into either a text format (via Bevy's inbuilt support for ron) or binary (via bincode).

Features

  • default: Enables the serialize-binary feature.
  • serialize-binary: Use binary save-file serialization via bincode.

rouge_tracing

Crate that sets up tracing with some defaults that I found useful. Can be used with or without Bevy. If used with Bevy, the default logging plugin should be disabled.

If you're using the full Bevy crate, you should probably just use the default logging plugin and configure that to your liking.

Features

rouge's People

Contributors

capslock avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.