The Inauspicious Beginning

The Inauspicious Beginning

It’s been something I’ve wanted to do since I started with Inform those many months ago – no, not finish Industry. I’ll get to that later (with all due respect to my waning credibility on the finisher’s market, there’s nothing quite like a lifetime of projects in various states of in-progressness-ness).

I’ve wanted to experiment with the abstraction of modern video game titles into text-based forms, preserving aesthetics and feel while developing new, text-friendly gameplay mechanics.

You heard me right. I’m making text-based versions of modern video games, because that’s the kind of self-flagellating logical exercise that passes for fun with me.

The first one is going to be Left 4 Dead – starting with the “No Mercy” episode.

Challenges Taken, Challenges Left (4 Dead)

Let’s not make a bad start of this homage: Understand that Left 4 Dead is an exceptional achievement made by a team that knows how to make addictive, challenging games. There’s a lot I won’t be able to do. This isn’t a copy.

What won’t I tackle? Co-op play, obviously, has a number of technical drawbacks including “I don’t want to wait for that asshole to type before I can type” (we’ll file that one under usability). Also, there’s the rather daunting challenge of making the entire first-person shooter experience play out using standard (or at least enjoyable) text-based conventions, which leads to more than a few things that can’t be simulated in text:

  • The challenge of precise aiming and recoil using analog controls
  • The advantage and immersion of audio as a perceptive tool in 3D space
  • The thrill of split-second reaction and twitch factor

Skeptics and folks late for work alike are asking “so, why bother?”

This is the weird bit: Outside of a vague notion that something about the experience in text can be addictive in a new way, I honestly have no idea.

The Weapon Spawning Algorithm

The Weapon Spawning Algorithm

The Semantics of Unique IDs and Shotguns

In just about every text-based whatever I’ve made during my amateur tenure, I inevitably start with weapons. There’s something familiar and comfortable about the types of data I generally like to represent, but my initial sketches ran into an immediate problem.

Left 4 Dead represents weapons in multiple ways, not all of which are a one-to-one mapping. Some weapons lay about as independent objects, such as those dropped by players, some are more like weapon “factories”, such as the weapons tables and lockers – and all of them are identical.

Problem: Inform 7 doesn’t do duplicate objects. If there’s a way to make a thousand identical copies of an auto-shotgun, I don’t know how to do it. A lot of it has to do with the way you type stuff into a text-based game.

>take shotgun
Which one? There are 3,056 shotguns here.
>uh, the green one

If you think about it spatially, the uniqueness of a firearm instance in 3D space has more to do with its position than any unique visual characteristics – if you want that shotgun, you really mean that one sitting over by the chair next to the guy’s half-chewed leg, and the process of selection is one of lining up your cursor over the polygons and doing a bit of pixelpicking. The entire process of identification and selection in text-based games is head-and-shoulders different. Not that a type of spatial ID isn’t possible in a general way in text, but it carries the extra burden of contextual history.

What I mean is:

>drop shotgun
Which one? You are carrying 5 shotguns.
>uh, I mean the one that I found five minutes ago – you know, that was sitting over by the chair next to the…

So, it became necessary to describe the weapons we’d find along our way with descriptors – basic, I admit, but it does bring over a seasoned text-adventure convention:

The crappy shotgun is a primary weapon. It has an index 1. It is in the apartment roof.
The rusty UZI is a primary weapon. It has an index 2. It is in the apartment roof.
The ugly hunting rifle is a primary weapon. It has an index 3. It is in the apartment roof.

I admit it’s a scant example of the kind of choices that’ll be coming up as I attempt to recreate the feel and flavor of Left 4 Dead in the Inform language, but as these problems present themselves, I’ll share the results with you – and not just in these posts. Pretty soon, you’ll be able to team up with Bill, Zoey, Louis, and Francis to take down hordes of text-based zombies yourself.

Just as soon as I get these weapons working.

Be Sociable, Share!