Text-only video game shows how genre can be beautiful, innovative and complex
slate.com
slate.com
- the text editor supports elastic tabstops
- its documentation is embedded right into the development environment, beautifully complete and well written, and filled with great little examples
- compilation error messages are delightfuly detailed, specific, and useful. But if the same error is repeated, the compiler usually tells you "again, this doesn't make sense" rather than hitting you with a wall of repetition.
- many of the language's tools are for creating new language syntaxes for you to write your program with, rather than for the player to use in the game. You can create your own nouns, verbs, adjectives and prepositions to use in your descriptions of the world.
- Its relationships system is very powerful, and includes first-class support for performing operations on the graphs defined by relationships. For example, rooms are related by adjacency, and you can enquire what room is 'the next step via the adjacency relation' from one room towards another to have characters navigate towards a goal - but equally you can create our own relationships and perform similar operations on those.
- in spite of the syntactic restrictions of trying to 'read like English', it surfaces surprisingly rich functional and generics syntaxes; there's a real, grown-up programming language in there.
It is definitely worth a weekend play, if you're looking for a completely different kind of language for a change.
A room has a number called grue counter. The grue counter of a room is usually 0.
A room can be grue infested. A room is usually not grue infested.
Every turn while the player is in a grue infested room:
Increase the grue counter of the location by one.
The dungeon is a room. "You stand in a basic medieval dungeon." The dungeon is grue infested.
The first time the player enters the dungeon:
try looking;
say "It is dark. You are likely to be eaten by a grue."
Grue lunch is a scene. Grue lunch begins when the grue counter of the dungeon is greater than 10.
When grue lunch begins:
say "A large, smelly, foul tempered creature resembling a cross between a troll and an orc lumbers out from one of the open passageways. It sniffs the air, catches your scent, and looses a mighty roar! Before you are able to do anything else, it quickly lunges forward, chomping down on your head with a sickening [bold type]*crunch*" ;
end the story saying "You have been eaten by a grue."
This is the actual syntax, and it is surprisingly readable. Getting used to what the parser wants you to say can be tricky sometimes - just because the language is english like doesn't mean you can write your code in completely free-form english, but it's damn close!Once you've gotten your head around a few of the foibles, it's a lot less like writing a program and a lot more like just writing a book. In any case, agreed heartily with parent, it's a lot of fun to play around with!
http://inform7.com/extensions/Emily%20Short/Computers/source...
I especially like the section that implements "search engines", building off of the terms defined in the chapters leading up to it.
http://inform7.com/extensions/Emily%20Short/Computers/source...
Michael Callaghan's fixed-point math extension is less prose-like but worth a peek. It shows how some of the more traditional programming language features can be translated to Inform (eg. explicit loops with ranges as repeat with X running from 1 to 7).
http://inform7.com/extensions/Michael%20Callaghan/Fixed%20Po...
Wow. Programming is so faddish! I know this, but it's still surprising. What other problems that we're struggling with have been basically solved, in some currently unpopular corner?
Yes, sadly; and this is because programming languages, like spoken languages, live and die by their community. And it's harder to cross-pollinate programming languages since all changes must be backwards-compatible with existing source text. Language interop is usually terrible. You can't easily bring just a bit of Inform into an application.
This is very slowly improving with the popularity of compile-to-llvm, compile-to-CLR, and compile-to-JS as intermediate targets.
The other factor in faddishness is ahistoricity; the most energetic and community-orientated people are young, but interested in building their own new wheels while overthrowing the old wheel order.
It's easier to write code for a small system than to read code for a large system.
It takes some time working with it to realize all the cool things it does for you. It's definitely worth spending a little time with.
I wrote HL in Inform 7. Could I have written the game in a more traditional IF language, such as Inform 6? (I6 is C-like.) Answer: yes, but it would have been a bunch more work and a lot more frustrating and painful.
The English-ish syntax of I7 takes some getting used to. Yes, you have to free yourself of any attachment to brevity. I7 code is verbose. The hidden benefit is that it's very easy to skim through and re-read. All code is write-once-read-many-times, right? You may be comfortable with "gruecount++", but "increase the grue counter of the location by one" is just as intelligible (and more so for people who didn't grow up on C).
The real strength, for me at least, is I7's rule dispatch model. Big swatches of HL's code look like this (yes, an exact quote):
Ritual-processing rule for rit-speaking anaphylaxis-word when at RSChymicStart and the bound of rstate is the retort and the reservoir comprises grey-acid-subst and the retort contains exactly perfect-diamond: [...]
I've got hundreds of these little code snippets, and I trust the compiler to stitch them together into a working state machine. If this were I6, I'd have to write giant functions and collect these snippets together -- in the right order, etc. If this were an OO language, I'd go crazy deciding what object each snippet is a method of. I7 just takes the above and runs. (Okay, I have to worry about the rule ordering a little, but I7 mostly gets it right.)
(You can see that I've forced some brevity in, by careful definition of the words "at" and "comprises" and "contains exactly". I like hyphenated-symbols too. Those are personal style choices.)
There are a large number of truly astonishing things about the language, compiler and development environment. For example:
- the text editor supports elastic tabstops
Spoken like a true programmer. :)It's a really cool language that is likely to change your thinking in a few ways.
Andrew Plotkin has been releasing really excellent games for years; Spider and Web was my introduction to interactive fiction. (Talk about getting thrown in the deep end of the genre...)
[1] https://www.kickstarter.com/projects/zarf/hadean-lands-inter...
EDIT: The game's author has, for some years, been posting Hadean Lands design and progress notes at the Gameshelf blog: http://gameshelf.jmac.org/author/author6b0d4/
You can even play it for free online, so you have no excuse: http://eblong.com/zarf/zweb/tangle/
I just impulsively picked up the Hadean Lands bundle after reading this article too. I look forward to playing it.
One of my favorite authors is Ryan Veeder, his games remind me of Infocom's classics but aren't nearly as frustrating to play: http://www.rcveeder.net/blog/interactive-fiction/ Check out Taco Fiction for a great example (and IF comp winner!).
(Of course, as is usual with fiction and culture in general, what we enjoy always reflects on ourselves. There is delicious irony in my having played Violet as a distraction during my own PhD...)
Once you know your way around the command parser, I suggest Anchorhead [3]--especially if you're a Lovecraft fan--for the richness of the atmosphere it creates. Slouching Towards Bedlam [4] is another good entry in the mystery/horror genre, featuring steampunk themes.
More games, plus ratings, collections, and reviews, can be found on IFDB [5].
EDIT: The Act of Misdirection [6] deserves a mention, too. Another horror(-ish?) game, and the one that got me hooked on IF after Zork and Adventure.
[1] http://adamcadre.ac/if/photopia.html
[2] http://iplayif.com/?story=http://mirror.ifarchive.org/if-arc...
[3] http://pr-if.org/play/anchorhead/
[4] http://ifdb.tads.org/viewgame?id=032krqe6bjn5au78
[6] http://iplayif.com/?story=http%3A%2F%2Fwww.ifarchive.org%2Fi...
To sell it a little for the uninitiated: You inherit a distant, eccentric relative's old property in a sleepy, foggy seaside Maine town, and are thrust into a Lovecraftian murder mystery. Awesome.
* Beginners overview of e-lit at ELO (see below) [http://directory.eliterature.org/node/3706]: Overview, includes links to more, a decent starting point but a bit technical.
* Electronic Literature Collection by ELO [http://collection.eliterature.org/]: Collections of leading e-lit works, AFAICT. A pretty good place to start reading. The works themselves are less technical than the descriptions, reviews, etc. of them.
* Electronic Literature Organization (ELO) [http://eliterature.org/]: The most comprehensive resource, but maybe not the best starting place. They also have a large database of e-lit, [http://directory.eliterature.org/]
* Electronic Literature Knowledge Base (ELMCIP) [http://elmcip.net/knowledgebase]: "cross-referenced, contextualized information about authors, creative works, critical writing, and practices."
* Electronic Poetry Center [http://epc.buffalo.edu/]: Community center with very broad collection, also curated collection(s?), author info, links, festival info.
I got stuck on the game because I couldn't answer it. Spent months and then years thinking about it. Then one day the answer came to me, but by then we didn't have a Commodore 64 anymore.
Then in the 90s they rereleased the games as part of Return To Zork. I eagerly raced back to the cliff to proudly intone my answer! A portal was revealed, and I ran inside to claim my reward...and was promptly killed by a giant slug.
Good times! Btw, I'm sure many people on this list could reply with the answer to this riddle. I would invite you not to, to give others an opportunity to noodle on it if they wish.
A work of "interactive fiction" need not necessarily be a game with the usual things that go along with that.
You are standing in a room, obvious exits are to the north.
What would you like to do? > look north
Whereas IF leaves room for things like Choose Your Own Adventure books.http://kotaku.com/play-this-a-horror-game-about-that-uncle-w...
I'm happy for other people to enjoy this kind of game, but the above is why they're not my cup of tea.
It's possible that it would still be too fiddly for you, but modern parser-based text adventures have gotten a lot better since the Infocom days in this way. Probably the biggest reason is that games like Hadean Lands have dozens of beta testers play through it doing whatever their heart desires and providing feedback on puzzles and potential parser holes prior to an official release.
If they weren't popular 30 years ago, this article wouldn't be talking about them becoming more modern, so really you're just rewording the entire point of the article.
30 years ago they were also "archaic" in technological capability sense.
People played those games well into the era of Amiga and Atari level graphics, and played them for what they were, not because there weren't graphical games available in abundance.
As graphical games got easier to produce, that gap shrank, and text adventures did get less and less vital.
What I mean by archaic is people aren't used to playing text-only games now. They were then, so much that Zork was the best selling computer game. I mean, Minecraft is pretty archaic in terms of technical capability, but it's not archaic as a style of game. It's actually pretty popular, and a lot of people would call it beautiful and innovative.
Hadean is bringing back a long-dead (for over 20 years, again according to Wikipedia) style of game with a modern twist. Text adventures were popular three decades ago, then died out, and this game hopes to bring them back to a modern audience.
Text is not a game. It's a feature. Depth is not a game. It's a feature. A puzzle or labyrinth is not a game. It's a feature. Make games by smartly combining (multiple!) features!
And IF need not be pure text. Text with graphical accompaniment has been part of the genre almost since its inception, just like books can have illustrations.
http://iplayif.com/?story=http%3A%2F%2Fwww.ifarchive.org%2Fi...
* http://pr-if.org/ Boston
* http://www.meetup.com/sf-bay-area-interactive-fiction/ Bay Area
* http://www.meetup.com/Oxford-and-London-Interactive-Fiction-... Oxford and London
Also playable by ssh.
I had a friend whose character figured out how to put on a hockey mask, take out a chainsaw, and then hack off your limbs and give your limbs back to you - this was by coding from within the game, sort of.
MUs are to games with graphics as books are to movies. In a modern game, you're limited to whatever art the designers put into the game. In a MU, you can create whatever persona you would like. It's also a small enough community to where you can have a major impact on the worlds you play in, if you so desire.
Uni taught me a lot about the theory of the things that I'd learned in practice previously through MUDs.
It's also hard to get new players but a web client has really helped with that. Very few new players stick around though. But enough to keep it going. The lack of developers is probably what will kill the game eventually.
Is there any info for developers wanting to contribute? I looked around the site and didn't see anything mentioned.
WoW is just a skin on top of a MUD; but said MUD skins are nothing new either.