Search Results for: history

XCOM: A Link to the Past

Sad to report that television pioneer Gerry Anderson passed away today. I’d like to briefly recognize an interesting and surprising connection between one of his works — perhaps one lesser-known outside of Europe — and the modern videogame landscape.

The startlingly outlandish 1970 TV series UFO, co-created by Anderson with wife Sylvia Anderson and Reg Hill, described an oddly low-intensity invasion of Earth by small teams of silent extraterrestrials. Their motives were unknown, but their methods were unmistakably hostile; they had a particular penchant for kidnapping earthlings and borrowing their internal organs. Neither slavering Xenomorphs nor chatty Klaatus, the puzzle the enigmatic aliens posed in their highly objectionable but weirdly small-scale incursions provided the show’s unique hook. The show’s protagonists worked for an international defense force tasked not just with tracking and confronting the UFO-riding, laser-wielding aliens through a network of specialized satellites and aircraft, but attempting to work out the invaders’ motivations and secrets in their futuristic science lab.

Why, yes, this does sound rather a bit like the plot of XCOM: Enemy Unknown, a game which has recently captured my attention and imagination. Julian Gollop, lead designer of UFO: Enemy Unknown, the 1994 computer game upon which XCOM is based, has said in interviews that the TV show played a key role in inspiring the design (to say nothing of the title) of his game. Even through at least two layers of abstraction and twice as many decades of intervening influence, one can still trace the unlikely lineage between this best-case blockbuster videogame and this quirky lo-fi TV show.

Isn’t cross-media pollination wonderful?

Here’s the show’s brassy and compelling opening sequence. This could almost be an alternate teaser trailer for XCOM, as-is.

Tagged , , | 1 Comment

Spacewar at MIT

Today I dropped by MIT to see a demo of Spacewar, the Very First Videogame -- originally written for the PDP-1 in 1962; now reconstructed by GAMBIT for the Arduino.

My photos aren't terrifically clear, but you can see the two spaceships maneuvering around a central sun (and its gravity well). They shoot at each other, and that's a videogame. The starry background, famously, is based on actual star charts.

The original source code to Spacewar has long been available (here, for example) but it is minimally-commented PDP-1 assembly code and not very accessible. The GAMBIT folks have worked for several months to reverse-engineer the code and figure out what's going on. See their blog posts on the project.

GAMBIT has promised (nudge, nudge) to post their marked-up copy of the original assembly, to document what they've discovered. I'll add a link when that happens.

If you missed Spacewar today, you should drop by the MIT Museum this Friday evening (5:30 pm); the game will be demoed again.

More photos below the dotted line.

Posted in Boston | Tagged , , , | 1 Comment

Speaking of Breakout

A coincidence apropos to this week’s biggest technology-news story:

While researching my Pilgrim book review, I discovered that the person Atari contracted to implement the first Breakout prototype in 1975 was Steve Jobs. Yes, the very same.

Naturally, he subcontracted the nitty-gritty work to his friend Steve Wozniak, and Wikipedia relates the eyebrow-raising twist ending to that story.

Somehow I had managed to be the long-time Mac-loving videogame nerd I am without knowing any of this. Frankly, I didn’t believe it when I first read it yesterday, but it seems well cited and corroborated.

So there you have it. Steve Jobs has been both crafting medium-defining technology projects and, ahem, turning absurdly high profit margins for the whole span of my life so far. I wish him all the best, and hope he finds a way to keep at it.

Tagged , , | Leave a comment

David Sudnow: Pilgrim in the Microworld

Piano keysNear the beginning of David Sudnow’s Pilgrim in the Microworld, published in 1983, the author, a Berkeley-based sociologist and polymath, describes his discovery of the Atari VCS at a friend’s party. Missile Command in particular intrigued him so much that he immediately visited a store to buy his own console. That game was out of stock, but the salesperson recommended Breakout instead. He proceeded to play that game obsessively for three months, and then wrote a 160-page book about it. The resulting artifact was unique for its time and remains an unusual work; even as the field of games criticism grows deeper and richer, this book from the previous century has something to teach us.

I want to be clear about this: Breakout challenges its player to hit a ball (a featureless, tiny rectangle of pixels sliding around the screen) with a paddle (same, only larger), chipping away as much as they can of an opposing wall of colorful bricks. It does not try to present any narrative beyond this. And yet Sudnow found it such a rich experience that he filled more than a dozen dozen pages describing his subjective relationship with this one game.

Here I am alone in a pitch-black hotel room, a middle-aged man with some time to kill, getting ready to check out some jazz clubs in Greenwich Village, in possession of an early cretinous offering from a gold rush grab bag of tuby thingies coming our way from hundreds of decision-making puzzle peddlers throughout the new electric “entertainment” industry. And now instead of playing the game it’s packaged up to be, I’ve gotten into more or less occupying myself by outlining invisible triangles across the screen of a TV doodling machine. What am I doing?

Sudnow, who passed away a few years ago, had a particular affinity for music instruction; his eponymous course for learning the piano has outlived him. I did not know about this until I started preparing this review: while the reader can guess Sudnow’s other passion from the many piano-based similes he makes in the book, the author chose to demur when it came to saying anything outright regarding his own background, not inappropriate to expressing a mood of world-dimming obsession on a single object. (We know, for example, that Sudnow had a young son, who in the first chapter introduces his skeptical father to a contemporary video arcade. But then all mention of the boy vanishes completely until the book’s epilogue.)

Viewed in this light, the book becomes a chronicle of how the piano teacher Sudnow entered into, and eventually escaped from, the fallacy of approaching Breakout not as a game but as a fascinating new kind of musical instrument to master. Initially charmed and intrigued by the game — and, one imagines, already seeing a book in it — he arranges a visit to Atari’s headquarters to interview its engineers. There he learns that, contrary to his assumptions, the ball’s movements are entirely deterministic. The programmer he speaks with can fully describe the game-world’s faux-physical mechanics in a handful of English sentences. (The VCS is a plucky machine, but it would be many years before future game-console generations began to deeply simulate real-world physics.)

This leads to his pursuit of learning to play the board “perfectly”, the way one would learn to play a Bach fugue without slipping up. For days on end, he plays a rote pattern of his own design until the ball bounces off-pattern, a clanging sour note, at which point he immediately restarts the game. While practicing like this, he writes, he would press the VCS’s reset switch hundreds of times per hour.

I treated each error as the sign of some local weakness in the sequence, the sign of a raggedness in the movements rather than trouble at another level. Still thinking, still practicing note by note, still insisting it was an already established gesture to be somehow acquired with a yet firmer command.

He spends a chapter meditating on the nature of practice and mastery, both in general and in its application to Breakout. Eventually, and after much frustration, he concludes that Breakout doesn’t want to be played that way. Instead, he embraces what he calls the game’s “lucratively programmed caring,” the way its few but distinct design elements work together to guide the player into getting incrementally better at it, revealing more about its inner workings, bit by bit — but only for those who fulfill their end of its contract, who agree to approach the game on its own terms. Treating it like a piano exercise, it turns out, doesn’t work.

Modern readers will find many of Sudnow’s narrative choices strange. Particularly odd for me is his apparent reluctance to name the game developers he speaks with, or even to acknowledge that Breakout was a designed work, rather than a corportate-engineered artifact. It’s true that Atari, fearing competitive headhunting, acted quite secretively about its employees’ names, famously never crediting any individuals in its game documentation; this makes it understandable that even a more thoughtful video-gamer of 1983 would see Breakout as simply “by Atari”.

While Sudnow dug deeper than that, seeking out Brad Stewart, the VCS port’s programmer, he never mentions his name in the book. When the author discovers that this person no longer worked for Atari, he speaks instead with the programmer behind Super Breakout, the game’s official sequel. And even though he writes about this conversation at length, and refers to it throughout the remainder of the book, he never once reveals his interlocutor’s name. (Perhaps this was Ed Logg, the creator of the Super Breakout arcade game? The internet seems uncertain who made its VCS port.) He’s just the guy who happened to implement the design, and as such is a good source of information about its rules.

The author effectively treats Breakout less as an intentional design than a piece of received wisdom. Despite his access to Atari’s talent, he never asks anyone about the thinking that went into the game. From his viewpoint, the story of Breakout’s development and developers just isn’t interesting enough to make print, not when the game itself is right here. (He does allow himself to speculate fancifully about it, however. In the book’s strangest chapter, Sudnow sinks into a reverie where he has built the game’s first prototype, then engages in a program of rigorous A/B testing in video arcades to develop its precise rules over a period of years — a story that reflects neither Breakout’s actual history, nor a practical methodology for game-makers of that day.)

While it may appear as a flaw to a modern reader, the lack of these viewpoints reveals something interesting. In disregarding the question of design entirely, and paying attention to mechanics only so far as it makes for a better story, Sudnow focuses entirely on the experience of playing this game. And there’s so much deeply personal experience related in Pilgrim in the Microworld — I must again note that this book involves 160 pages written about a ball-and-paddle bleep-bloop videogame from the 1970s — that it shone a light, for me, on how little writing about play experience one can find among the ever-increasing amount of modern game criticism. Both reviews and other critical works, even higher quality examples, tend to focus most of their attention on design and mechanics. The writer’s role as player, their subjective experience of playing the game, often receives the same level of attention as a game’s window-dressing storyline typically does: peripheral, at best. Reading this book makes me wonder what we’re missing, as we write that way.

I do not ask that modern critical writing about games adopt the precise methods Sudnow employed in Pilgrim, or the length he gave it. (Indeed, Sudnow’s prose dips into the purple enough that the book would have been tighter were it a third as long. In which case, you’d still have fifty-five pages about Breakout, by god.) But I do wish for writers to observe how he told a story about playing this game that only he, with his background and life experience, could tell, and did so in a way that proved interesting and meaningful to a wide audience — and still does, three decades later. For how much games writing is that true?

David Sudnow wrote about an artform that, in 1983, few had deeply examined, and he did as best he could. Today there’s whole branches of journalism and academic study growing to fill this space, rapidly developing institutional styles of their own. It would behoove their practitioners to spend some time visiting the unlikely shrine that this pilgrim has left behind for us, and to hear its unique voice.

Pilgrim in the Microworld is currently not in print, which is too bad; I’d love to see a new edition, with a foreword that puts it into context for modern readers. You can, however, find PDFs of it floating around; I grabbed a copy from an academic site, and have taken the liberty of stashing a copy on my own server.

Image credit: Piano Keys, by G Crouch; CC BY-NC 2.0. The video is a recording of yours truly playing Breakout via emulation. Yes, a MacBook trackpad is a poor stand-in for an Atari paddle controller.

Posted in Best Of, Essays, Jmac on Games | Tagged , , | 3 Comments

42, in a Texan dialect

According to Wikipedia, Texans have long considered the dominoes game called 42 their very own statewide pastime. Texas State Rep. Erwin Cain has successfully led an effort to make this official, introducing his bill on the State House floor with an original bit of charming doggerel recapitulating the game’s traditionally accepted history:

Using double six dominoes in 1887
They created this holy game
Or rather it fell straight from heaven
Our blessed 42 with now such wide acclaim

No game of chance is this
As in cards, roulette or dice
For skill it takes in this game of bliss
Not so for those games of vice

(The full text is up at Purple Pawn.)

I get a kick out of this for a couple of reasons. For one thing, I like stories about the ingenious compromises people make when they wish to adhere to strict religious traditions while also satisfying their earthly desire to play a good game with friends and family. Rep. Cain seems to subscribe to the notion of dominoes as wholesome alternatives to the cards and dice that certain stripes of Christian culture proscribe as devilish — regardless of their functional similiarity! It reminds me also of observant Jews’ use of bookmarks to keep score during the Sabbath (the day of rest that forbids activities resembling labor, including writing). This creative tiptoeing through the sacred rulebooks in order to get some good games in strikes me not at all as shallow, but rather a beautifully human way of approaching the ineffable.

On a more material level, I always enjoy learning about the folk tabletop games associated with different parts of the United States. It seems that every nameable geographic/cultural region across the country has at least one game that it calls its own. The relationship between 42 and Texas is news to me — as is 42 itself, since domino games, so prevalent in the American south, remain alien to this Yankee. The child of Downeast Mainers, the table games I grew up with all involved one of those sinful card decks, with Cribbage chief among them. My friends of a more Midwestern bent, on the other hand, tend to be veteran Euchre players.

Do any studies exist on these sorts of regionally fastened games across America? One imagines this to be a subject as trackable as spoken dialect — and at least as interesting, as far as I’m concerned.

Tagged , , , , | 2 Comments

The World was Without Form

Jason Dyer explores Will Crowther’s Adventure — the truly original proto-game, that is, before Don Woods got his hands on its source code and turned it into the work that defined computer-based gameplay for many years. I was under the impression that this ur-version was lost to time, but it looks like Dennis Jerz dug it up a few years ago.

Jason’s description of the rough-hewn game is oddly haunting, the map of a dim dream-world that doesn’t quite exist yet.

However, one gets the strong sense this was an abandoned work in progress. The bottom level (with Bedquilt and the Swiss Cheese Room) has exits that don’t work, and one that crashes the game. The area even has a sign that says: ‘CAVE UNDER CONSTRUCTION BEYOND THIS POINT. PROCEED AT OWN RISK.’ I first took this sign as an signal of danger in the in-game universe, but instead it appears to be Crowther’s marker that the code is unfinished past that point.

There’s a long featureless hall to the west leading to nothing.

You too can learn the shocking truth of what the very first GETtable LAMP might actually have been shaped like!

Tagged , , , | 2 Comments

Jeff Grubb on Spelljammer's origins

Dungeons and Dragons design veteran Jeff Grub recalls the origins of Spelljammer, an early-1990s D&D supplement that allowed players to launch their faux-medieval fantasy campaigns into outer space.

Here is the image I pitched. A knight standing on the deck of a ship in space. He doesn’t freeze. He doesn’t blow up. He doesn’t float away. Everything that follows comes out of that one image, which is captured (with more to it as well) on the final cover Jeff Easley did. All what people have called “Grubbian Physics” with its air envelopes and its gravity planes, comes from creating a universe where that image is true.

The idea using a single image as a design cornerstone for a game (or a role-playing game’s setting) resonates with me. A single, powerful seed-image also lay at the core of The Warbler’s Nest, and was instrumental in getting me to actually complete and ship the game. I really just wanted make it real and share it as an experience; the rest of the game was almost just a delivery system for that one moment. (Which helps to explain why the whole thing’s so short…)

Tagged , , , , , | 1 Comment

The techy post, part 4 of 4

So, here's the Glk and Glulx update plans for 2011.

CSS stylesheets:

One of the big gaps in my original Glk spec was in specifying fonts, font sizes, and other text display parameters. On the left hand, I wanted this to be a player preference most of the time. On the right hand, IF authors want to provide a nice customized design for their games. I came up with what I thought was a minimal compromise, but it wound up almost useless from the game author's point of view. (You can't specify a font at all, for example; font sizes are poorly specified and therefore inconsistently implemented; and so on. When I wrote Quixe, I skipped the font-style features entirely, because they weren't worth the effort.)

This has been on my "improve please" list for several years. However, the left-hand-right-hand tension I've described still exists. You see the same thing in web design and e-book design; each of these has reached its own compromise between author preferences and audience preferences.

I'm still not sure I know where the balance should be. (After several contentious discussions in the IF forums, nobody else is sure that I know either.) However, I know where I want to start, which is to let the author include a CSS stylesheet. CSS is the worst formatting system HTML could have used except for all the others, and that's what I want for IF too.

People are likely to already know some CSS, at least.

(You can already use a CSS stylesheet with Quixe; it is a web app, after all. Just edit the included CSS file. But I need to specify this in a way that all interpreters can approximate -- even those that don't have CSS engines available.)

Quixe graphics and sound:

The Glk spec has graphics and sound options, but I haven't implemented them. It just wasn't a first-release milestone. Many IF games use Glulx solely for the extra memory space, but some (e.g. Emily Short's Alabaster) make good use of graphics, and there's no reason a web browser can't handle them.

There are some reasons that it's a hassle, though -- having to do with the way we package IF games and graphics data.

Quixe optimizations:

A simple request. We're talking about an IF VM interpreter written in Javascript, running in a Javascript interpreter written (probably) in C. That's a slow stack of code. Quixe is inherently slower than Parchment, because it deals with more data -- that's the point of Glulx, and using 32-bit values everywhere doesn't help.

Also, Inform 7 isn't as efficient about its compiled code as it could be. Real CPUs have surged way ahead of IF complexity in the past thirty years, and that gave Inform room to be, well, a little bit slack. Nobody noticed -- as long as they were running native-code interpreters on modern machines. But when we started porting interpreters to cell phones, and web browsers, and microwave ovens, then the inefficiencies became visible.

Both Parchment and Quixe use a just-in-time compilation strategy. Chunks of VM byte-code are compiled to Javascript as they're encountered. Modern web browsers can compile Javascript to native code as it's encountered. So we get much better speed than we would have a few years ago, before the Javascript arms race started. But Quixe could be smarter about its compilation strategy, in several ways.

Javascript features:

Since Quixe is a web app, couldn't we forget about specifying a graphics API for Glk, and just let the game fire Javascript events? The author could put arbitrary HTML on the game -- even Canvas or SVG displays -- and then manipulate them directly.

I want to approach this cautiously. It can't just be a free-for-all of manipulating Quixe internals; that would be a horrible quagmire in the long run. And we do want other interpreters to support these features (where possible).

Glk already has the notion of a rectangular image pane inside the game UI. If we extend that to allow HTML/Canvas/SVG panes, then most interpreters will be able to support them by embedding WebKit or other HTML widgets. So this is possible; but again, there are hassles of packaging to work out.


If you watched Get Lamp you heard from several blind or visually-impaired IF fans. I've always wanted my IF interpreters to be accessible, but I don't know much about the mechanics of screen readers -- I've just assumed that it could be made to work.

We've had some discussion on the topic in the past few months; see this blog post, for example, and this forum thread. I need to go over Quixe and figure out what work it needs.

This will also apply to the iPhone app, too. (If you have not yet, you should read Austin Seraphin's post about getting an iPhone. He was in Get Lamp, the guy talking about not needing a lamp.)

Network support:

This comes up in two distinct use-cases. First, the ever-sounding siren song of multiplayer IF. This has been tried in various ways (all the way back to MUDs, and more recently Guncho, which is a MUD-like assemblage of Inform 7). But if the game itself had the ability to open (and listen for) network connections, we might get some new angles. (Perhaps go above the TCP layer, and leverage some existing social or gaming network?)

Second, access to web services. Could an IF game usefully query Wikipedia, Wordnet, or your local weather for in-game effect? Maybe.

Assorted random features:

An IF game should be able to read the system clock -- either to display a real-time clock, or measure how long the player has been doing various things.

An IF game should be able to normalize Unicode lines of input text. (If you know what Normalization Form C is, well, we're currently not doing it.)

There are some restrictions on line input that I need to loosen. (These have to do with whether the command line can be cancelled or edited by the game as the user types. It's not a feature of most games, but occasionally it's desirable.)

A way to define whether display panes in the game UI are separated by borders. I've only been promising that for about ten years now. (This ought to be handled by CSS, but boring technical reasons may prevent that.)


I could be doing plenty more, beyond those ideas. Brand-new fully-modern virtual machine? Fill out the rule-based programming language that I've been thinking about since before Inform 7 was released? Finish the kung-fu ninja game?

I'm trying to keep some boundaries in place, though. I intend to sleep occasionally. Maybe go outside once a month.

Posted in Zarfplan | Tagged , , , , , | Leave a comment

The techy post, part 3 of 4

The current state of the Inform and Glulx universe...

Present and Future

The next major change in the IF landscape was in 2006, when Graham Nelson released Inform 7, a brand-new high-level IF design system. I7 was (and is) still compatible with the Z-machine... but its very existence put a much greater strain on the system. A simple one-room Inform 6 game might be 64k; the same game in Inform 7 was over 128k, simply because of the more abstract and powerful library model. (In the most recent version of I7, such a game is 192k.)

The good news was, I7 was compatible with Glulx almost from the beginning. Nobody had any doubts about the fate of the Z-machine at that point.

(As it happens, I7 uses I6 as an internal compiler stage. The I7 compiler generates I6 code, which then I6 compiler then converts into either Z-code or Glulx game code. If that sounds horrific, look up the history of C++.)

The major change after that was Parchment, in 2008. This was an open-source Z-machine interpreter, just like dozens going back to the 1990s -- except Parchment was written in pure client-side Javascript. You could open an IF web page in an ordinary browser, and be playing the game immediately. In the web era, this is an absolute necessity.

(Parchment was not the first browser-based IF interpreter; but it was the first that was completely cross-browser and smooth enough to attract casual viewers. Earlier attempts included Gnusto -- a Mozilla plugin which was Parchment's ancestor -- and Matt Russotto's Zplet, a Java applet.)

I said "absolute necessity" and I meant it. So I started cranking away on a pure-Javascript Glulx interpreter -- the Glulx parallel to Parchment. Sticking to my incomprehensible naming scheme, I called this "Quixe".

Internally Quixe has the same modularity as other Glulx interpreters. There's a VM engine, and a Glk library (although this is a Javascript library rather than a C library). Plus the shim I mentioned earlier. In fact I found it useful to divide the Glk layer itself into two layers -- one which uses the original Glk API model, and one which uses a simpler, web-app-style API. The latter may someday be hooked up to server-side IF through an AJAX connection. I'm not saying that's a good idea; I'm just saying that if you ever want to do it, the library is there for you.

Truly it is said that the hacker whom the Gods would make mad, they first inspire to add one more layer of abstraction. Just one more. Then it'll be perfect.

I released Quixe in July of 2010.

So after all that, what am I proposing for my Kickstarter open-source projects? If you go back and look at my video, you should have a clearer picture of what all the bullet points mean. Or maybe not. Next post: the gory details.

Posted in Zarfplan | Tagged , , , , , | Leave a comment

The techy post, part 2 of 4

Sorry, we've experienced a bit of post bloat. This series will be four parts, not three. (Just four, though.)

Zarf and Modularity

I wanted to design a new 32-bit VM to carry Inform into the Century of the Fruitbat. With (potentially) four gigabytes of memory, and without a host of trivial Z-machine limitations, we'd have room for some serious interactive fiction design. But I wanted to start on a solid foundation.

I was impressed by the generality of the Z-machine design; so I planned a design that went farther. I would completely separate the display layer -- text layout and text input -- from the virtual machine's "CPU" and memory layer.

That sounds wrongheaded, but it grew directly out of my experience in implementing IF interpreters. By 1998 I had released a Z-machine interpreter for X windows, and then ported it to the Mac, and then released a TADS interpreter for the Mac. Comparing the three, it was clear that each application could be divided into a portable VM engine (Z-machine or TADS), and a display library (Mac or X). It really should be possible to create a new VM, and combine it with all the existing display libraries to get instant ports -- or write a new display library, and combine it with all the existing engines.

Moreover, it should be possible to improve the display layer and the VM layer separately. We wouldn't be locked into upgrading the entire thing as a unit. Infocom had done that, near the end of their tenure, producing the "version-6 Z-machine" -- which abandoned much of the portability in order to get a graphical UI out the door. Infocom got a couple of good games that way (Zork Zero, Journey) but they are much harder to play in the modern era than their earlier, cleaner games. I wanted to avoid that mistake. So, modularity it was.

To make this dream work, all I needed to do was specify the API -- the docking port between VM and display library. So I wrote this spec up, and I named it "Glk". To get the ball rolling, I wrote Glk display libraries for Mac (OS8, at the time) and for Linux (both X windows and terminal windows).

(I won't translate "Glk", because it doesn't mean anything.)

I hoped that Glk would change the IF landscape, but it didn't turn out that way. My API did a great job with the basics of text windows and status lines. But IF engines were pushing into the realms of sound, graphics, and mouse input. (Really, that had started in Infocom's day.) Every system handled these things slightly differently, and Glk was slightly different from all of them. Rather than a universal display system, I'd created an adequate common denominator.

Of course, that was a good thing. But the true power of the Glk API wouldn't be realized until I'd created a virtual machine that had no display model of its own -- a VM that relied solely on Glk for input and output.

I worked out that design in 1999; I called it "Glulx". (For translation, see above.) I implemented the VM engine -- in portable C, as promised. Then I turned my attention to the harder problem: adapting the Inform 6 compiler to generate Glulx game files. With that done, people could compile their existing Inform games to Glulx, with only minimal code changes. I didn't expect everybody to jump in and do that with every game -- indeed, I continued to build Z-code games myself. But it provided a smooth transition path.

(I'm glossing over all sorts of details here, you understand. For example, the Glk library doesn't fit perfectly with Glulx game code: one is a C library on the real machine, the other is Inform code on a virtual machine. I needed a shim to translate data structures back and forth. There was also a whole pile of work in translating the Inform 6 library -- the standard parser and so on -- which had a lot of fixed assumptions about the Z-machine's architecture. But this all got done.)

It's worth noting that while I am proud of Glulx, it is not the end-all of IF virtual machines. It was constrained in some ways by the design assumptions of Inform 6 (which was constrained by the design assumptions of the Z-machine). I don't mean that Glulx had to be backwards-compatible with Z-code; it's not. But I6 semantics revolve around pointers, byte arrays, and byte structures (very much like C semantics). So Glulx offers a flat space of bytes for storage. In contrast, modern languages (Perl, Python, Java, Javascript, etc) live in a world of run-time-typed, dynamic, garbage-collected objects -- and Glulx has only the most superficial support for that sort of thing.

This makes life difficult for Inform, which is evolving more modern features with every release. But that's for the next post.

Posted in Zarfplan | Tagged , , , , , | Leave a comment

The techy post, part 1 of 3

I spin a bunch of verbiage on the Kickstarter page (and in the video) about Glulx and Quixe and other silly words. Long-time IF aficionados (with your bottles of aficiolemonade, yes, I know I've made that joke before)... sorry.

Long-time IF aficionados already know what I mean by all those terms; you can tune out now. Contrariwise, if you have no interest in the software architecture of IF interpreters... you can also tune out now. But if you think APIs are cool, read on.

History: The Z-machine

In the beginning was the Z-machine. It was 1979 or so, and a bunch of Infocom hackers needed a virtual machine design to easily port their planned text adventures to the home computers of the era.

The Z-machine is a nice design, only slightly compromised by the nagging inconsistencies of real life. It's a simple 16-bit architecture, with a stack and up to 64 kilobytes of memory -- not too different from the real CPUs that were about to conquer the world. The instruction set includes a few operations customized for IF, though. It has single opcodes to print out text, and read in lines of text (and keystrokes when desired). There's also built-in handling for the world model, which is a big linked tree of data structures representing objects. These data structures can have flags and property lists.

It's important to understand, coming in, that this was an extremely general design. The Z-machine has no built-in notions of treasures, weapons, light, darkness, or even players or rooms. There is no text parser in the specification. All of that was left up to the game author, who had to implement them in a program which ran on the Z-machine.

(Of course Infocom developed a large library of code, including text parsing, room handling, and so on. They shared that from game to game. But any part of that code could be adjusted or customized, if needed, for a particular game. The underlying game engine didn't care; it was the same for every game.)

On the flip side, the Z-machine was also general about how text should be displayed. That was left up to the implementation on each home computer. Most people are familiar with the fixed-width, terminal-style display of old IF -- but the games played equally well when the Macintosh arrived, with nice proportional fonts and a scroll bar on the window.

Rolling on. In the post-Infocom era, the Z-machine game files and interpreters were deconstructed by fans. That led to the first open-source interpreters, which allowed Infocom games to be played on newer computers. (With nice proportional fonts!) It also led to Inform, a fan-made compiler which could generate new Z-machine games. (The Inform language didn't resemble what Infocom had used, but it offered the same functionality.)

Inform and the Z-machine made excellent partners. They weren't the only platform for amateur IF in the 1990s, but for several years they were the most advanced tools that were completely free to use and port. (TADS was shareware through 1996 and its source code was not released until, I think, 1998.) I have used the Z-machine for all of my released IF -- not counting my high school Applesoft efforts.

However, even ten years ago, it was clear that the Z-machine would not suffice forever. The 64k memory limit was already stretched in Infocom's time. They had used bit-shifting tricks to reach 128k of space, and then 256k. Inform games, with a more powerful (and less finickily parsimonious) library, had doubled that again. But this extra space could only be used in a few limited ways -- for game text and function code. IF games had a lot of game text and function code, so the tricks helped. But the Z-machine was still fundamentally a 16-bit system, and it could only address 64k of writable game state. Imagine a machine with 512k of ROM, but only 64k of RAM.

It was at that point that I started plotting my dark schemes.

Posted in Zarfplan | Tagged , , , , , | Leave a comment

Weekend links: two on chess

Lewischess2-popup.jpgVia the New York Times’ “Gambit” chess blog, we learn of a new controversy surrounding… well, not so much a very old game as a set of very old game pieces, with new evidence causing some to question the national origin of the celebrated Lewis Chessmen.

But really, I just wanted to take the opportunity to mention these extraordinary game pieces on this blog. Even though they’ve been known to the modern world since the 19th century, I first learned about them only some months ago while kicking around Wikipedia. While they like look like the whimsical work of a modern sculptor — at least to my unschooled eye — they were actually carved some 800 years ago.

I showed pictures of these little guys to a friend this morning, one who actually does know something about art history. She tried to add a little perspective to my astonishment, noting how a lot of medieval artwork looks comically cartoony by modern standards. But while she spoke, all I could think was: boy, I’d love to just reach over and pick one of these pieces up. I recognize intention in their squat, chunky shapes: they were made to thunk down on the board, decisively. I bet they make a really satisfying sound when that happens.

Heading away from the past and into an uncertain future, we discover quantum chess, a computer game by Queen’s University student Alice Wismath, based on a concept by Selim Akl, a computer science proessor at Queen’s. It appears to be an academic work in progress, though one fun enough to have gained a bit of media traction. Certainly, it’s an intriguing idea, using the notion of quantum superposition to add a (perhaps rather thick) layer of tactical surprise to an otherwise pure strategy game:

A piece that should be a knight could simultaneously also be a queen, a pawn or something else. The player doesn’t know what the second state might be or which of the two states the piece will choose when it is moved.

“It was very weird,” said Ernesto Posse, a Queen’s postdoctoral researcher who took part in a recent “quantum chess” tournament at the university in Kingston, Ont. “You only know what a piece really is once you touch the piece. Basically, planning ahead is impossible.”

Like a lot of geeks, I’m enamored with the twisty little passages that represent quantum physics (or at least the closest representation a layman like me can grasp). But even moreso, any science that can plug itself into a cultural foundation of gaming to produce wacky chess variants is my kind of science.

Tagged , , , , , , , | 2 Comments

IF News & Dungeon Report

It's been a crazy couple of weeks in IF, and we're expecting several more months of crazy on the horizon.

  • Aaron Reed's book Creating Interactive Fiction with Inform 7 has gone to the printer. You can pre-order it through Amazon. This is an I7 tutorial which concentrates on -- well, as the title says, on creating interactive stories. It's not a programming reference manual, and it assumes no knowledge of programming. I haven't seen this yet but by all reports it is fantastic.

  • Jason Scott's movie GET LAMP has gone to the printer and come back. You can order on the web site. He says that they'll start shipping out next week.

  • The Gameshelf's own Jason McIntosh posted his own IF video... oh, wait. You already saw that.

  • We invited people to get together at MIT and play Zork (the original MIT mainframe version). A whole lot of people did! It was a bunch of fun and we will be continuing the IF-playing series.

  • Some guy named James Mastros implemented GlkNew, a web-based version of my Glk IF-playing interface. I literally had no idea this was going on. This is a play-in-a-web-browser system, but unlike Parchment and Quixe, the game engine runs on a back-end web server. It's a different set of tradeoffs. I haven't played with it much, but I'm happy to see this.

  • IF plans for PAX Prime are coming together. There's one IF panel on the PAX schedule, I believe there will be a GET LAMP reprise, and we'll see the usual list of smaller IF-related events organized by the community. Also as usual, the convention is sold out. If you can't make it, maybe next year in Boston.

IF game release timeline, extracted from IFDB by James Lawton

  • Finally, we have this little graph, courtesy of James Lawton. (Click for full resolution.) James went through all the game data in IFDB, and graphed them by year of release. (All the games that had that information, anyhow -- 3491 of them, as of July 24th.) The circles indicate the number of games released in the IFComp, starting in 1995.

The overall shape is clear; you can see the early years, the mid-80s boom. The tail-off of the commercial companies crosses the rise of the early-90s amateur and shareware community. And then, the modern IF boom of 2000, when the IFComp was really taking off.

You could read the past several years as a discouraging slump. I demur. We discussed this a little on IFMud, and noted some probable causes. Some sources of very small, lightweight IF games -- SpeedIF, ADRIFT mini-games -- have become less popular. More full-length games are appearing. And, we think, IF is spreading into many corners of the online world -- it's no longer concentrated in two newsgroups and an FTP site. So not all new games are appearing on IFDB.

However, these are off-the-cuff guesses. I can't back them up with data. Interested in doing some more IFDB research? Game size, platform, category, new authors vs established names... lots of room for study.

At any rate, 2010 is on track to at least equal 2009. I'm betting it will exceed it once IFComp season hits. Onward.

Tagged , , , , , , , , , | 5 Comments

The Silver Age

3680301979_4de6bcc232.jpgI wish to make an extended footnote on last Monday's post, regarding further similarities I see between the comics and video game markets. When I was in high school I went through a profound comics-geek phase where, beyond the typical obsessive book-hoarding, I undertook to learn everything there was to learn about that medium's history (a full decade before Wikipedia came 'round, my son). I've long since sold my longboxes full of Mylar-bagged pulp, but that knowledge remains, and I can't help but get very tangential when I have reason to compare comics to any other medium. Having thus further established my nerdboy bloviation credentials:

I see Valve Software today holding the same position in the overall media landscape that Marvel Comics occupied in the early-mid 1960s. In both cases, we have two experienced studios, neither the mainstream-recognized giants of their fields, who made an unusual decision: they chose to spend the creative capital gained from prior commercial success to quietly revolutionize their respective medium's dominant genres, rather than take the safer path of grinding out more derivative sameness.

The Orange Box, you see, is Valve's own Amazing Fantasy #15. In 1962, that generic-sounding title was the magazine issue that introduced the world to Spider-Man, a hero who wasn't the usual sort of alien demigod or unapproachable avenger that had defined costumed-adventurer tales for decades. Instead, he was a nerdy kid with a crappy life whose heroics were just as much an escape for him as they were for his readers. Sure, he ran around in long underwear and beat people up, just like his literary forebears had been doing for years: Spider-Man continued to embrace the core tenets of his genre. But did so in a way that was so personable, so identifiable, so likable, that it helped to redefine the superhero genre -- and, in turn, forever change the face of western comics.

Similarly, headlining The Orange Box was the continuation of Valve's known-quantity Half Life series, but the actual payload of the package comprised Team Fortress 2 and Portal. Both of these games are shooters, through and through, as much as Half Life is. But beyond being exemplars of their genre, they both brim with personality to the point of being lovable. There's a reason why the internet is filled with fanart of the TF2 gang, the weighted companion cube, and the rest of Valve's recent characters, while the literally faceless and fungible army dudes of Modern Warfare 2[1] make few appearances outside of the game's own "realistic" and utterly colorless warzone.

For all of Modern Warfare's sales today, I wonder how many people will fondly remember it, let alone still play it, five years from now.[2] I would be willing to wager that the number will be smaller than the number of people who can hum the theme song to the Spider-Man animated TV show from the 1960s. (A significant percentage of whom where born many years after the show went off the air.)

Spider-Man ultimately played a key role in the Silver Age of Comics, a reinvigoration of the art that helped make possible its vibrant and increasingly diverse future. We can't say right now what Valve's work will do for digital games further down the timeline, but The Orange Box's success did help them to develop and release further develop and significantly extend Steam, which has been working some transformative magic of its own. I speculate that this project would have had a much harder time gaining traction had Valve focused solely on the further adventures of zero-personality killing machine Gordon Freeman, much as Marvel would have sunk into obscurity if they didn't risked inventing heroes outside of Captain America's mold.

If the territory of adolescent power fantasies must remain so overcrowded, then let there be more best-case scenarios found within. Improving an artform's dominant genre improves that whole artform, and when that artform as a whole is becoming increasingly dominant within the current state of human culture... well, I can't find the heart to complain too much about it.

Update: Some readers have brought to my attention the fact that Steam predates The Orange Box. When I wrote about the relationship between the two, I was thinking of Steam as it is today: not just Valve's content delivery network, but a dominant force in PC gaming and player interaction. I myself hadn't even heard of Steam until a couple of years ago, and today it's vying for cross-platform ubiquitousness.

[1] I suppose the conceit of effectively featureless character models is that a single player is controlling not just one guy but whole cadre of soldiers, one at a time, like unto Persian Immortals: cut him down, and an identically dressed warrior steps forward to replace him. Yet another reason I respect Valve is the way they subvert this convention by taking it to extremes, by imbuing their more recent playable characters with highly distinct appearances and personalities. You don't choose play as a sniper in TF2, you play as The Sniper, a bloke who is at least as well-defined as many of his fellow cartoon characters, no matter the medium. He's a unique character -- even if there's already five of him on the battlefield when you join, on both teams. I read this as subtle and entirely intentional parody, and one executed with such a sense of giddy fun that players enjoy it at face value and that's just fine.

[2] And I ask this without even approaching the ugly fact that this particular game serves as a particularly egregious example of the deep and disturbing brokenness that lay at the heart of the game industry's big-budget blockbuster factories.

Image yoinked from i_hate_my_screen_name's flickr. And as erickjoeywong notes in comments there, yes, this is a strikingly unflattering depiction of a game's protagonist as its cover-art image. "Oh no, Spidey™ is about to fall on his big blue butt! Can you use your ATARI™ VIDEO COMPUTER SYSTEM™ to help him?"

Posted in Best Of, Essays, Jmac on Games | Tagged , , , , , , | 2 Comments

System's Twilight turns fifteen

Fifteen years ago today, I released my first full-scale original game: System's Twilight.

And when I say "released", I mean "I uploaded it to the Info-Mac FTP archive at SUMEX-AIM." I set up a web page for the game, but I didn't publicize the URL much, because what was a URL? Everyone used FTP.

(I think Info-Mac had a web server too, by that point. But HTTP was merely an alternate way to access the files. It wasn't a web site.)

For fun, here's the announcement I posted to Usenet. (Thanks to Google Groups for preserving it; no thanks for making it really hard to find.)

  From: "Andrew C. Plotkin" 
  Subject: NEW: System's Twilight 1.00
  Date: Sun,  9 Oct 1994 13:36:56 -0400

  I just sent this out to the archives yesterday; it's on the faster
  mirrors already. It's in ./game/systems-twilight-100.hqx on Info-Mac. It
  should appeal to the Cliff Johnson / Heaven&Earth fans that have been
  talking recently...


  System's Twilight: An Abstract Fairy Tale

  This game is a story and a puzzle. The story is made up of several
  parts, not all of which may be obvious. The puzzle is made up of
  many puzzles, some of which aren't obvious at all.

  That's all I'll tell you. The rest you get to figure out yourself. Have

I haven't pasted in the whole thing, but check it out for historic amusement. Bang paths! Compatible with System 6.0.7 and System 7!

Trawling through the Usenet group for the era has been a blast. What were people talking about? Wolf3D. The Seventh Guest. Marathon. Myst, lots and lots of Myst. Doom (it will be ported to the Mac by Christmas! ...but only PPC Macs, not 68k.) And hey, there's a question about Zork (the mainframe Dungeon version, there, although there are also Return to Zork comments).

And some lesser-remembered classics, or "classics". FA-18 Hornet. An RPG called Prince of Destruction (which I seem to have written a detailed review of, and then forgot the existence of). An overhyped Lode Runner remake. Oxyd.

I see that nobody commented on System's Twilight for several weeks. That must have been frustrating. But some hint requests turned up in early November.

I spent a year writing System's Twilight. Was it worth it? It paid for my second Macintosh, I believe. (The PowerMac 9500! No, I neer bought Doom.) It was great resume fodder for my brief stint as a Mac programmer at Magnet Interactive. (Then Magnet tried to turn me into a Win95 programmer. Whoo-ee, did that ever not work. Ah, licensed "Highlander" video game, how poorly you worked out for Magnet.)

And then, just last week, I get this email:

  I'd like to register System's Twilight v1.0.5. Is the address provided in
  the readme ([...]) still valid?

The elided address was that of the shareware company that handled fulfilment from 1997 to 2000. So, no, it's not still valid -- please play my game for free! But I didn't ask where the querent had found version 1.0.5. Maybe one of those shareware-shovelware companies that used to orbit the Mac universe, Nemesis-like, raining down comets of questionable CD-ROMs.

Conclusion: people still like my game! That's really cool.

And now, the porting question. Every couple of years, somebody asks me if I've ever considered porting System's Twilight to Windows, or OSX, or Flash, or Java, or iPhone, or wherever the hot locus of gamerdom is. (Okay, Java was never hot.)

Answer: sure I've considered it. I haven't done it because it would be, probably, another year of work. The art is sized for a 320x512 pixel display; the code is built on the old Mac toolbox. Even the puzzle data files are formatted in Rez source code, for the Mac resource manager. So, basically, starting over. I've always had other projects that seemed more rewarding than re-releasing an old game.

(Plus, I've never been sure what would stay the hot locus of gamerdom. Mac has swapped architectures twice since 1994, and emulators are legally hairy. Java is aggressively portable, but ugly; Javascript is aggressively ported, but slippery as an eel. Flash? Ask me again in ten years. The iPhone? Ask me again in three. Maybe I'm spoiled by the IF world, where games stay playable for twenty or thirty years in a row.)

It's harder when somebody asks if they can port the game. For free, honest... but there's no such thing. I'd want the interface to be done right, which isn't necessarily the way I did it the first time. I'd want to test all the puzzle mechanics. I'd want, in short, to stick my finger in the soup all the time. Likely to be infuriating to the hapless volunteer -- and it would wind up eating months of my time anyway.

So, for now, no ports. Don't come asking. The future may hold options. We'll see.

(In the meantime, the legally hairy emulators do let you play the game.)

I leave you with this lovely map:

Posted in Zarf on Games | Tagged , , , , , | 22 Comments

Anna Anthropy on good level design

Love this lecture from Anna Anthropy on good platformer level design, using a thin but rich slice of "Super Mario Land" (Satoru Okada, Game Boy, 1989) as an anatomical model.

Tagged , , , , , | Leave a comment

Dave Arneson, 1947-2009

A year ago I wrote about the death of Gary Gygax, and what his life meant for the birth of computer games.

All the same applies, and perhaps even more so, to Dave Arneson, who passed away this week. As I understand the story, it was Arneson who took a fantasy miniatures wargame and reinvented it as a structure for collaborative role-playing. That's where we all picked up the thread; long may it continue to unroll.

Tagged , , | Leave a comment

Matt is speedcubing again

My friend (and several-time Gameshelf TV star) Matthew Morse is getting back into speedcubing, the ancient art of solving a thoroughly scrambled Rubik's Cube wicked fast. He started out by buying a new cube, since his old one, while a source of nostalgic affection, is too worn for competitive play.

After I got a new Cube, I promptly set out to demonstrate that I still remembered the solution I had memorized. What I found was that for two related sequences, I had forgotten which sequence did what. Which sequence to use in response to which pattern is memorized by your head, and initially I had it backwards. Once I figured it out, executing them was no problem. Performing the sequences is memorized in the hands, and they hadn't forgotten at all.

Now I'm working on developing my understanding of how the solution works. I've filled several pages of notes based on the simpler case of a 2x2x2 Cube and I expect to be able to move up to the standard 3x3x3 once I have some more details worked out.

I also bought a 4x4x4 Cube at the same time I got the new 3x3x3 Cube. It's still in the package. Truthfully, I'm a little scared of it.

Full post contains reminiscing about his original childhood time with the cube, as well as mention of Jessica Fridrich, a teenage cube prodigy who grew up to become an engineering professor at Binghamton University, and who keeps her canonical speedcubing notes prominently linked from her academic homepage.

Tagged , , | 3 Comments

Quick report: Ralph Baer's talk

This was the most crowded I'd ever seen a Post Mortem gathering, and the packed room was bursting with love for the speaker. When Baer showed a video of his 1967 self and a colleague demonstrating "the ping-pong game", the room went wild; here was footage of a gentleman in thick glasses holding a bulky, knob-encrusted controller showing off what would become the very first home video game console, and the person showing the video through his MacBook was the exact same guy, 40 years older but just as enthusiastic. (The audio on his laptop cut out, actually, so he just narrated the video in-person instead.) I have to say, it was something else, all right.

baer.jpgTelling the story of Odyssey's development took less time than scheduled, so he continued by opening up a Word document that contained illustrations of all his inventions over the decades, telling the tale of each. These were mainly commercial failures you've never heard of (Talking doormats! TV-interacting hand puppets!) but there were a couple of bigger names which clearly subsidized all the other experiments.

Undoubtedly, the biggest of the hits was Simon, a stand-alone electronic game that has been on sale continuously since its introduction in 1978, and whose most recent designs barely stray from the original. (Baer named the bright and many-colorful LEDs in new models, a technology unavailable 30 years ago, as one welcome change.) How many other battery-operated toys can claim that distinction?

During the brief Q&A, one fellow asked him whether the Odyssey was a digital or analog computer. Baer replied that he didn't feel it was computer at all; just a very clever arrangement of relays and switches that interfered meaningfully with the TV's normal operation. (Though I rather feel that to be a perfectly valid, deconstructionist definition of a computer system...)

His response to an enthusiastic "Sir! What advice do you have for us!" was basically: Eh, I dunno, you're all writing software, and I'm just an old TV hacker. But, he noted, there will always be a market for console peripherals.

His parting words for the evening, spoken with a grin, hinted that he was looking at the Wii schematics with some interest...

Crappy iPhone photo by me. You can learn more about Ralph Baer's life work at his page on the Smithsonian's website.

Tagged , , , , , | Leave a comment

Ralph Baer speaking at Boston Post Mortem

The August 5 gathering of Boston Post Mortem, a casual, beerful get-together of professional (and otherwise) video game developers, will feature a presentation by Ralph Baer, the man often credited as the inventor of the home game console. He'll have a "brown box" prototype of the first commercial game console, the Odyssey, on hand as well.

Brown Box multigame.jpgThe presentation will be at the Post Mortem's usual venue, the Skellig pub in Waltham, MA. Consult the link for full details. I plan to be there; say hi if you spot me.

(Image swiped from this page on Baer's own website.)

Tagged , , , , | Leave a comment