Roguelike Tutorial in Rust

 Part 0: Why

In mid-April of 2014 I was stuck in a hotel room in Manhattan with the stomach flu. In a fever induced stupor, I started reading Steve Klabnik’s Rust for Rubyists. It’s a great primer for the language, and if you haven’t read it, you should stop here and go check it out. It took me about a half-day in my bed-ridden state to get through it.

 _why

In it, Steve talks about _why’s Dwemthy’s Array. His book doesn’t have a complete implementation of the array (and because progress has been diverted to the official Rust Guide, I don’t think it ever will), but I decided I wanted to make a full version I could actually fight. I wanted my rabbit to get lucky, damnit. It was pretty ugly.

I got bored playing my little game pretty quickly. So I started thinking of ways I could make it more interesting and learn more about Rust along the way.

 Game Programming Patterns

Awhile ago I heard about this project, Game Programming Patterns that seemed really cool. I’ve always wanted to make a game.

So. In my fever-induced stupor, I decided I’d finally learn how to make a game. And learn Rust. And write about everything along the way. Wtf was I thinking.

 The Game

The end goal for this is a multi-level dungeon crawler. Each level will have a boss, which is one of the monsters from Dwemthy’s Array. The PC is a warrior rabbit armed with a little boomerang, a hero’s sword, some lettuce and three bombs.

 GitHub Tag 0.0

In the GitHub repo is a tag, 0.0, which represents where the code was before I decided to start working on this as a tutorial. I’ll be pulling bits and pieces of it into the final project/tutorial, but I’m sure a lot of things will change. If you just want a hot mess of Rust to lean on to get your project bootstrapped, take a look there.

 Next

Part 1: Setup and First Pass

 Table of Contents

Table of Contents

 
341
Kudos
 
341
Kudos

Now read this

Roguelike Tutorial in Rust: Part 1

This is Part 1 in a many part series on how to make a roguelike game in Rust. If you’re lost, check out the Table of Contents to figure out where you should go. Setup and first pass Here I’m going to actually get started with some code... Continue →