thebracket / rustyroguelike

Following along with the /r/roguelikedev tutorial session, in Rust and implementing my own library as well!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Rusty Roguelike!

The fine folks over at /r/roguelikedev on Reddit are running a summer of learning to write roguelikes. I've written quite a few, but wanted to learn Rust. So this repo is about my learning Rust.

  • There's an rltk folder containing a module, in which I'm using OpenGL to simulate a basic console renderer.
  • The main.rs file is the boilerplate required to get this to run. Still working on improving that.
  • game contains the actual game, broken into various files.

It's cheating to build both the library AND the game - but I don't know a better way to learn the language.

Update: Now that I've finished spinning it off into its own project, Rusty Roguelike uses rltk_rs for all the back-end features. You can see the library side of things in the rltk_rs repo.

Progress

Hello world with an OpenGL console pretending to be CP437:

Boring console image

Moving @ around a random map:

Animated GIF

Generating a nicer map:

Animated GIF

Field-of-view and visibility:

Animated GIF

Mouse support and a variety of mobs:

Animated GIF

Dijkstra-flow map based pathfinding (A* will follow) for basic mob AI:

Animated GIF

A-Star based pathfinding, and the beginnings of a user interface, log and end-game:

Animated GIF

Nicer tooltips:

Animated GIF

Pick up and use healing potions:

Animated GIF

Load and Save the game, and a main menu (tutorial 10):

Animated GIF

Added in nicer wall graphics, using a bitmask to detect the correct tile

Animated GIF

Added in some basic particle effects to make things prettier.

Animated GIF

About

Following along with the /r/roguelikedev tutorial session, in Rust and implementing my own library as well!

License:MIT License


Languages

Language:Rust 98.0%Language:GLSL 2.0%