Interactive fiction (IF), for interactive Ruby (IRB). Play interactive fiction games from within the cozy familiarity of irb! Write stories that incorporate actual, executable Ruby code in the dialog!
RubyGems is your friend:
$ gem install ifrb
Try it with one of the examples:
$ ifrb basil
Or, if you want to do it from within IRB directly:
$ irb
irb> require 'ifrb'
irb> ifrb "basil"
Just create a new ruby file. You need at least one method, called start
, which will be called when your adventure loads.
def start
# ...
end
Define methods inside that method to add actions that are available for players. At the very least, you should add a method called look
, which will be called when the room loads. The look
method should describe the room:
def start
def look
_format <<-DESC
You see a big room. Not much else in here.
DESC
end
# ...
end
Other rooms are defined as top-level methods:
def start
#...
end
def monster
def look
_format "Yuck! A monster!"
end
# ...
end
Transition to rooms using the _load_room
method:
def start
def north
_load_room :monster
end
end
def monster
# ...
end
See the examples for more information about writing your own adventures. Good luck!
Creative Commons Attribution 4.0 International License -- (c) Jamis Buck [email protected]
IFRB by Jamis Buck is licensed under a Creative Commons Attribution 4.0 International License.
Based on a work at http://github.com/jamis/ifrb.