I’ve been tinkering with Inform 7. It’s a programming language specifically designed for writing Interactive Fiction (aka text adventure games). You know the sort:
You are in the Enchanted Forest. Under your bare feet you can feel the dampness of the verdant grass. There are lots of trees because, y’know, it’s a forest.
You can see a pixie here. As you do.
>Ask Pixie about McFly
“Oh, my god! McFly are so cool! I have all their albums! Look, I’ll let you have this bootleg CD!”
>Inventory
You are carrying: A bootleg McFly CD, a magic wand and an Area C Saveaway ticket.
>Give Saveaway to Pixie
The pixie looks at the Saveaway. “Hmmm,” he says, “really you shouldn’t do this. Look, it says ‘Not Transferable’ on the back. Well, I do need to get some shopping done, so this’ll be handy for the bus. Thanks!”
Obviously any actual adventure game would be less stupid than the one I just made up above.
I’ve been aware of Inform for some time, because the first version of the Inform compiler was created on an Acorn A5000, and subsequently appeared on an Acorn User coverdisc in 1995 or thereabouts.
Things have moved on since then of course, and the latest version sweeps away traditional programming gubbins (technical term) in favour of “natural language”, so your source code actually consists of English-language sentences, like this:-
The Forest is a room. The Pixie is a person in the forest. The Clearing is north of the forest. The Castle is west of the Clearing.
The compiler can create the game world based on those statements. Obviously it’s not quite that simple — the range of words and grammar is restricted — but it makes things much simpler for the average Joe (and your name doesn’t have to be Joe. It could be anything. For example, my name’s Robert, and that sentence applied equally to me).
I’d like to write an adventure game, but first I have to get good at playing them. My lateral thinking skills are non-existent, and every time I try one, I get stuck on the simplest puzzles and end up typing Help about 500 times during the course of play.