In Write Yourself a Roguelike, we will journey together to into the depths of game development using Ruby.

We'll discover what a being Roguelike means, conquer the command line with ncurses, delve into the world of Ruby without Rails, and master algorithms, data structures, and kittens.

If you've ever desired to develop command line tools or design games in Ruby, this book is for you.

You, a newly trained Developer, have been heralded as the instrument of Nethack. Your hour of destiny has come. For the sake of us all: Go bravely with Write Yourself a Roguelike.

Read a sample chapter.

This is a Beta release. The price will increase when the content is complete and edited.

Why write this book?

I've always desired books that walk you through making something. In essence, they are just a really long tutorial, but the concrete always seems to conquer the abstract for me. For aspiring Ruby developers writing a game of this nature eliminates the Rails-only doctrine of the Ruby world and allows one to focus purely on the capabilities of a Ruby program. In addition, learning how to use Ncurses is very beneficial to command-line developers due to it's portability and many implementations in various programming languages.

Is this book for me?

Reading this book, you will start with a single Ruby file and progress to develop a pretty extensive clone of NetHack. Using an existing game allows us to eliminate design choices and provide explicit direction by comparison (e.g. What do we do first?).

The audience of this book are developers who know Ruby and are interested in command-line tools and/or game development. Since this is a step-by-step guide most novice programmers will be able to handle the material.

Outline

Introduction

What is a Roguelike?

What is NetHack?

Tooling



Why Write This Book?



Creating a Character

The Title Screen



Messages

Roles

Races

Genders

Alignments

Generating Abilities



Creating the Dungeon (In Progress)

Generating random rooms



Generating Doors and Corridors



Moving around



Creating Stairwells



Vision and Lighting



Color



Inventory (Not Yet Written)

Items



Burden



Money and Shops



Food and Hunger



Unidentified Items



Combat (Not Yet Written)

Random Monsters



Fighting



Magic



Wrapping up (Not Yet Written)

Saving and Loading



Increasing Difficulty



What to do next



Possible Future Chapters

Searching, hidden doors and corridors



Questlines



Alternate Dungeon types



Blessings and Curses



Pets



Zoos



Add C/C++ support





Write Yourself a Roguelike is written by Matt Mongeau.