PlainRL 1.0 Released


I’ve been working quietly for the last eight months on PlainRL, a Ruby roguelike. It’s a full, working roguelike; it has the following features:

  • Fully Random: Almost everything in the game is entirely randomly-generated from a few lines of plain-text (seed data).
  • 30 Floors: Thirty floors of monster-slaying mayhem, complete with several side-quests. It’s a polished, full game, replete with weapons, armour, bows, everything!
  • Advanced Features: Weapon skills, player skills (both level up over time), and lots of interesting things.
  • Tweakable Content: You can change a great deal by editing a few plain-text files and a single globals file.
  • If that sounds like your fancy, give it a whirl (download link at the bottom of the post). I’m thankful for all the lessons I’ve learned along the way. I feel I have a good, solid grounding in Ruby now (useful for any Rails developer).

    Download it and take a look; it’s an interesting piece of code.

    Download the source here: PlainRL 1.0

    SVN repository: http://OpenSVN.csie.org/plainrl

    Edit: I’ve tried various versions of Curses/NCurses on Windows, and in all cases, the game just freezes if you hold down a key. If you’re on Windows, use Cygwin.

About Ashiq Alibhai

Ashiq Alibhai, PMP, has been a Rails aficionado since 2007, and developed web applications since early 2003, where he learned PHP in one summer. As the driving-force behind RailsRocket and the Launchpad project, he seeks to share the ease of development with Rails far and wide.
This entry was posted in Development, Projects and tagged , . Bookmark the permalink.

3 Responses to PlainRL 1.0 Released

  1. ashes999 says:

    I hope nobody complains about my code :) I had only (literally) 30-60 minute sessions during which I could work on this; so it was developed incrementally, agile-style, with little emphasis on consistent architecture and design. It works well enough, and it’s easy to extend!

  2. Robert says:

    Hi,

    it seems you developed the game in an environment without case-sensitive filenames. Because when I try to run it under Linux it fails with a lot of dangling requires due to casing issues.

    Besides this, I am glad to see the source code of roguelike developed in Ruby since I am currently developing one myself in this fine language.

  3. ashes999 says:

    @Robert strange that you’re having that problem; I used Cygwin and I can recall lots of case problems. Sorry about that.

    Glad to hear it helps; the line-of-sight algorithm was particularly tricky. Sorry, the code is not that great :D