iPad Games They’d Love To See

Spotted on CrunchGear.com:

From the web site:

Planetfall – One of the original Infocom classics. Listen: the iPad has a usable keyboard and can support external keyboards. Why not slap together an Infocom pack for $2 and sell some imagination to these whippersnappers. Who’s with me?”

Not bad, at least it’s good to see some people interested in seeing classic IF on the new device. Of course, it would have made sense to mention the fact that IF already exists on the iPhone platform (see iPhone Frotz) with an inexhaustable supply of excellent pieces, but I’m okay with that.

Be the first to like.
Posted in interactive fiction | 5 Comments

Long Flights Are Good For Something

One thing long flights are good for is addressing old issues that you’ve always meant to fix but never really got around to. So when I found myself on a three-and-a-half hour flight yesterday, I decided it was time to tackle an old parser syntax issue that has been nagging at me for some time.

My goal with the parser has always been to make it as robust as possible, even if much of the functionality isn’t necessarily used in Vespers — I’d hate to have to add functionality after the fact, like for a future game. So the idea was to develop the parser to provide at least the typical performance one might expect from a TADS or Inform game. Most of the early months of development were spent on engineering the parser, and it was quite the battle. Hard to say for sure, but I’d say I got about 85% of the way there.

One of the missing pieces was being able to parse a command using the syntax VERB CREATURE NOUN. For instance, SHOW CECILIA THE KEYS.

The easier form of the syntax is VERB NOUN ‘TO’ CREATURE, as in SHOW THE KEYS TO CECILIA. The presence of the preposition (TO) helpfully divides the two tokens in the command. The way I implemented the parser, after first parsing and removing the verb, I scan the remainder of the command until I hit either a preposition or the end of the command; the words collected from that scan compose the token. In the example above, THE KEYS would make up the token that comes before the preposition TO; everything after the preposition (CECILIA) makes up the following token. Then I would proceed to figure out what objects the two tokens were referring to.

The problem occurs when there is no preposition, but I’m expecting two consecutive nouns. So if the command is SHOW CECILIA THE KEYS, the parser would grab the entire phrase CECILIA THE KEYS as a single token. Actually, I automatically remove all occurrences of the definite article THE, so the token would really be CECILIA KEYS, which would be handled the same way as something like GOLD KEYS or SHINY KEYS. So the parser would look for an object called CECILIA KEYS, and then proceed to throw up.

Fixing that to allow the alternative syntax was something I always knew was important and would have to be done, although there aren’t many game verbs that require this syntax. Off the top of my head, I can think of SHOW, GIVE, and FEED, although I know there are more. On top of that, it doesn’t really come up much in Vespers, except for a couple of times. But it’s a good example of a syntax that people often use, and in a text game the parser should really be able to handle it gracefully since, without it, the error message is unlikely to be helpful (“You don’t see any such thing.” Say what?). Then, naturally, people will point fingers and say “See? This is why we don’t have text games anymore.”

I knew it was going to be a challenge, mostly because the parser code is a large, unwieldy beast, and on top of that, I haven’t really looked at it closely for a good long time. Enter the three-and-a-half hour long flight, and we have a golden opportunity to reorient, refamiliarize, and figure this thing out.

As it turns out, the whole thing needed a grand total of three lines of code.

The way I handled it before, if I was trying to match a NOUN in the syntax and I had a token consisting of a bunch of words from the command to match it to, I would find the closest match and count how many words in the command were matched. If there were leftover words that weren’t part of the match, that meant something was wrong and the syntax shouldn’t match — so I aborted that syntax and moved on to the next one. So in the case of the command SHOW CECILIA THE KEYS, the token would be CECILIA KEYS, and I’d be able to match CECILIA with the word KEYS left over. The leftover word would cause the syntax to fail, and we’d move on to try the next syntax for the verb.

Since I already had the code in place to count the number of words in the token that were matched, all I needed to do was reset the number of words in the token to the number of words that were matched. So in the CECILIA KEYS example, the number of words in the token is 2, but the number of words matched is only 1. So I tell the parser that the correct number of words in the token is actually 1 (not 2), and the remainder of the token is kept for the next round of token matching. Add in a quick check to see if the next syntax word is a NOUN or HELD object, and that’s all I needed to add.

%nextSynWord = %syntaxWord[%currentSynWordNum+1];
if ((%nextSynWord $= "noun") || (%nextSynWord $= "held")) {
%nouns = %nouns - %numMatchWords;
}

That left plenty of time to watch “Fantastic Mr. Fox”, too. Nice flick.

Be the first to like.
Posted in interactive fiction, text in games, Vespers | 1 Comment

Sweet, Sweet Posters

Every once in a while you come across something that reminds you how awesome the intertubes can be. Zazzle is one of those things.

Sure, more people probably know about Cafepress, and this sort of thing has been around for a while already. Making a custom T-shirt or mug with your own artwork is no revelation, for sure. But over the years it has developed into a pretty slick process, and it’s pretty cool how easy and fast it is to whip up a prototype of something, order it, and have it delivered to your door. The process has basically become how people imagined it should be. Pick the item you want, upload your artwork, fiddle around with it until it’s just right, and order that sucker right up. And the fact that these places allow you to order even a single copy of your item, rather than mandating cartons full of them, opens up the market to just about anyone.

I was going to use CafePress to print some Vespers T-shirts for the crew helping out with the game, but someone recommended I give Zazzle a try instead. They’re pretty similar, but there are a few things I like a little better about Zazzle. So I went with them, and I had a few shirts printed up. Small “ORS” logo on the front breast, larger Vespers logo on the back with the blood stain. Simple design, easy to set up, bing, bang, boom. Vespers shirts for all. Yay Zazzle.

Vespers Shirt

You know you want one. Just say the word.

Yeah, I feel a little goofy wearing this around, but hey, it’s my own freaking shirt, you know? (Funny story about the tag line. I think it was Jason, the game’s author, who felt we needed to have a tag line to go along with the blood stain logo, but none of us could come up with something that didn’t sound embarrassingly bad. He finally came up with “Say your prayers” which, I have to say, is both incredibly corny and perfectly brilliant. Get it? Say your prayers? See the double meaning? Awesome, right? No? Meh, never mind.)

By the way, if anyone out there feels the aching desire (without the accompanying embarrassment) to wear one of these around town, let me know and I can make it available on the Zazzle site. Ponder for a moment how much coolness awaits you.

Anyway, this isn’t about the shirt. It’s about the posters. Ah, the sweet, sweet posters.

One of the cool things I always liked about Jason’s Vespers is how many of the items in the church morph over time as the monastery sinks into evil darkness. One of the best: the frescoes painted on the church ceiling. They aren’t described in much detail in the game, starting out as follows:

>EXAMINE FRESCO
The soaring vaults are as vast and open as the arms of God. Frescoes depict the fall of Satan, with angels singing as they cut down the wicked.

That left us a lot of room to interpret, but you get the picture. As the game progresses, the image changes, reflecting the worsening struggle between good and evil, angels and demons. So for instance, at some point in the middle of the game (not really a spoiler):

>EXAMINE FRESCO
The Fallen are overrunning the angels, climbing through holes in the ground and spreading across the Earth. An angel's eyes meet yours and do not break. He is coming.

So this presented an opportunity and challenge for us in depicting the fresco and the changes that occur over time. Part of the problem is that we couldn’t realistically put the frescoes on the church ceiling, since it’s just too high up to see very well in the game. So we came up with an alternative, which was to have the frescoes painted on the walls of the church foyer.

The wall fresco

Behold, the fresco. Click to enlarge.

Anyway, the big challenge, of course, was to find someone who could actually, you know, make a fresco. I mean, that’s not easy. People don’t make frescoes very often these days. You don’t want someone just whipping together a little somethin-somethin and calling that a fresco. It has to be at least partially convincing. If I had the big AAA budget, we’d be looking for someone to research the artwork of the time in order to make a historically accurate rendering. Since it was just me working with the C- budget, I did most of the (hack) research on my own–using works by Giotto and Signorelli as a guide–and gave the information to a few prospective candidates from the most excellent ConceptArt.org, crossing my fingers.

The call was answered, quite impressively I would say, by Régis Moulun, a French artist. Here’s his gallery site, if you’re interested.

The art majors out there may look at these (eventually, when the time comes) and argue about the stylistic accuracy, but in my decidedly unartistic view, the frescoes he created simply kick ass.

Not to give too much away, but there are a half dozen of them. The one you can see in the image above is the first fresco, the one described as “angels singing as they cut down the wicked.” It’s beautiful, but it’s the tamest of the lot. They get progressively more disturbing, and I love it. Here’s a better view of the first fresco in full, with an additional shot of some of the close-up detail.

Weep at the beauty of the first fresco. (Click to enlarge)

Weep at the beauty of the first fresco. (Click to enlarge)

A closeup shot of the fresco. (Click for a bigger closeup)

A closeup shot. (Click for a bigger closeup)

So like, these are really nice pieces, the kind I think would look great up on a wall. Slapping up a set of the original images might look a little odd, though, but that’s where the whole poster idea comes in. A little creative clipping, some small, well-placed logos, and a little Zazzle, and we have ourselves a pretty nice set of posters. To wit:

The first fresco, poster style. (Click to enlarge)

Your wall is begging you for this. And the other five.

We’re currently doing some renovations to our house, and when it’s finished we’ll have a new office with, I’m excited to say, a lot of empty wall space. I’ve got all six of these things printed up and ready for framing. I’m really looking forward to seeing them all framed, hanging side-by-side. Is that excessively geeky?

Now, I could show you the other five frescoes, but that wouldn’t be any fun, would it? Suffice it to say that I love the first fresco, and it’s probably my least favorite of the set. But if there are enough requests, sure, I can show them. And if people think this is something they might be interested in, it might make a nice gift, say, for those who pre-order (when that time comes). What do you think? Posters, anyone?

2 people like this post.
Posted in Vespers | 9 Comments

Musings

Question: Can high drama be produced from a wide-open simulation?

Creating a game that tells a story is one thing. Creating a game that tells a dramatic, moving story is quite another.

Can you really get a dramatic, moving experience from a game that is not tightly scripted or linear? Can high drama truly emerge from an open, unbounded simulation-style game?

Everyday life is a wide-open sandbox. Clearly, there is high drama in real life. But, as mentioned a while back on rec.arts.int-fiction, “Most people’s lives are not filled with high drama all the time. Some events will be dramatic, but creating a dramatic story from those requires editing out all the mundane parts.” (greg)

That editing, in game terms, is what I imagine is the scripting, restriction, or forcing of linearity onto the game narrative.

Isn’t high drama really the product of the manipulation of people’s emotions through selective presentation?

More from same thread:

“I’m not convinced that truly open world designs will lead to the kind of epiphony-based stories that are real emotional milestones in the world of art, literature, and gaming.” (Paul Furio)

“All games (not just IF) are an attempt to fit several impossible things into one package, and then fool the player into not noticing the hack.” (Mike Rozak)

“A deep worldsim and smart, reactive characters (AI or human) may be enough for great interactivity, but to make that interactivity dramatic requires a third component that knows when and how to meddle.” (Ron Newcomb)

“I’d propose that there’s a hierarchy of dramatically interesting: at tier 0, you have real life, where you’re frankly happiest if there’s not all that much drama happening to your avatar; at tier 1, competent but formulaic static fiction, say, CSI; tier 2, open-ended simulations, like table-top RPGs and MMORPGs; and tier 3, the really good stuff, with the ephiphanies and so on, like the best books and films. I guess the question is whether IF or interactive media in general have a place in tier 3.” (Mike Roberts)

1 person likes this post.
Posted in game design, interactive fiction, story in games | 3 Comments

Reviving the Past

For those of you who don’t know, I did write one other computer game in the past, The Missions of Starship Reliant (aka, Missions of the Reliant). I had always wanted to write and release a game throughout my childhood, but all I knew back in the 80s was BASIC, and that never got me very far. And so, at one point in my mid-twenties, and being a Mac fan and all, I decided to pick up some books and learn Pascal. In 1994, amid great imaginary fanfare and to much fictitious critical acclaim, the first version of Missions was released in all of its $20 shareware glory. (The sequel, Missions II, was released in 1996, but it was really just an expansion of the original and not truly a sequel. It just sounded cool.)

Missions of the Reliant, 1996.

Missions was based on the (really) old ASCII Star Trek games that once graced the mainframes and dialup services of the 70s. I didn’t know much about the origin or full history of that game, assuming that it began around the time that David Ahl published the DEC BASIC game Space War (later renamed Super Star Trek) in his most excellent 1973 book, 101 BASIC Computer Games. Even Ahl, however, refers to a first version appearing in 1971, when Mike Mayfield wrote a version in BASIC for the Sigma 7. According to Mayfield himself:

Back in 1971 I was a senior in high school. My school didn’t have any computers, but I had managed to “use” (read “steal”) an account on a Sigma 7 at University of California, Irvine. I was trying to teach myself BASIC from a book. At the time there was a program that ran on a vector graphics terminal on the Sigma 7 that was a simple “shoot-em-up” space war game. I wanted to make a game like that, but I only had access to an ASR-33 Teletype non-video terminal (hey, there is only some much I could “use” in high school).

This was back when Star Trek was hot. A bunch of my other geek friends from high school and I spent a lot of hours brainstorming what we could do if we didn’t have a video terminal. Since I was the only one in the group that had any knowledge of computers (little as it was), we ended up coming up with a lot of unimplementable ideas. One idea that did stick was the idea of printing a galactic map and a star map to give you some idea what to shoot at, and having phasors reduce power exponentially, like they would if they shot in all directions. It may seem pretty simple now, but for a bunch of high school kids in the early seventies, it seemed pretty cool.

The program went through dozens and dozens of iterations, mainly over the summer after we graduated. I didn’t have any disk space allocation, so I had to punch a paper tape each day when I finished and load it back in again the next day. Working on a 10 character per second terminal forced me to keep the program small. Otherwise, I probably would have gone crazy adding feature after feature.

Late that summer I bought HP’s first programmable calculator, the HP-35. I ended up going down to the local sales office several times for help on the programming. One time they mentioned that I could use their computer if I would convert my Star Trek program to their computer so that they could use it. Since their BASIC variant was so different from the BASIC on the Sigma 7 and the program had gotten pretty messy by then from all the changes, I ended up just doing a rewrite. The program was added to HP’s public domain library, which is where Dave Ahl got it.

It appears that, even though there are earlier versions of a game called Space War that date back to the late 1960′s, Mayfield’s version was considerably more advanced, and became the de facto Star Trek standard in 1973 when it made its way into the HP contributed program library. For those interested, there is a great writeup of the history on a web page by Maury Markowitz. (If you’re really nerdy, you can see the code to Mayfield’s 1973 HP BASIC version here.)

Mayfield's original game, ca. 1972. Historical information suggests the Klingon typo was likely not in the original.

In the old ASCII game, the idea is that the Klingons were invading Federation space, and it was the player’s job to scoot around in the Enterprise from sector to sector exterminating every last one of them in a thrilling binge of pure xenophobic annihilation. Space was divided up into grid-like quadrants and sectors, with short-range scanners (as above) showing the contents of the current quadrant. ASCII characters represented the Enterprise, Klingon ships, starbases, and stars. Long-range scanners showed the contents of each quadrant numerically in the format XYZ, with X being the number of Klingons, Y the number of starbases, and Z the number of stars. Players then used phasers or photon torpedoes to wipe out the invading forces before moving on to the next quadrant, and so on.

The Not-So-Long-Range Scanners.

I thought it would be fun to convert the text-based game into a 2D, sprite-based game, and introduce some Star Trek: The Next Generation flair. Paramount, naturally, was really into protecting its intellectual property back then, so I had to change things enough to keep it under the radar. If I remember correctly, when I chose the name Reliant, I had in mind the ship from Star Trek II: The Wrath of Khan, and I think early versions of the game may have even used a similar ship design. But I ended up modifying the design later on, while keeping the name.

Getting my ass kicked, Beginner level.

Like any decent inexperienced, naïve game developer, I was far more interested in development than in all of those important post-development marketing strategy tasks, so once I had finished making the game things were fairly haphazard afterward. I recall uploading it and promoting it on a number of BBSs and community sites, like AOL, CompuServe, and yes, even eWorld. I also took mail orders and sent floppy disks by mail, as difficult as that is now to fathom (it took a bit of effort to cram the whole game onto a 1.4MB floppy, let me tell you). In the end, I probably spent more on memberships to those communities and on postage than I made from the game. But of course I didn’t really care, I enjoyed the whole experience. I even got some recognition from it, earning honorable mention for Best New Shareware Game from the old MacUser magazine in October 1994. I still have that copy sitting around my office somewhere.

I did keep track of all of the registered users in a database, but I don’t recall ever coming up with a final tally of how many people paid the shareware fee. I do remember a couple of things, however: (1) the number of registered users wasn’t many, somewhere around 250-300; (2) Steve Wozniak was one of the registered users (woot); and (3) lots of folks seemed to make money distributing CDs with the unregistered shareware version on it. So it goes, as they say.

No space game is complete without a rift in the space-time continuum.

I didn’t think too much more about the game over the years, until sometime around mid-2007 when I decided to Google it to see what evidence of its existence might still be out there on the tubes. Aside from a few references to old archived files, not a whole lot — except for one thing, a thread on the MacRumors Forums from somebody wondering what might have happened to the game.

I responded partway down the thread, offering a free registration code to anyone who was still able to run the game and wanted to unlock the full version. Thanks to the magic of SheepShaver, I’m still able to run the Unlocking Tool program that generates registration codes, and it’s not like it takes any effort on my part. I’ve actually been surprised at how many people since then have found their way to that thread on that forum. Seems like a couple times a month I’m getting an e-mail from someone interested in reliving a bit of the past.

This month, though, was a little different. About a week ago I received an e-mail from Gwynne Raskind, apparently a Missions fan from back in the day, but also a talented Mac programmer. Maybe you can see where this is going.

She asked if I was interested in seeing an OS X port of Missions, and volunteered to take on the Mac Toolbox-to-Cocoa port if I still had the source code and was willing to share it. It’s a pretty fantastic idea to me, really. I’d love to see the old game running again on today’s systems, and SheepShaver doesn’t count since (a) the sound is messed up, (b) you need an old Mac OS ROM file, and (c) it’s kind of an unsupported mess to get up and running.

My only stipulations were that first, the port would need to be released as free/donationware, and second, that she couldn’t laugh at me while reading my old code. At least, not to my face.

One of the more interesting parts of this process was digging up the old files. These are files that I’ve been holding onto, and passing down from one system to the next, for nearly 20 years now. I can’t even remember all of the different systems I’ve had over the years, but I’m reasonably sure I started the project on a Mac IIci, and did most of the work on a Quadra 840AV. Good times. Not sure why, but it just seems strange and a little crazy that somewhere in the depths of my hard drive are decades-old files that, for the most part, are still readily accessible, a quick glimpse into an earlier period of my life.

Of course, that meant that I proceeded to spend a couple of hours sifting through all of the goodies buried within, and a number of things that I had completely forgotten about — including a couple of minor Easter Eggs that slipped my memory. It was a pretty fun trip into the past, even though the files have been sitting on my drive the whole time. Just stored deep in the basement closet, underneath all of the old clothing and board games.

Missions advertisement, ca. 1996.

Gwynne will be keeping a running blog of the whole experience over on her site, starting with the first entry yesterday. I’ll be following along closely. Hopefully some of you will find it interesting, too.

1 person likes this post.
Posted in Missions | 9 Comments