Inform Runtime
The Inform Runtime for Ruby is a command-line interface software runtime program for playing interactive-fiction games which use the Inform 6 Ruby Port.
The Inform Runtime for Ruby is intended to simply provide the barest minimum facilities required by the Inform 6 Library Ruby Port software to function in the context of a game play specified by a game directory or file. It does not attempt to replicate a byte code interpreter runtime like frotz.
Install mise-en-place
The mise CLI tool used to manage multiple runtime versions.
See: https://mise.jdx.dev/getting-started.html
curl https://mise.run/zsh | sh
mise --version
Install required runtime software
mise install
Now install the bundler for managing project dependencies.
gem install bundler
gem update --system
Download and install the latest version of PostgreSQL.
Setup
Install some gem dependencies.
bundle update --bundler
bundle install
Run
Execute the inform.rb program. It will play the included example game.
bundle exec inform.rb
Welcome to...
EXAMPLE
An Interactive Example
Copyright (c) 2025 by Nels N. Nelson.
Release 1 / Serial number 251006 / inform.rb v1.0.3 Library 6/11N
Field
You are standing in a field in front of a small 19th century house which stands just to the east of you. The house hardly stands up to the stiff wind rolling down from the north.
You can see a small toy top here.
>quit
Are you sure you want to quit? yes
[Hit enter to exit.]
Linting
bundle exec rake lint
Testing
bundle exec rake test
Project file tree
Here is a bird's-eye view of the project layout.
# date && tree -A -I "game|logs|vendor|tmp|Gemfile.lock"
Tue Oct 14 19:01:27 CDT 2025
.
├── config
│ └── database.yml
├── CONTRIBUTING.md
├── exe
│ └── inform.rb
├── Gemfile
├── inform-runtime-1.0.3.gem
├── inform-runtime.gemspec
├── lib
│ ├── runtime
│ │ ├── articles.rb
│ │ ├── builtins.rb
│ │ ├── color.rb
│ │ ├── command.rb
│ │ ├── config.rb
│ │ ├── context.rb
│ │ ├── daemon.rb
│ │ ├── database.rb
│ │ ├── events.rb
│ │ ├── experimental
│ │ │ └── handler_dsl.rb
│ │ ├── game_loader.rb
│ │ ├── game.rb
│ │ ├── grammar_parser.rb
│ │ ├── helpers.rb
│ │ ├── history.rb
│ │ ├── inflector.rb
│ │ ├── io.rb
│ │ ├── kernel.rb
│ │ ├── library_loader.rb
│ │ ├── library.rb
│ │ ├── link.rb
│ │ ├── logging.rb
│ │ ├── mixins.rb
│ │ ├── module.rb
│ │ ├── object.rb
│ │ ├── options.rb
│ │ ├── persistence.rb
│ │ ├── plurals.rb
│ │ ├── prototype.rb
│ │ ├── publication.rb
│ │ ├── runtime.rb
│ │ ├── session.rb
│ │ ├── stdlib.rb
│ │ ├── subscription.rb
│ │ ├── tag.rb
│ │ ├── tree.rb
│ │ ├── version.rb
│ │ └── world_tree.rb
│ └── runtime.rb
├── LICENSE
├── Rakefile
├── README.md
├── roller2.jpg
├── scripts
│ ├── backup.rb
│ ├── clone.rb
│ ├── delete.rb
│ ├── init.rb
│ ├── rebuild.rb
│ └── restore.rb
└── spec
├── game_spec.rb
├── inform_spec.rb
├── inform_system_spec.rb
├── object_spec.rb
├── parser_spec.rb
├── spec_helper.rb
├── verblib_spec.rb
└── verify_gem_spec.rb
7 directories, 63 files
Thanks!