IfRL - The Interactive Fiction Roguelike


Official development on IfRL has been frozen, so that it can stand as an example of the 7dRL phenomenon. I am however going to continue working on this project, with the eventual goal of releasing a much more robust experience under a different name, as per 7dRL tradition. Anyone who would be interested in helping with testing and feedback on this project is encouraged to e-mail me at: mailto:frank@256k.org.


What is IfRL? - IfRL is an Interactive Fiction Roguelike. It is a 7dRL programmed in Inform 7.

What is Interactive Fiction? - Interactive Fiction (IF) is an old and resilient strain of video game where the player navigates through a world descriped entirely in prose and does so through parsed natural language commands. Classic examples include Zork, Adventure and Violet.

What is a Roguelike? - Roguelikes (RLs) are another old and resilient strain of video games descended, unsurprisingly, from an influential game called Rogue. A roguelike is generally a turn-based dungeon crawl presented in ASCII and sporting a randomly generated environment, complex item interactions and permanent character death.

What's a 7dRL? - A Seven Day Roguelike (7dRL) is a roguelike programmed from scratch in just seven days. This is a popular indie gaming exercise because roguelikes are one of the few types of video games yet played that can still be created by a single author in a modest amount of time.

What's Inform 7 - Inform 7 is a programming language created by Graham Nelson designed for authoring Interactive Fiction. Games written in Inform 7 are compiled into GLULX objects which require an GLULX interpreter in order to be played.

Wait, so what is IfRL again? IfRL is an Interactive Fiction Seven Day Roguelike programmed in Inform 7. The presentation of IfRL is that of a classic piece of Interactive Fiction. Its gameplay, however, will be more familiar to fans of roguelikes. IfRL is a turn-based dungeon crawl with a randomly generated environment, complex item interactions and permanent character death.


Alternate GLULX Interpreters

GLULX Interpreters are available for every major operating system. You can find a list of them at the IF Archive.

Instruction Manual


Step 1: Run "WinGlulxeInstaller.exe" to install the GLULX Interpreter (by Andrew Plotkin). If you are using an OS other than Windows, you will need to download an alternate interpreter (IFArchive).

Step 2: Run WinGlulx and open "IFRL.gblorb".


There are only a few things you really need to know. You are the bodyguard to Prince Ophos. Prince Ophos is blind and carries the Daybreak Shard. He needs to get it to the top of the tower. You are currently at the bottom of the tower. And you had best hurry, because a whole bunch of people who don't much care for either you or the prince are nipping at your heels.

Basic Gameplay

You move about the game world by entering pseudo-English commands, just like in Zork and Adventure and other such classic text adventure games. The commands you need in IFRL come from a pretty limited set.


You move from one room to another via commands such as "Go East" or "Go up". You can also simply enter the first letter of the direction you want to go, for example: "e". By default, Prince Ophos will follow you whenever you move.

Prince Ophos

Prince Ophos will follow you whenever he can. Sometimes you don't want this. You can tell the Prince to stay put with the "Stay" command. When you want him to start following you again, simply enter the "Follow" command.

Boulders and Pits

If you try to move into a room with a boulder, you will roll the boulder into the next room. If there is something preventing the boulder from rolling, then you will try to squeeze into the room with the boulder instead. You won't be able to squeeze into the same room as a boulder if you are carrying much more than a single small weapon. If you want to try to squeeze into a room with a boulder that could be rolled, you can bypass the rolling with the "squeeze" command. For example: "Squeeze north"

If you are in the same room as a boulder, you can roll it in any direction with the "Push" command. Example: "Push boulder east"

If you push a boulder into a room that contains a pit, the boulder will fill the pit, creating a level floor.

You can safely traverse rooms with pits in them (so long as you aren't blind!), but Prince Ophos will not enter rooms containing either pits or boulders.

Your Inventory

At any time, you can check what you are carrying with the "Inventory" command (or "i" for short). This doesn't cause any game time to pass. The inventory command will also show you your current health. You can drop things you are carrying with "Drop [item]". You can drop everything with "Drop all". Likewise, you can use "Take [item]" and "Take all" to pick things up. If there is a corpse in the room, you can search it for items with the "Search corpse" command.


You can attack an enemy that is in the same room as you with the "Attack [monster]" command (or "atk [monster]" for short). This will attack hostile creatures with your wielded weapon if you have one. If you aren't wielding a weapon, you will kick the monster instead. You can change what weapon you are wielding with the "Wield" command. Wielding does not cause a turn to pass.


The main type of item in the game other than weapons is potions. They come in several varieties with randomized appearances. The two main ways of interacting with potions are "Quaff [potion]" and "Dip [thing] in [potion]". You can also "Give [potion] to the prince". But be careful, he trusts you implicitly.

Looking and Examining

You can take in your surrounding with the "look" command. This doesn't cause any game time to pass. You can look more closely at a particular thing or creature with the "examine [thing]" command ("x [thing]" for short). Examining is a free action the first time you do it to a given thing, but each subsequent time you examine that object it will take one turn.


Sometimes you just need to let some time pass. You can do this with the "Wait" command (or "z" for short).


Thanks to Graham Nelson and Emily Short for Inform 7. IFRL uses the "Automap" extension by Mark Tilford. It also uses a heavily modified version of the "Armed" extension by David Ratliff. Thanks to Andrew Plotkin (http://eblong.com/zarf/glulx/index.html) for the GLULX interpreter.

Thanks also to my wife for putting up with me while I worked on this.

IfRL written by and copyright to Frank Duff, 2010. frank@256k.org