Ascii roguelike library in rust with native and wasm support

documentation for more information

doryen-rs

Ascii roguelike library in rust with native and wasm support. Uses the uni-gl and uni-app crates from the unrust game engine.

features

demos

Visual demo
Basic real-time walking @
Performance test
Fonts demo
Unicode demo
Console blitting demo
Image blitting demo
Subcell resolution demo
Transparent console demo
Text input demo

usage

  • add dependency to Cargo.toml :

Check the examples and documentation for more information.

compilation

  • native compilation

  • web compilation

license

This code is released under the MIT license.

contributions

You can contribute to this library through pull requests. If you do so, please update the CHANGELOG.md and CREDITS.md files. If you provide a new feature, consider adding an example as a tutorial/showcase.

Issues

Collection of the latest Issues

tcastelly

tcastelly

2

Hello,

Thank you very much for this amazing project. I'm trying to run a demo:

cargo run --example basic

With stable version of Rust (rustc 1.50.0 (cb75ad5db 2021-02-10) ) I have this error:

platform::platform::x11::util::input::PointerState uninitialized

If I downgrade to 1.47.0 it works.

It's seams to be linked to winit issue

I absolutely don't know how can I update winit here.

shingle-bells

shingle-bells

1

I keep getting an error when using the examples. error[E0560]: struct 'doryen_rs::AppOptions' has no field named 'max_fps' Specifically, I copied from the lowfps.rs example, and modified nothing. What am I missing?

jice-nospam

jice-nospam

0

This issue to track progress on using bracket-lib instead of unrust as backend. Status of examples (fonts branch of bracket-lib)

  • demo
  • alpha (no frame overlay. this feature will probably be dropped in doryen-rs)
  • basic
  • blit
  • exit
  • fonts (example to be updated to provide fonts background color)
  • image
  • perf
  • resize
  • subcell
  • text_input (UTF-8 KO. it's KO as well on master branch)
  • unicode

Main blocking issue right now is WASM compatibility and cargo web support. I'll go back to this as soon as possible.

Versions

Find the latest versions by id

v1.2.3 - Jan 07, 2020

  • fixed #22 : mouse coordinates broken when console is resized
  • fixed resizable console not taking hidpi factor into account

v1.2.2 - Jan 03, 2020

  • fixed #21 : keyboard/mouse events lost when framerate > tickrate

v1.2.1 - Dec 08, 2019

fixed

  • Console.blit not taking source console alpha value into account
  • fixed #19 : rendering unicode characters >= 0x00FF
  • fixed #10 : console not centered in fullscreen and wrong mouse coordinates

features

  • AppOptions now implements Default
  • added InputApi.keys_released() and InputApi.keys_pressed() that return iterators on key events since last update
  • added text input support through InputApi.text() (see text_input example)
  • added alpha example showcasing framebuffer overdrawing
  • provided default update() and resize() functions. Now Engine must only provide a render method
  • new Image methods : new_empty(), pixel(), put_pixel()
  • added a visual demo showcasing subcell resolution + dynamic lighting in a real time roguelike

v1.2.0 - Nov 22, 2019

fixed

  • fix #13 Console.print_color with text containing ']'

API breaks

  • added AppOptions.intercept_close_request to intercept clicks on the window close button (native only). See 'exit' example

features

  • added Console.text_color_len()

v1.1.0 - Dec 08, 2019

fixes

  • fix mouse coordinates on HiDpi screens
  • web : fix #8 black borders on HiDpi screens

API breaks

v1.0.1 - Dec 08, 2019

fixes

  • fix HiDpi display on Mac
  • fix panic on start when font is too slow to load

v1.0.0 - Dec 08, 2019

First release

Information - Updated May 13, 2022

Stars: 184
Forks: 6
Issues: 6

Rust library for Self Organising Maps (SOM)

Add rusticsom as a dependency in Cargo

Rust library for Self Organising Maps (SOM)

Provides a cargo lipo subcommand which automatically creates a universal library for use with your...

Provides a cargo lipo subcommand which automatically creates a universal library for use with your iOS application

Provides a cargo lipo subcommand which automatically creates a universal library for use with your...

Rust bindings for FreeType library

Cargo: We use Cargo to compile the project

Rust bindings for FreeType library

CouchDB library for Rust

Include this dependency in the Cargo

CouchDB library for Rust

cargo_auto_github_lib

Library for cargo-auto automation tasks written in rust language with functions for github

cargo_auto_github_lib

Library crate for common tasks when building rust projects

Intended for use with cargo-auto

Library crate for common tasks when building rust projects

Light weight image library which focus on plotting!

type cargo run --example <example_name> in your terminal to see these example images crafted by our library

Light weight image library which focus on plotting!

Just for experience Rust library for writing with indentions

and add dependency in your Cargo

Just for experience Rust library for writing with indentions
Facebook Instagram Twitter GitHub Dribbble
Privacy