Code Self Study Forum

Roguelike Tutorials in Rust and Python

I didn’t look closely at this yet but it looks like it might be good – a rougelike tutorial in Rust.

Every year, the fine fellows over at r/roguelikedev run a Tutorial Tuesday series - encouraging new programmers to join the ranks of roguelike developers. Most languages end up being represented, and this year (2019) I decided that I’d use it as an excuse to learn Rust. I didn’t really want to use libtcod, the default engine - so I created my own, RLTK. My initial entry into the series isn’t very good, but I learned a lot from it - you can find it here, if you are curious.

The series always points people towards an excellent series of tutorials, using Python and libtcod. You can find it here. Section 1 of this tutorial mirrors the structure of this tutorial - and tries to take you from zero (how do I open a console to say Hello Rust) to hero (equipping items to fight foes in a multi-level dungeon). I’m hoping to continue to extend the series.

I also really wanted to use an Entity Component System. Rust has an excellent one called Specs, so I went with it. I’ve used ECS-based setups in previous games, so it felt natural to me to use it. It’s also a cause of continual confusion on the subreddit, so hopefully this tutorial can shine some light on its benefits and why you might want to use one.

It looks pretty good. :crossed_swords:

Rust rouge-like

There’s also a similar Python tutorial here:

Also a subreddit:

While following some links in the tutorial I learned about Roguelike Celebration — an event for roguelike creators that takes place at Github in San Francisco.

Here’s their YouTube channel:

Edit: there’s also a Specs book (an Entity Component System library for Rust).

I was signed up to go last year! but then I was out of town during it :frowning:

1 Like

I signed up for notifications and will try to go this year.

This library might also interest people:

Seen here:

Here’s a playlist for a tutorial on creating a roguelike game in Python.

A screenshot of the game in one of the videos: