A New Kind of Text Adventure
Text adventures (“interactive fiction”, or “IF” to some) are still based on the original 1970’s
concept. Graphical adventure games split off and became their own thing (point-and-click adventures), but
the text-adventure of 2011 is still pretty much
Adventure (the first text-adventure), but on
new hardware. This is okay, but we’re still stuck in that ’70s implementation mindset that was shaped
specifically around the restrictions and programming style of the computers in that time.
I am working on a novel, presented using a new, elegant, web-based format that ditches the 1970’s look-and-feel
and limitations.
There exists two main problems with current Adventure-like interactive fiction that make it unsuitable for the book
I want to write. Firstly, not enough text, and secondly, out-of-place navigation.
Most text adventures accept that they are room based and that you move around a lot and so keep the descriptions
brief. This places more focus on issuing commands than being absorbed in the story. I wish to write a story first, a
game second. My book will read just like a book, but the player will initiate each new paragraph. How long and how
detailed a chapter is will be up to the player, but the end result will still be a readable chapter; not a string of
commands.
The cardinal navigation used in Adventure-likes is inelegant and frankly horrible for the purposes of my story. I
don’t tell people in my dining room to “go east” to get to the sitting room. You go from one location to
another via relative and known portals such as doors, ladders, paths, gates &c.
This is how books tell the story.
I started first by looking at Inform (and had considered
Quest too), but even these most modern tools are still using
the same Adventure mindset and after spending hours trying to learn Inform’s syntax I realised the whole shebang
was completely over-engineered. I could spend forever learning one language to get the editor to understand my
intentions, for it to compile into another language
(z-machine), that would be interpreted by another language
(Parchment) and still leave me with a 70’s game design that I
couldn’t fundamentally change.
I decided to write in what I know best: HTML. HTML would give me the formatting I wanted, universal access for
players (no software to install) and the raw writing language that wouldn’t have to be written in one dialect in
order to be converted into another one.
I also decided not to write a system for writing text-adventures. PHP is already a programming language for
implementing a text-adventure. Most people don’t seem to realise this concept, and instead write a PHP
program to generically read and interpret data that’s been written using another tool they
usually had to write as well. If I did this, I would be spending an eternity developing a system and never actually
getting around to writing the content! The game’s logic is therefore actual PHP commands. Ifs are
if
s, with no virtual-machine between the two. This lets me write any logic I want, in a simple
scripting language and inline the story text in the same HTML as will be rendered by the browser. Blissfully elegant
and content-focused.
What Kind of Story Is It?
The story is a new and original Sherlock Holmes
mystery, inspired by the Conan Doyle works. Exact details have not yet been pinned down. It is important to
understand that this is a novel first, and a game second. Whilst the goal of most (if not all) text-adventures is
simply to issue the right commands in order to win, the goal of this game will be to experience the story, the same
as reading any book. The level of detail revealed will be up to the player’s curiosity and ingineuity.
This fundamental and refreshing difference is best demonstrated rather than explained.
That said, before you see this, bear in mind that this is a very, very raw prototype.
-
The “engine” that powers this is about 150 lines of PHP / HTML, everything else is story text
and logic
-
Many reactions are not programmed yet, and there’s no response for incorrect actions (“I
can’t let you do that Dave”)
-
I haven’t added an inventory yet, which will be necessary to complete the demo room fully
-
As a prototype it lacks the depth. The rooms and objects provided are examples, and don’t fully
explore the prosaic exploration possible. For example, I would imagine that the player would read
a few pages of introductory story in Chapter 1 before they even get to the command prompt
Regardless, enjoy!