Search Results for: interactive fiction

Trying out itch.io

itch.io is a quick-and-easy platform for distributing indie games. I figured I'd take a look at it; it's a possible way to distribute Hadean Lands in the non-iOS world.

After a few hours of CSS massaging, I now have three of my old IF games posted:

Shade and S&W have donation buttons on them. I've never tried that before; we'll see how it does.

Tagged , , , , , , | Leave a comment

Zarfplan: June is getting there

Happy Canada Day (and pretend I said that in French). 82 out of 90 rooms complete.

I'm not really measuring progress in rooms any more. There were only a few days this month that I'd mark as "wrote some rooms". June was mostly spent on underlying mechanisms which are not located in specific rooms; they're spread through the game. I don't want to get spoilery at this late date, but I have implemented large swaths of code for:

  • dragons
  • human figures
  • shadows
  • doors that change state
  • progressive starting conditions
  • ritual environments
  • looking through magical lenses at all sorts of things
  • the alternative to sheets of paper
  • the problem of trying to create two doses of some potion when I've only implemented one
  • a cigarette lighter

The cigarette lighter was a late addition. Some rituals require you to set stuff on fire. There's a couple of fire sources in the game, and you can light a bit of wood and carry that around, so it's all workable. But carrying around flaming bits of wood turned out to be annoying. They burn out. You have to get more. It felt like an imposition. So yesterday morning I said "Why doesn't this chem lab have handy butane lighters, anyhow? Real labs do."

(I don't call it a "butane lighter", or a "cigarette lighter" either, but a pocket flame source is a pocket flame source. Perhaps you have fond memories of So Far.)

So I can't put the nail in the room-list this month, but I have checked off lots of the game's remaining tasks. I am still fairly confident that I will have a complete, testable game at the end of July. That could slip partway into August, because every task list has a "last 90%" that trails off into infinity. But the game is filling out fast, and it feels like I finished half of the remaining job last month.

I am excited. And nervous.

Again, there's a chunk of work to do after the "complete game" milestone. I'll need to polish the iOS interface and build its eccentricities. (I'm thinking a tappable encyclopedia of rituals, which updates as you discover them. That will save a lot of "RECALL TARNISH RITUAL" commands. And then there's the tappable map, of course.) So August at least is scheduled for that stuff. But I will have beta-test reports coming in as I do the iOS work, so I can parallelize.

Other June news:

For the first anniversary of Seltani, I posted a little puzzle Age called Salvanas. (That link will take you straight into the game world, although you'll have to sign in to solve everything.) No story, just a collection of Myst-style puzzles -- only in text, of course. Statistics indicate that only seven people have completed it to date! Surely this can be improved.

I also got my butt in gear and posted the source code for nearly all of my Inform games. I've always had the source for Hunter, Shade, and Heliopause on my web site; I've now added Dreamhold, Spider and Web, So Far, and several others. (All are under a "for educational/academic interest" license rather than an open-source license.) If you're curious about Inform 7 source code -- or Inform 6, or actually Inform 5 for the oldest ones -- dive on in.

I've been taking a look at new distribution platforms. If you saw Shade on itch.io for pay-what-you-want, would you pay a dollar? I could set that up. There's also the Humble Store, although that's got an application process and their developer FAQ is a bit thin.

And finally, the 2014 Interactive Fiction Competition is open! Gaze in awe at the brand-new web site, built and run by our blog-host Jmac. Sign-ups and prize donations are now being accepted.

See you at the end of July. With a little luck, I will be into the final stage of development by then.

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

Old Zarf code

In a recent blog post, I wrote: "Maybe we'll even make more of a swing towards releasing game source code."

That thought stuck with me. I asked myself why I haven't posted the source code for all my classic IF games.

Some, I have. I posted source for Hunter in Darkness, Shade, and Heliopause because I thought other game authors might be interested in the techniques. But the larger games (Dreamhold, So Far, Spider and Web) have never had public source releases.

Why not? I didn't put it in words, but roughly: players should experience the game, not the software. If there are secrets, they should be ferreted out by people playing the game, not people browsing the source.

Of course there are Z-code decompiling tools, so I can't truly enforce this. Nor would I want to go down the DRM/obfuscation road to stop people from prying. That would just be a huge waste of my time. But if people wanted to pry into the technology, I wanted them to have to expend some effort. That friction matched my feelings about the right way to play the game.

Only I don't feel that way any more. I can't remember why I ever gave a snort.

Oh, I suppose I do a little. When a game is freshly released and players attack it en masse, the idea still applies -- I want the group experience to be about the game. But a year later? It's meaningless. And some of these games are fifteen years old, or older.

So yeah. It's time to knock that habit over. Here are some source links:

The I5/I6 games are tar.gz files, because for each I had to pack several source files together with the hacked library code that I used. The I7 games are directly readable as (syntax-colored) HTML.

All of these can be compiled with Inform 5, Inform 6, or Inform 7. The exception is Delightful Wallpaper, which was built with a 2006 version of I7 that's no longer available from the web site. I'd have to update the source to recompile it.

I have not used an open-source license. The games all say what Shade has always said: "This source code is provided for personal, educational use only." You can read it, and copy the programming techniques, but you can't make derivative games. (That is: my game text is copyrighted and I intend to keep hold of it.)

(Academic writing about my games is of course fine. That's fair use in the old-fashioned sense.)

(Fanfic -- riffing on the story or characters while using original text -- is another barrel of cephalopods. I figure I'm in the same position there as any other writer. You've always been able to read my story text, as part of the game, and my source release doesn't change that.)

Hadean Lands is an interesting question. I'm going to charge money for that one; it changes the equation. I guess I'll wait a year after release, and decide whether I feel like doing a source release then? Feels right.

(One of the HL Kickstarter rewards was the source code as a printed volume. I won't wait a year on that, obviously. But that was a limited reward, and will only be distributed on paper, not online; so I'm leaving it out of this discussion.)

Tagged , , , , , , , , | 4 Comments

Zarfplan: May report, counting down

Last month: 45 out of 86 rooms complete. This month: 65 out of 89 rooms complete. I did twenty rooms in the past month. The total grew because I decided to split one room in half, and then added two tiny closets.

This covers most of "chapter 1" of the game. In exploring this far, the player can reach 66 rooms and nearly all of the rituals of the game. (It's the tool-collection stage of the story.) Figuring out how the tools fit together is "chapter 2", and that's how you reach the last 23 rooms -- the tricky ones.

It's not all about reaching rooms. There's a lot of... unlocking cabinets? Okay, cabinets aren't much different from rooms. No, the fun of the game (I hope) is in trying to reach certain locations with certain items. It's fairly easy to enter room X if you use up resource R, but to bring resource R into room X is harder. That sort of thing is "chapter 3".

So the game will involve a lot of backtracking. (Yes, I've implemented a "go to room X" command.) This is why I can't just say "I will implement 24 more rooms and be finished." I will probably implement 20-ish rooms in June, but there are several crucial rituals which occur in existing rooms, and I've been saving those for the end. July is for those.

I still expect to move into testing at the end of July.

Then I have to draw a map, polish the iOS interpreter, and work on other presentation issues. But hopefully I can do that in parallel with testing.

Other news...

The new Inform 7 release arrived on May 7th. People leapt on it with gusto. It's very nice. I've decided I'm not going to shift HL development to it, though. It has no features that I need, and while it's faster in some ways, it's slower in others. Plus -- the time factor. I could easily blow a couple of months updating all my code and validating that it all works the way I expect in the new system. That would be a bad use of my time at this point. So I'll stick to the compiler I've been using.

I have been playing around with an in-game debugger for Inform 6 games. (Built into the Glulxe interpreter, actually.) This is not very useful for I7 games, because it only tells you about the fiddly I6 internals. But it's already helped diagnose a few fiddly bugs. See this source branch and this file if you're interested.

The one-year anniversary of Seltani is coming up soon. I can't let that slip by unobserved, so I'm cooking up a small set of puzzle Ages. Should be fun.

I went to Balticon! It was a fine (working) vacation. (I didn't implement any rooms while away, but I did implement two cabinets.) There was no Lost Pig, but I took part in a handful of panels about IF, narrative game design, and so on. All went well. (Okay, three of them went well. The one on mobile app development fell kind of flat. Next time, I'm sticking to narrative/game topics.)

Speaking of conventions, BostonFIG is coming up again in September. The Boston IF group plans to host IF events there, like we did last year, but we haven't gotten down to specifics yet.

I briefly considered demoing Hadean Lands at FIG. However, friendly voices (thank you jscott) pointed out that it would be tacky to demo the game in public before my backers have seen it. True! So I'm thinking about other game ideas I might whip together by September. The entry deadline is June 20th, so I'd have to whip rapidly, but it might happen...

See you in a month, with -- I hope -- the last room-count progress report.

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

Purposes of archiving

This was a big week for IF events -- Spring Thing ended and ShuffleComp voting started. There were unexpected wrinkles in both of them, but I want to discuss the less dramatic one.

ShuffleComp is a music-themed game-jam-like event. I won't do the whole spiel; basically you get a song list and you're supposed to write a short game inspired by one of the songs. I didn't enter, but Jmac did, and he got all electrified about the idea of using Seltani. (Which is... do you read this blog? It's my multiplayer text Myst MUD project from last year.)

So Jmac implemented his idea, and that was great until he re-read the rules and saw:

The only restriction on platforms is that the game you submit must be playable as-is, not reliant on being hosted on a specific server or website. (This doesn't forbid hosting elsewhere - but if your game breaks if hosted on the IF Archive or played offline, that's a problem.)

Our topic for today is: why is the IF Archive, and how does that role change as IF changes?

(Spoiler: I do not have tidy answers. Best I can do is pare the questions into neat slices.)

(Footnote: The ShuffleComp organizer wound up disqualifying Jmac's game, with apologies all round and no ill will. Jmac has posted his game link on his own web site. You should jump into Seltani and try it.)


That ShuffleComp rule implies (and supports) a particular view of how games are to be managed. People write games; the organizer collects them; the organizer posts them as a big zip file; players download them and play them; the Archive saves them forever. There may be additional affordances for online play, but the big zip file is fundamental.

This set of assumptions is neither universal nor arbitrary. Various events and competitions in the IF world have different rules and models. But they generally represent the general consensus agreements of the IF community, which include "long-term archiving is good" and "players should be able to save playable copies of games".

...Except of course "the IF community" covers a lot more ground than it used to. The IF Archive accepts Twine games, but the Twine community has no general consensus that all their games should be uploaded to the Archive. (Some authors do, the majority don't.) There are hosting sites for Twine games (e.g. philome.la) but I don't know if they are operated with the same assumptions of long-term archiving.

These are technical issues as well as cultural issues. Or, I should say, cultural issues define technical issues. IF games in my world can nearly always be distributed as simple files -- one game, one file. Why? Because I wanted a way for people to upload IF games with graphics to the IF Archive! A single-file format fit the way we did things in the 90s, so I wrote up the Blorb spec. That let us keep doing things that way. But Twine came out of a different community.

(Okay, Twine came from Chris Klimas who was also in our community in the 90s. Nonetheless -- different goals, different needs.)

Obviously, Seltani also breaks the one-downloadable-file assumption. Let's not get into the question of whether Jmac's game needed to be built in Seltani. Assume that in the future, more IF will come along that undermines our archiving assumptions. We can imagine many possible reasons:

  • Inherently multiplayer games
  • Games that draw on real-time Internet data (Twitter, current news headlines, etc)
  • ARG-style games that are hosted on social media services for reasons of authenticity
  • "Living" games, where only one "live" copy exists and is passed from player to player
  • Games built in proprietary web services
  • Commercial games, where the author does not want free copies distributed
  • Games that run afoul of parochial laws
  • ...?

These are not hypotheticals in the IF world. Consider Blueful, Winterstrike, Naked Shades, the whole Versu story, etc.

The question is, how do we support our desire to save stuff without stifling or rejecting IF in these categories?


Archiving covers many needs, so let's split that up as well.

  • Long-term preservation: you want to play a game years after the original web site has vanished.
  • Short-term offline use: you want to download a game and play it without direct Internet access.
  • Medium-term reference: you are writing a web page about IF games (i.e. your games, or a specific competition) and you want to link to the games without hosting your own copies.
  • Discoverability: having all games on the same web site makes it easier to find things.
  • Academic study: you want to learn how a game was constructed.

We should note that the IF community (and IF Archive) are not equally interested in all of these things. The Archive is famously terrible for search -- or it was, until IFDB came along. (And IFDB can index games anywhere, so it does not directly boost the "all games on the same server" goal.)

Also, while we're fans of archiving games, there's no broad agreement to archive source code. Future academics may be more interested in source files than in game files, but most game authors don't upload it. (I have posted source for some of my games, but on my web site rather than the Archive.)

(Ironically, Twine is more accessible in this way, because Twine games are constructed in Javascript. They always contain their own source.)

Here, too, culture influences goals. And vice versa. It's not a stretch to say that the IF community-as-we-know-it is the Archive; we're the people who have this shared history. But also: by clinging to this shared history, we are conservative. (In all senses.) We are biased against completely new solutions, because they don't fit our models.

So we come back to the topic: how do we proceed?

The immediate answer is, as usual, save something. Save some files. Seltani has an export facility, so you can get the "source code" of your Age. It's not playable (since I never got around to an import facility) but it may make an academic happy someday.

Besides, I will write that import facility someday. Then it will be easier to try out Seltani worlds offline. Not easy, because the software is a hassle to set up -- but if my server dies someday, somebody else could reinstate some part of it.

This demonstrates the next answer, which is that if you're designing an IF system... think about this stuff. There are no requirements, but there are questions. Does it make sense to export source? Does it make sense to build a single-file package of a game? Can you document your format? (You've already thought about whether you can be open-source; that question hovers around every software design project.)

I will say, from the perspective of having done this for twenty years -- the history is important. I can talk about the games I wrote in 1995 and people can play them. Twine was invented five years ago and didn't start to boom for a couple of years after that. In 2030, the early history of Twine will be important! People will want to know what was going down! That history is part of what you are building today; don't neglect it.

Okay end of lecture.

I expect that IF events will continue to say either "must be archivable" (like ShuffleComp) or "is your game archivable?" (like IFComp). All the reasons above apply. Maybe we'll even make more of a swing towards releasing game source code.

I encourage people to chime in on this. Which of the above goals of archiving are important to you? Or did I miss some? What games have come out that slid past the IF community because they didn't fit our way of thinking?


(See also previous post: Everything I know about digital preservation.)

Tagged , , , , | 6 Comments

Inform 7 update

Graham Nelson has released a new version of Inform 7, the first in over three years.

This release is a major reform of a now-mature language which is widely used, and it has been over three years in the making. Text handling is better, Inform can now generate adaptive grammar, there's real number support, and a new Public Library of extensions is being introduced. There are significant improvements in the user interface for Mac OS X.

-- the very short form of the very long release notes

Also, the app's ancient-mosaic visual theme has been replaced with a stylish modern subway-map motif. Next thing you know, IF will be considered a 21st-century gig, eh?

My big contribution was the General Index of the documentation. This is a rewrite of the unofficial index I did a few years ago. Finding stuff in the documentation has been a perennial complaint about I7, and I hope this goes some way to fill the gap.

To repeat a word of warning: "This will be a disruptive release." Every major release of I7 has changed enough under the surface to warrant caution, and this one is a bigger shift than most. If you load an existing game project into the new I7, it is not guaranteed to compile -- and if it does build, it is not guaranteed to behave exactly the same. Test carefully, and if you prefer stability, keep your 2010 version of Inform (release 6G60) around. (It should be safe to keep both installed on the same machine.)

To be clear, we expect most old I7 code to still build with the new compiler. The major exceptions are if you used deprecated phrases (such as procedural rules), or if you used an extension that has serious I6 hackery under the covers. Such extensions will have to be updated for the new release. Many have been already; check the new Extensions Library.

(In case you're curious, Hadean Lands will remain a 6G60 project. I've got 25000 lines of working code, and I am not going to risk subtle breakages at this stage.) (Yes, I wrote a lot of regression tests. They're geared towards finding mistakes in my code, not changes in the underlying system.)

Congratulations to Graham and the rest of the I7 team for getting this wrapped up. To everyone else -- enjoy the new toys.

Tagged , , | Leave a comment

Zarfplan: April only it still feels like March out there

Seriously, it was 45 out today. Now it's rainy, but that's good news because it's a warm humid front coming in and we should get a May that feels like April, at least.

It's weird looking back at earlier updates. Last month I was pleased because the tutorial was finally done. In February I was pleased because I had finally started writing some rooms. Now the tutorial feels like it's ages past, and I have 45 rooms nailed down. That's 45 out of 86 total. We are past the halfway point, area-wise.

(Yes, I originally estimated 82 rooms, but a few more tiny ones have slipped in.)

So I did... (quick subtraction)... 23 rooms in April. Plus all the associated furniture and recipes and puzzle elements found in those rooms. Also I hammered in some optimizations that speed up large I7 games considerably (see here if you're interested), and added one of the two special viewing tools. And fixed a typo that's been staring me in the face for about a year and a half.

I have been informed that my last couple of update posts sounded disconsolate and defensive. (Not that you folks aren't supportive.) I really didn't mean them that way! This is the home stretch and I have been accelerating down it. I am aiming to do twenty rooms per month for May and June, and that will carry me to the end of HL's physical area. I'm excited.

The game will not be absolutely done at the end of the 86th room, because there is a final puzzle and some final scenes. (Associated with an existing room, but I will write them last because that's how I work.) Throw in some time for writing tests, and I can reasonably say that this thing will move into testing at the end of July. In fact this is so reasonable that I have now said it to you folks, out loud.

Wacky, huh?

The other news of the day was supposed to be the new Inform 7 release. This has slid a bit but should be out in a few days (see this post). I did a bit of final index-polishing last week, so you have that to look forward to.

Onward.

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

Zarfplan: March update

I will keep this short, because I just noticed that I have to run to the Boston IF meetup soon, and I want to get this post out before then. (A late-night blog post would wind up dated "April 1", and do any of us need that additional cognitive stress? I think not.)

In the past month I have completed thirteen rooms, with all the objects, descriptions, recipes, and messages that appear therein. As usual, some of these rooms are fairly bare (corridors) and others are crowded with stuff.

I have also completed the tutorial -- which took nearly two weeks on its own. The tutorial is intended to hold your hand through the first room. That's basically the content of the teaser game. It requires more code than you might expect. It's done, though.

I have mapped out the "environmental spell component" that I mentioned last month, and started coding it up. That's not a huge task; it was just a corner of planning that I kept sweeping around, and now I've gotten to it.

I did not put in any time on the Edifice Gumshoe project idea. I still have hopes for it, but it wasn't gonna happen this month.

I have finished up some infrastructure work (bug fixes and feature requests for the Inform 6 compiler). These will someday enable bigger and better IF games. They may enable Hadean Lands to be more memory-efficient, but that wasn't the primary goal -- I just wanted to keep the track clear ahead, as it were.

Speaking of bigger and better IF: Graham Nelson has publicly admitted to a planned release date of April 30 for the next release of Inform 7. This is very exciting; the current release of I7 is three years old and the bug list has been building up.

One of the lines in that post mentions "a full index for the documentation." I cheerfully claim responsibility for that one. It's a complete rewrite and update of my old I7 index page. I worked very hard on this in January and February of 2013. Soon it will be out in the world, fully integrated with the I7 IDE.

Am I going to update HL to use the new version of I7? I haven't decided yet. I'll give it a shot. But I've got a lot of code written for the current version. Even if it all compiles with the new version (which it might not; I use a lot of low-level hacks) it might not work exactly the same. And I'd rather not spend a lot of time re-testing existing code, when I could be writing new code. So we'll see.

Upcoming Zarf events:

I will be at the MassTLC Made In MA party on April 10, demoing Seltani. (Also Meanwhile, Dreamhold, and the rest of the iOS demo pack.)

I will be at Balticon in May. I will be on some kind of IF-related panel but I don't know the details yet. (There just might be another Lost Pig run.)

I have made plans to attend Dragoncon for the first time. As usual, watch for the hideous plaid jacket.

And that's it for the month, I guess. See you at the end of April for... more rooms. Probably a lot more rooms, now that the tutorial is all hammered in.

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

Zarfplan: February was kind of nuts

I suppose you want the room count, don't you. I will give it to you. When? Now, I should think. You look forward to it, do you? I think you do. ...Nine rooms, I got done this month. All clues, all descriptions, all scenery, all actions handled. I can play through those nine rooms and it is a solid, playable IF game.

This is most of what I call "chapter 0" in my notes. After another couple of puzzles, the player transitions to "chapter 1". That's where most of the game opens up, at least a little bit.

But how many rooms are there in this game? I hear you cry. Okay, that's a fair question. There are 82. So you might conclude that I am 11% done with this thing and have eight months of work remaining. And that's... not a completely terrible estimate.

I don't mean that it's my estimate. Or that it's accurate. Rather, I guess, that the possible errors fall in both directions. So I can't say it's definitely too long or too short.

Not all rooms are created equal. Laboratories and storage rooms are packed with exciting objects. Hallways are fairly boring. (They have just a couple of exciting objects that I moved from the storage rooms to even things out.) Maybe 25% of the rooms are hallway. They go by quickly.

Some of this month was spent constructing scenery classes which I will reuse throughout the game. That will save time later. On the other hand, I didn't have a chance to start the tutorial, which will run throughout the actions in the first room and then mostly drop out. A tutorial is hard work and may chew up a couple of weeks of March on its own.

I still haven't tackled the "monocle" plan (changing how some bits of paper are presented), nor one of the environmental spell components. (Neither appears until "chapter 1".) There's some planning to do there.

Some of this month was spent profiling the HL code, just to see if there were any horrible inefficiencies. Of course, there were. So I dug into a little low-level hackwork to speed up certain I7 activities. I will have to do more of this in the future.

So I add all those factors up and shrug. I got a lot of implementation done in February. It was a good month.

What else happened in February? I worked some on Project Edifice Gumshoe. I got as far as an iPad prototype, I showed it to people... total flop. The puzzle mechanic is simply opaque to players. Yay prototyping! I have some ideas for starting over. Boo starting over! Depressing even when it's necessary. But the code from the prototype will be recycled into something. I got clever with iOS animation transitions, and the result is very tactile.

I helped out with an effort to update the Z-machine specification documents. This is not strictly in my wheelhouse -- Hadean Lands runs on Glulx, my successor to the Z-machine. But David Fillmore decided to clean up a bunch of unfinished editing and error-correction from the old days... by which I mean 1997... and that turned into a bunch of online discussion. Plus I have the keys to the web site. So I put in some time on that.

There was also a proposal about adding text captions to IF cover art, and in general to images in IF data files. (For accessibility, like alt tags on web images.) This is in my wheelhouse; I proposed the IF data file spec so I get to organize updates to it. Then we looked at the IF Babel site (covering bibliographic information, including cover art) and realized that nobody was in charge of it; it's just been sitting untouched on the Archive since 2006. So I cranked up a mailing list and got that side moving. (The Blorb side is awaiting comment; I'll add it to the site next week.)

And today I dug into a completely tedious idea about adding more boolean flags to the Inform 6 object structure... which I thought I implemented in '98... but it turned out I forgot. Result: a completely tedious patch to the I6 compiler, which works great. (Unit test!) Only my clever optimization idea of '06 didn't take this into account, so it breaks when you run it. I'll have to update the Glulx spec too.

Will Hadean Lands benefit from more boolean flags? Probably not! Because even if I get the interpreter fixed, I7 doesn't know to take advantage of it! Yes, IF is still software engineering: messy. But I move my parts forward one step at a time.

And I played the new RealMyst update, and some of the Dishonored DLC from last year. Gotta finish that this weekend.

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

Zarfplan: Welcome to the new age

(I have that song stuck in my head, sorry about that.)

It is the end of January; it's been six weeks since my last update. Merry 2014! The holidays are over and I ate a lot of cookies. You've probably forgotten what my voice sounds like. Welcome back. Or welcome me back, I'm not sure which way it runs.

January was a weird month for Hadean Lands development. I said it would be "story bits". What does that mean?

Way back when I was sketching out this storyline, I outlined a set of characters who would appear throughout the game. I sketched out their roles, and how they would relate to each other and to you. One appears at the very end of the teaser, if you recall back that far:

You can see a figure caught behind the fracture. You peer closer in the gloom... That's Lieutenant Anderes, apparently frozen mid-step. What's she doing down here? And why is she carrying a crumpled alchemical recipe?

My reputation is for not writing games with a lot of interacting characters. It's just not my thing. I suspect it will never be my thing, but I keep trying to put them in, and they keep winding up... heavily constrained. The interrogator in Spider and Web only permits you to respond "yes" or "no". The NPC in Dreamhold is only seen in flashbacks.

I've gone through the same cycle with Hadean Lands. As you see, the character above is "frozen" in a splinter of cracked space-time. Not exactly Floyd the chatty robot. Don't get me wrong: these characters will be woven into the story progression. Their positions and situations will not be fixed throughout the game. I have some ideas on non-traditional interactivity, which I think will be nifty.

On the other hand, they're not as deeply integrated with the puzzle-based storyline as I'd like. (Some critics would say Dreamhold had the same problem.) I've had this outline sitting in my notes for... way too long... and this month I just sat down and crunched out the text. If I had written it in parallel with the past three years of puzzles and map code, it might have come out smoother. (If I hadn't seen it as scary Character Writing to be procrastinated... oh well. Like I said, it's not my thing.)

Anyway, it's done. I now have a text file with N characters, described differently in M stages of the game, with X variations for branching possibilities. It's not a big text file, but it covers all of the game. And that's a task checked off. Victory!

As you can tell, I have reservations about this stuff. I had reservations about the flashbacks in Dreamhold too. Should I let that slow me down? No; I should get on with writing the game.

The good news is that this text was the last scary part. Now I have the map structure, and the puzzle mechanics, and the story bits, so I can dive into my usual IF-building plan: start at the beginning, implement until the end.

Thus: tomorrow, I will sit down and re-implement the beginning of the teaser. (It's changed somewhat, so I can't just copy the code over.) I'll start setting up the first room, just as the player will see it. I'll build all the scenery. Then I'll hook in that first ritual. Then I'll move on to the second room...

I still can't say how long this process will take. I won't finish it in a month. But it's the last stage of implementation. When I reach the last room and the last puzzle, I will have a playable draft of Hadean Lands. Scary, eh?

Quick note about related IF work:

  • I've updated my IF test tool to handle "include" sequences. (This will become critical for me, as HL proceeds.) It can also now test the contents of the status line. (Totally unnecessary for me, but I've been meaning to add that feature. Somebody must want it.)
  • I have planned out a wacky little iPad text game, which currently bears the code name "Edifice Gumshoe". (Inelegant, I know.) I've started implementing it, in spare hours. I'd like to ship it in the next couple of months. Just so that the world doesn't forget my name.
  • I'm making tentative plans to attend Balticon again; I might even appear on some panels about interactive narrative.
  • I've hung up a Heavenly Shining Beacon of Hope in my computer room. This has nothing to do with IF. I just like it.

I'll see you at the end of February. I'll tell you how many rooms I implemented in a month -- and with that, I might even have an estimate for finishing the thing.

Posted in Zarfplan | Tagged , , , , | 3 Comments

Arisia: IF and gaming panels

I spent this past weekend at Arisia, an SF convention. Like many conventions, it's diversified its topics to SF (and fantasy) in comics, TV, movies, and gaming. So I wound up at a whole series of nifty panel discussions that mentioned interactive fiction.

Okay, it was the deadly trifecta of gaming discussions: Are games literature? Are games art? And what the hell are games anyhow? But the moderators all ditched the cliche questions and got on to interesting stuff.

(I was not on the panels -- just sitting in the audience. I got to throw in some comments, though.)

I do not have transcripts of these. I tried to take notes, but at some point in each panel I got caught up in the discussion and spent my time thinking of comments rather than writing down what people were saying. So you get a rather disjointed view of all of this. Sorry! I think it's worth copying my jottings anyhow.

Quotes are guaranteed not accurate. I attempted to get down what I thought people meant; errors are mine. I've also thrown in some of my responses that I wasn't able to get out loud in the panel. Editor's privilege.

Games as Literature

Emily Lewis, John McDaid, James Meikle, Mark Waks / Justin du Coeur, Alan Wexelblat (mod)

The moderator started off by declaring that the panel was about multi-player and other collaborative game forms. (Single-player games are equally literary, but have been discussed plenty elsewhere.)

Introductions:

  • JMcD: Wrote an old-school hypertext novel: Uncle Buddy's Phantom Funhouse
  • EL: Worked on a group game/educational course, Operation LAPIS.
  • JMk: Designs roguelikes.
  • JdC: Writes LARPs.
  • AW: I missed what he does, other than "gamer".

JdC: When I create a LARP, I am writing the first half of a novel.

JMcD: The notions of character and story arc are baked into traditional literature -- but this is a bug, not a feature. They come from the affordances of written-down story as it evolved out of oral literature. Interactive fiction is not bound to them.

JMk: (Computer) MMOs are not literature; they're history or politics. (Just like history textbooks are not literature.) They're history of a fictional world, but this is not the same as fiction, because all the actors are real people wearing masks. (The goals are fictional, the struggles are not.)

AW: A game has failure conditions, literature does not.

JdC disagrees: LARPs are designed to not have failure conditions. Tragedies in the LARP story should be successes for the players, because the players' goal is to be true to their characters. Also, MMOs mostly don't have failure states, only short- and long-term setbacks.

(I also disagree, for a different reason: I simply think that literature may or may not have failure conditions. That may be a good criterion for deciding what a game is, but it's orthogonal to literature.)

JdC describes a combat system for an Oz LARP: Everybody has a combat strength, represented by a number. In combat, you compare your strength to the opponent, and the stronger takes the weaker captive. This is what combat situations look like in the Oz books, so that's how the game should behave. (Why the abstraction of numbers? Because it determines a result simply, without distracting players from the scene. Once the outcome is known, players can concentrate on role-playing to get there.)

JdC: A work is literary if the author intends it as literature.

JMcD: No, it's about reception. A work is literary if the reader (player) takes it as literature. (Describes a reader who didn't realize that Uncle Buddy was fiction; thought it was notes about an actual science fiction author. Eventually made that leap to reading it as a story rather than history.)

Some discussion of whether reality (real life) is vastly more boring than literature, or whether reality is the biggest, most exciting story possible. (Clearly these are Great Truths, since they're opposite and both true.) MMOs (think Eve Online) have long boring stretches, but interesting moments of story come out of them.

EL: What if you blend reality and game? (Leads to discussion of Ingress, an augmented-reality game.)

AW: Ingress is a terrible game, but a really interesting experiment. (Why terrible? Notes that Ingress has no representation of other players, much less any way to interact with them.) Augmented reality calls into question who the author of a story is.

JMk: The MMOs that seem most story-heavy are the ones where players compete for resources in a meaningful way. (Again, Eve. Players' time is always the base resource.) Competition is necessary for interesting cooperation.

EL: Is a work literary because players can follow a story, or because players can invent their own story, or what?

JMk: "Literature" is not a binary -- a work is literary to some greater or lesser degree. (General agreement.)

JdC, EL: The literary result of a collaborative game is the "war stories" that players tell afterwards. (It's an oral tradition, in the end.) The "literature" of Eve is not the day-by-day play, but the narratives in people's heads after some dramatic event. Therefore, game designers can't just design an experience; they must consider how players will remember the experience.

That's No Game

Izzy Peskowitz, Yitzy Abramowitz, Maddy Myers (mod)

I didn't get detailed notes on this one. It was a spirited discussion on the various kinds of games that get the "not a game" label, which seem to be heavily weighted towards interactive narrative: Gone Home, Dear Esther, The Walking Dead, choice-based IF, parser IF.

Everyone in the room was happy to adopt a broad definition of "game", so the discussion circled around why these things are contentious. Audience mismatch? Bad marketing? What expectation of a gamer is not being satisfied?

Maybe the whole question will subside as IF becomes more mainstream. Once "games like Gone Home" are a familiar category on Steam, players won't be disconcerted by them.

Much talk about when player choice counts as (or feels like) "real" choice. The panelists seemed to be evaluating everything by the ending -- a player choice which does not affect the final scene "doesn't count". I brought up Emily Short's notion of reflective choice (as a player, you can decide what you think of an event even if the game doesn't recognize that).

Also, games like Depression Quest convey meaning by how they offer choice -- meaning from game mechanics. Also, in literature, we commonly agree that how the protagonist gets to the end is more important than what the end is.

A reductio ad absurdum: if you add a non-interactive cut scene to the very end of a game, does it invalidate all the choices the player made up to that point? I say no.

Much discussion on how these categorization questions are political. Gamers like a particular kind of game, and when an unfamiliar category shows up, they push back: this new thing might drive out the stuff I like! (I didn't have a chance to mention how this exact political reaction has been playing out in the IF community.)

Does it matter whether these things get labelled "games"? It sure does if you want to make money on Steam. But on the other hand, Maddy Myers talked about failing to describe Gone Home to non-gamers. Maybe she should have been trying to describe it as literature rather than as a game?

Games as Art

Christopher K. Davis (mod), Maddy Myers, Izzy Peskowitz, Brianna Wu, Frank Wu

Introductions:

  • BW: Producing Revolution 60, a choice-based graphical adventure (upcoming).
  • FW: Doing artwork for Revolution 60.
  • MM: Videogame critic and journalist.
  • IP: Gamer.
  • CKD: Gamer.

Again, I didn't get specific notes.

Everyone agrees that games are art, sure, no problem. BW says that everyone on her team is an artist -- the art people, the sound people, the programmers, it's all high-level creative work. (I think programming is "design" rather than "art", but so what, really.)

The spectre of Roger Ebert still hovers above us. (After his widely-reported "games are not art" post, Ebert tried some games, and declared that Flower was art. Interesting that his criterion seems to be the opposite of what we got from the previous panel; hardcore gamers might say that Flower is "not a game". Is Ebert just stuck in a games-vs-art dichotomy?)

Games and game-related art are big in the New York gallery scene. Pixel art, interactive installations, etc. The Museum of the Moving Image has an indie-game exhibition; even MoMA has fastidiously stepped over the line.

Tangential comment by MM on how Boston indie game devs are spooked by journalists. Promote yourself dammit! Talk to the media! (I am terrible at this. I got her business card.)

Interactivity in Fiction

Heather Albano, Erik Amundsen (mod), Max Gladstone, Forest Handford, Carolyn VanEseltine

Introductions:

  • HA: Author of Choice of Romance and other choice-based games. Lead writer on Codename Cygnus. Two self-published novels.
  • FH: Director of Firefly Arts Collective (local Burning-Man-style hacker/art group).
  • MG: Published two fantasy novels, then wrote Choice of the Deathless (choice-based game in the same setting).
  • CVE: Working on Revolution 60. Several parser IF games.
  • EA: Gamer, writer, poet.

MG: Second person is exciting to work in. It's unusual in written fiction (though not unknown, Stross etc). It adds a storyteller or narrator voice. (I humbly add my lecture on this subject from a few years back.)

FH: Interested in stories that bleed over into real life -- books with in-character web sites, etc. (I tend to call this "alternate reality fiction", which is not necessarily a game. Although interactivity bleeds in whenever the reader starts exploring and engaging.)

CVE: Planescape Torment had a powerful moment when the game turns and asks you what you think about the game events. (Again, "reflective choice".) Interested in player investment -- a game doesn't move forward without some player commitment.

HA: There's a big psychological need to be the narrator, particularly in kids, but to some extent for everybody.

EA: Look all those online "which foo are you" tests.

MG: The fun of constructing a character -- defining the narrator through accumulated choices.

CVE: But there's also IF where you have to commit to a character without knowing who it is. (Mentioned Spider&Web, unreliable narrator.)

MG: Interactive stories about redemption. You have no choice about doing something awful; your choices are about how you deal with it.

MG: I'm a fast writer, so I've been able to do novels "by the seat of my pants". But building Choice of the Deathless required a lot more planning. Had to learn to outline. (Not to map out events -- the sequence of events is fixed -- but to map out the various ways a player can approach them. Which NPCs are allies, rivals, friends, enemies, etc.)

CVE: IF can place the storytelling "camera" at a large distance (cut scenes) or close-up (moment-by-moment interactivity). There's no middle range. This is different from traditional fiction. Also, in IF you usually stick to one viewpoint (or maybe two), to keep the sense of engagement strong.

MG: Right -- in novels I like to jump between character viewpoints, because they see things (and each other) differently. CotD didn't do that.

HA: Constructing a story arc in a game and in a novel are the same technique. But static fiction has more techniques available. The "Choice of" game model doesn't have cut scenes at all; the camera is always close in, making immediate choices.

MG: All types of IF have inherent illusions. Myst has the illusion that you can travel anywhere, without barriers. ChoiceOf games have the illusion that any life course the player can imagine is available. (Of course in both cases there are strict boundaries, and the game designer works hard to draw the player's attention to targets inside them.)

EA: This is very different from table-top roleplaying, where the GM is expected to let the players go off on any crazy tangent, and improvise to keep up.

Much discussion on "railroading" in game design. Audience comment: Railroading in games is like exposition (infodumps) in novels. You have to do some. It gets a bad rap, but it's not per se evil -- it's just really noticeable when it's done badly.

I made my standard point about multi-level game design: unless you're writing a tiny/experimental art piece, your game is doing more than one thing at a time. It's not a tradeoff between railroading and agency, it's a tradeoff between short-term, medium-term, and long-term agency. As long as the player's attention is on the level with plenty of choice, the player won't feel railroaded at other levels.

HA: Yes, that's why the ChoiceOf model is a series of episodes.

CVE: Similarly, that's how Fallen London works -- if you're focussed on long-term stat goals, you're okay with the simplistic short-term grinding structure. (Well, up to a point.)

HA: Shared-world anthologies (Thieves' World, Bordertown, some of the Darkover canon) are interactive in a sense -- interactive among authors, rather than between audience and author. (Mention of Alternity, a collaborative journal fanfic game.)

MG: Fantasy Powers League, a collaborative/competitive online story game that he got into as a teenager.

Game Developer Women (Carolyn VanEseltine, Brianna Wu, Maddy Myers): I didn't attend this, but it apparently got into Twine and indie narrative games. Hopefully someone will report on that one.

Not a panel, but worth noting: A friend turned me on to Torchbearer, a recently-Kickstarted tabletop RPG. It describes itself as a "love letter to Basic D&D", but I'm seeing a link to old-school IF as well.

Why do I say this? Because, as my friend described it, Torchbearer's three core mechanics are:

  • The light timer (your torch burns down quickly)
  • The hunger timer (you have to eat regularly)
  • The inventory limit (you can only carry so much)

These are the three Zork/Adventure-era tropes that modern IF has comprehensively dumped. (Everyone bitches about mazes, but we acknowledge that a creative twist on the maze can be cool.) I'm keen to see a game constructed around them.

And those are my gaming notes from Arisia. I will be at Boskone next month, but Boskone tends to be more book-focussed. We'll see.

Tagged , , , , , | 8 Comments

Random historical "treasure"

Here's a thing I found in a box: the records of my solving Infocom games.

(click for bigger and larger)

Back when I was first playing these things, I would generate these transcripts. Not while I was solving them -- oh, what a waste of paper that would have been -- but when I finished. I'd start from the beginning and play through to the end, reeling out all my hard-won game expertise in one swoop.

Well, maybe not one swoop. You can see that one of the transcripts starts in the middle of Planetfall. Probably I came to the end of a ream of paper and had to feed in a new one.

This is fan-fold dot-matrix printout from an Apple 2. It was an Okidata printer. Microline model 92, I think?

I have no idea what to do with this stuff, other than put it back in a box. It doesn't encode anything interesting about my play experience, since I was aiming at a clean "speed run". I guess you could analyze my typos.

If I get sufficiently famous, I guess one day I can donate my papers to a literary foundation. Something to look forward to.

Tagged , , , , , | 1 Comment

Jason McIntosh is the new IFComp organizer!

I'd be coy about it, but the above title is what Stephen Granade posted, so I'll stick with it.

Stephen has been running IFComp since 1999. In that time... you know what, a recap of the IF world in the 21st century would be messy. Put it this way: stuff keeps changing. We all try to keep up. Stephen's patience and good humor have kept the Comp steady through all these years.

Now Stephen is stepping down to concentrate on his career as a serious rocket scientist. Jason McIntosh has volunteered to take over and helm the ship. Jmac needs no introduction here -- because it's his blog -- but you can poke at the links if you want.

2014 will hold the 20th IFComp, and I sincerely look forward to steering this institution SG has helmed since 1999, even while aware that I find myself with shoes of a certain magnitude to fill. A lot's changed over the last few years -- to say nothing of the last fifteen -- and I see the Comp as more important to the continuing development of text-based games than ever before, both as a body of work and as an increasingly diverse art form.

-- Jmac's comment on the announcement

Is he hinting at changes to come? Only the Shadow knows!

(I am not the Shadow.)

Tagged , , , | Leave a comment

Put your favorite new IF in the IFDB

If you’d like to see a text game released in 2013 nominated for the XYZZY Awards, you have a few days left to make sure that it has an entry in the IFDB while it’s still 2013.

The XYZZYs are trying something new this year: every nominee must have an IFDB entry. While a perhaps bit wobbly in its homegrown editing interface, the IFDB nevertheless allows anyone to edit its existing game entries, or create new ones. In particular, a game’s creators are not barred from creating or updating their own works’ IFDB entries.

I stress that games you’d like to make eligible via the IFDB needn’t adhere to the classic parser-based IF format. This month I myself have added IFDB entries for both a web-based hypertext game and a commercial game-book adaptation for tablets, both of which I hope to see among the 2013 nominees. The competition’s post on the subject goes into more detail on what is and isn’t acceptable, under the section “Interactive fiction” — though it allows that this style of play does find itself in a period of definitional transition at the moment.

Tagged , , | Leave a comment

Holiday gifts of Inform source

I shared the source of The Warbler’s Nest to GitHub last weekend, a project that took a couple of hours by one measure and nine months by another. I started getting the codebase ready for sharing last spring, shortly after giving an invited presentation about the game at MIT. I considered the event as good a capstone as any on the game’s active presence in my mind, and releasing the source struck me as appropriate epilogue. As it turned out, this preparation would end up perhaps the last personal project I picked up before a family crisis would occupy much of my attention until wintertime.[1] And when, things calmer, I happened across this MetaFilter thread asking about Inform source examples shortly after I received an email from a Warbler player pointing out an embarrassing typo in the story, I thought: Oh, right. And so GitHub.

Mere hours after announcing all this on Twitter and such, I would laugh out loud from the solid upstaging my little effort would receive next to a truly delightful surprise: Daniel Ravipinto announced a special 10-year-anniversary re-release of Slouching Towards Bedlam, an IFComp-winning masterpiece released by Star C. Foster and himself in 2003. Daniel recast the game into Inform 7 (which didn’t publicly exist ten years ago) as an exercise, and this in turn allowed him to easily publish a web page linking to both the downloadable game file and its source text. I sincerely recommend taking this opportunity to try the game if you haven’t already; I quite look forward to playing it through again, myself.

Casting around a bit, I find that Inform 7 source examples are not quite as scarce as I may have thought. Inform includes a facility for releasing nicely HTML-formatted source text alongside one’s game, and just because I somehow hadn’t noticed it before doesn’t mean nobody else did either. Two publicly available recipients of this treatment come to my mind immediately: Aaron Reed’s Sand-Dancer exhibits intentional beauty and readability at the source level, since it serves as the game slowly built between the covers of his Creating Interactive Fiction with Inform 7 (which we’ve written about before). On another extreme, Emily Short made available the source for Counterfeit Monkey, which proves as eye-wateringly vast as the game itself. I note that one of the headings on that index page bears the title “Volume 5 - The Repository of All Things Possible”, and it does not exactly exaggerate. (Naturally, while this source is also quite readable, you really should play the game before browsing through its laid-bare secrets.[2])

I cannot fail to point out that Zarf quietly posted the source to several of his games some time ago, as well, including both his more recent work and classics like Shade. (Search for the word source in-page after opening that link.)

Lastly, on the topic of GitHub, Dannii Willis created the Friends of Inform 7 group, which contains lots of language extensions from various authors, as well as the open-source repository of Victor Gijsbers’ utterly gonzo Kerkerkruip, a procedural, stats-heavy, permadeathy dungeon crawl in the roguelike tradition, implemented entirely as prose-driven IF.

I have no doubts that many other examples of shared full-game Inform source lurk in the grue-infested darkness. If you know of a non-trivial Inform-based work with source available, do feel free to link to it here with a comment.

Update: As Juhana notes in the comments, “games with source available are neatly tagged at IFDB”. Wow, that’s quite a few games, too. Well, this is why I write these things.


[1]: And yes, dear reader, that would explain why I’ve written so little on this blog this past year, though I’ve no complaint about once again leaving it over to Zarf’s project-EKG in my absence. I have reason to believe that 2014 will be different, but time will tell…

[2]: Earlier this year, I wrote implementation-focused reviews of Counterfeit Monkey and a few other XYZZY Award nominees.

Tagged , , , , | 4 Comments

Zarfplan: Mid-December

Yes, it's early. No, it's not the Ides of December yet. That's tomorrow. Good thought, though.

I said that I wanted to place the final rooms and cabinets. That's now complete. With all the locks, navigation, and goal-traversal that they required.

I also decided to implement a lot of bits of paper. You'll recall that over the past two months, I chose locations for all the "magic words and recipes" to be found in the game. (Physical objects were basically all nailed down by November.) This information would appear on sheets of paper that you'd collect as the game went on. The first such sheet appears in the HL teaser.

So I decided, what the hey, I'll implement all of those objects. Not their text -- I mostly haven't gotten to scenery descriptions yet. But I wanted to create the objects, place them in the game, and assign their effects: what rituals and formulae do you learn from reading each one? This is all scutwork; I have all this information in my notes, I just have to crank through them. It'll maybe take me one day. And then that'll be done.

Well, it's done. You want to know how many pieces of paper I wound up with? Forty-three, that's how many. I've spent the past five days on this. (Admittedly, mixed in with some of the more recalcitrant cabinets.)

I intended a play experience rather like Infocom's Enchanter: you explore an area, and every once in a while you find a piece of paper! New recipes! Yay!

Forty-three pieces of paper is not that joyful experience. It's more of a burden. It's "Argh, more paper, what have I done to deserve this?" It's a tornado in a sticky-note factory.

Something is going to have to give. I will need a new game mechanic or two -- some way of discovering information in a location that isn't "See paper, pick it up, read it." The game doesn't need to be any more complicated, but it definitely needs some more variety.

I am not short of options here. There's books; books are always fun. (But I'd have to chain them down, because otherwise players would be juggling twenty books in the inventory, which is zero fun.) (Bits of paper, I can discreetly vaporize after reading.) (Yes, there's a REMEMBER command which gives you access to everything you've read.)

There's the old memory-flashback gag. Walk into a room, remember a lesson... or maybe it happens when you touch an object. Too cliche? I'm not thrilled with it. Maybe I'll have a special monocle you can peer through. I know, Counterfeit Monkey did it, but...

Well, something will turn up.

It will not turn up in 2013. On vacation now. Cookies are planned. Videogames are purchased. (Videogames are already started, to be honest.)

This is not to say that I'm off hacking for the rest of the month. I've done a draft of my other iOS text game idea, but it doesn't exactly work as-is, so that will get some more pounding. I will probably mess around with some Seltani features.

My next update will be at the end of January. Plan for that month: story bits.

Posted in Zarfplan | Tagged , , , | 4 Comments

Zarfplan: November

I am happy to report that all the items are placed. Every line in my recipe chart has a "found in" notation! ...I'm telling this out of order.

The first half of the month, I caught up on the implementation that I planned last month. That is, I created the ten new rooms (plus some cabinets) that all of October's placements required. And the navigation between them. And the locks on their doors, where appropriate. And the goal-tracking to open the locks.

In the second half of November, I decided all the placements for the latter half of the game. (Two "chapters", but as I said, the chapter numbers do not reflect either game pacing or numbers of objects.) The map grew another couple of rooms, and several more locked cabinets, but I have not yet implemented these.

You might think that the first half of the month was difficult coding work, and the second half was lazily scribbling in locations on a chart. Ha. No. Code is easy. Decisions are difficult.

Every decision is wading into a hazy cloud of "this will probably be okay" and throwing away 99% of it. Most of the possibilities that I discard are fine. Some look fine, but will trip me up later. I have to make sure that the one I keep doesn't trip me up. And then I have to make sure that I like the pacing -- where it shows up in the player's run-through. Or rather, the range in which it might show up. Too soon? Too much confusion early on? Might the player run into the hard-but-correct solution to a puzzle before the easy-red-herring solution? That would be embarrassing.

And then I do it again, and again. I've been doing it all day. My brain hurts.

(Yeah, I'm writing this on the evening of Dec 1st. Procrastination struck after Thanksgiving. I caught up.)

So, okay. I have (nearly) hit a serious milestone, and I am declaring a (sort of) vacation month. My brain needs to stop hurting for a while.

In December I will implement those last rooms and cabinets, so that I can say I've actually placed everything in the game. But I'm not going to work on HL otherwise. I will do holiday things. I will bake a lot of cookies. I may play the latest Bioshock.

I have a sneaky idea for another iOS text game, which I might try to crank out by the end of the year...

Posted in Zarfplan | Tagged , , , | 2 Comments

Emergent gameplay vs whatever the other kind is

I spent the weekend at a delightful little game-dev conference at NYU. Much cool stuff happened there. However, I want to focus on Saturday morning.

Saturday's first talk was by Warren Spector, who has recently switched from developing games (Deus Ex, etc) to teaching the subject at UTexas. His thesis was simple: emergent gameplay, emergent gameplay, emergent gameplay are you listening people.

Here's a writeup of Spector's talk, thanks to Leigh Alexander and Gamasutra.

(Footnote: the quality of emergent gameplay should be referred to as "emergency". As in, "Yeah, that game had a lot of emergency." Hat tip to Vernor Vinge for pointing this out.)

Spector tried not to say "Everything else sucks." He stated right off that he was oversimplifying, and that he's just presenting the kind of games that interest him. But it was hard to avoid the subtext that any scripted, linear, or single-solution interaction was inferior -- bad game design. Inherently. That if players tried the emergent (simulative, rules-based) gameplay they'd be happier and never go back.

This led to a lot of backchannel muttering among the audience; you can scroll back through the #practice2013 Twitter hashtag if you want the dirt. I disagreed, Emily Short disagreed. But one can only fit so much pith into tweets, of course.

Then the next two speakers (Soren Johnson and Keith Burgun) started their presentations with exactly the same analytic framework: linear versus generative, scripted versus emergent. And they seemed to assume that this question was settled -- that all of us were already committed to the emergent end of that dichotomy.

So. I am not part of that stampede. I disagree with the conclusion, and I disagree with the premise.

First: this emergent-vs-linear thing is oversimplified, just as Spector said. Any analytical model is simplified, but this is the bad kind; it trims away something crucial. One of the later speakers posted a slide with a linear-to-emergent scale: games could be placed at any point along the scale. But this is still too simple!

A game can do more than one thing. Most do. To describe a game, you need a whole stack of scales. For example, Bioshock (the first) gives you:

  • free movement in a complex spatial environment;
  • a fairly rich array of tactical combos for combat (built on power and weapon upgrades chosen over time);
  • exploration through a branching tree of rooms (with much backtracking as you achieve goals and are rewarded with new tools and options);
  • an irregular sequence of environmental puzzles, each of which has a single solution to be discovered;
  • an infrequent sequence of binary choices for dealing with Little Sisters;
  • a fixed sequence of story chapters leading to a narrowly forked ending scene.

So what in there makes Bioshock a "linear" game? Certainly the last aspect. Certainly not the first two. The middle ones are worth an argument in their own right. So, can you ignore the combat or the Little Sisters or the overall storyline, and still claim to describe Bioshock as a whole?

Heck, look at Myst. For twenty years, gamers have been dismissing Myst as a linear slideshow -- while other gamers remember it as a completely open, unconstrained, explorable environment. I refuse to declare that either view is wrong. Surely this demonstrates that there's more than one layer here? Every "emergent" game has scripted aspects to it, and every "linear" game has aspects of surprise, and they can both be happening at the same time in different ways.

Moving on.

One of Spector's repeated points was (I paraphrase) "If you create a clever puzzle with a solution, you're showing how clever you are. Let the players show how clever they are." And much other language about "putting players in control."

I find this painfully misleading. For a start, complicated systems are expressions of the designer's intent! If they weren't, we wouldn't have to spend so much effort tweaking, adjusting, and getting them right! (The word "right" is itself an admission.) To quote some of the replies:

ok look when "emergent" interactions occur they're part of the possibility space the designer set up, not magic out of nowhere (-- Michael Brough)

it is possible for the rule set itself to express a world view; emergent gameplay != absent designer (-- Emily Short)

Or, in my own words: bringing more player agency into the experience does not mean pushing authorial agency out. It makes authorial agency different, more complicated, yes. But the simplistic see-saw trade-off is a phantom terror.

Go back to Spector's immediate statement. Is it bad to work very hard, to be extremely creative, in designing a puzzle? Shouldn't we laud that effort, when the designer chooses to put it in? Surely the point of emergent gameplay isn't to let the designer be lazy. (If so, it's not working, nohow.)

No, what Spector wants -- rightly -- is to permit the player to be creative. We both treasure games that require the player to think creatively. We don't seem to agree on what that means, though.

Most of my text games hearken back to old-school IF: puzzle situations, unique solutions, hand-crafted outcomes. Two people who finish Spider and Web will, ultimately, have found the same solution for every puzzle. And I thought of that solution before either of them. But does this mean that they have not been playing creatively?

I say they have been. The work of solving these puzzles -- the play experience -- is of experimentation, discovery, and then synthesis of the results in a way which was not immediately obvious. That's creative thought. Dismissing this as "square key in square hole" is ignoring the point.

IF traditionally builds a complex, rule-based world out of hand-crafted, unique responses. One action is shallow. A hundred actions, revealing common underlying rules, is a fluid environment. (That's why "square key in square hole" is an oversimplification. A puzzle with one clue, one option, and one action is a trivial toy.) Seeing unexpected possibilities in a fluid environment is... exactly what Spector says he wants.

random thought: at one point if a dialog tree is big enough, it will FEEL emergent. Is that what matters? (-- Reynaldo Vargas)

Yes. (I could quibble about "tree" being a prejudicial term here. Make it big and stateful, and it'll stop being a tree. Down that path lies Versu.)

Switch to a more familiar example: the crossword puzzle. It has a single solution (unless the designer has been really creative). But you have to be clever to find it. Crossword solving is not a monotonous dictionary attack. Puzzle fiends then move on to baroque variations (the cryptic crossword, the variety cryptic... the MIT Mystery Hunt) which require even more creative thought to solve. Yes, the designer has to be cleverer yet. Crosswords are harder to construct than to solve. I don't see that as a reason to criticize; I'm grateful to the designers.

Let me wrap up by stepping back. I am not an enemy of emergent gameplay. It's awesome. I try to build my games, even the tiny ones, around an explorable mechanic with complex, generative results. I love Spector's pithy metric: how much do you know in advance about a player's play experience? That's an important question; it permeates every design decision you will make. (To say nothing of the crass realities of replayability and Internet walkthroughs.)

But I do not accept that this is a quality metric. It doesn't tell you whether a game is superior, or even (if you dare ask) "more fun". And it's not a simple metric. You don't ask that question once per game. You ask it over and over, interrogating each aspect and element of your design. Never "is this an emergent game" (blech); rather "what are the emergent interactions in this game?"

Go now and do likewise.

Footnote 1: There's a whole subdiscussion to be had about minimalist games -- games which have been boiled down to a single core mechanic. (This was the focus of Keith Burgun's talk.) To the extent this is possible (Go already exists!) it avoids much of my argument. Some games really are doing only one thing! And if so, you'd better get as much oomph as possible from that one mechanic.

But let's not confuse the simple case with the general case. Commercial games tend to be large, rather than minimal. And both in and out of industry, genres love to hybridize, forming interesting compounds and complexes.

Footnote 2: I forget what footnote 2 was.

Footnote 3: Don't imagine that the entire conference was a buzzsaw of absolutist "emergent" rhetoric. Later on Saturday, Emily Short sat next to a couple of the Walking Dead designers and they talked about the balance between generativity and prescription. No, it wasn't a counter-spinning buzzsaw of authorial control. Nobody wants that. Tradeoffs are always where the interesting design is.

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

The first Seltani Age jam!

Seltani has more or less graduated to beta status. (Fanfare, applause...) Note that I've dropped the "dev"; you can now reach the server at its permanent home, http://seltani.net/.

To celebrate this, I am declaring an Age Jam! Stop by, build an Age, show it off. It doesn't have to be a prize-winner. In fact there will be no prizes. This is an opportunity to try the tools and get some feedback.

I'm not going to get formal about the rules, but I do want to have some fun with it. Therefore, a schedule!

  • Sunday, Nov 10, 1 pm Eastern time: Opening ceremony in the Seltani district plaza. I announce the theme: "Remaining Light".

(The plaza is in the Seltani district. Sign in, link into the Cavern, follow the path along the shoreline and then head right at the fork. Can't miss it.)

(The theme is just for inspiration. Interpret it however you want.)

  • Nov 10-23: Work on your Age! (Or Ages; multiple entries is cool.) When it's ready, add it to the bookshelf in the Seltani plaza. Or if you want to go for the dramatic reveal, wait and add it on...

  • Sunday, Nov 24, 1 pm Eastern time: Wrap-up. Meet back in the plaza, start visiting Ages. We can have group tours over the course of the afternoon, and then hang out and discuss what we've seen.

(I know that the meeting time is not ideal for everybody in every time zone. I have schedule restrictions too, so I just picked a time. If you can't be at either ceremony or both, I apologize -- follow along on the blog or the forums.)

I will be around these on-line areas (including Seltani itself) to answer questions during the two-week period. Hope to see you there.


Update: the entries! We have three. More may be offered; at least one Writer said he was working on something but not finished.

  • Vashmursë (by Pavitra) -- a nifty timed-exploration idea.
  • Télos (by Sandor) -- exploration.
  • Xical (by me) -- a small puzzle.

These links will add a page directly to your linking booklet, if you are signed into Seltani. If not, you'll have to sign in first.

Tagged , , , , , , , | 3 Comments

Zarfplan: October -- goodbye sunlight

Not goodbye forever, or even for the rest of the year. But it's Halloween; it's been damp and grey all day; and I just returned from the annual Somerville Anti-Morris Dance. Feels like putting the sun to bed.

I spent the first half of October dealing with the remaining major puzzles -- the ones outside the starship. Naturally, this was more work than I expected (it's always more work than you expected) but I got it hammered out.

Then, on to the map! This was more than just adding rooms -- it's about positioning objects and clues.

I've long had a list of important puzzle elements, and a sense of where they appear in the storyline: these in chapter one, those in chapter two, that one behind locked door X, and so on. But most of them weren't actually present on the map. So for the past week, I've been going through the storyline, chapter by chapter, and marking down locations for absolutely everything.

This task is still in progress. I've gotten the first two chapters nailed down. "Out of how many chapters?" you ask! Well, that depends how you count. There are four major plot stages, which I've been calling "chapters", but I suspect that they won't appear as such in the final game. The player will see significant breaks, but perhaps not the same division points. Maybe six of them?

That's not a useful statistic. Here's a better one: 60% of the magic words, 40% of the recipes, and 95% of the physical objects are now located on the map. (Yes, all that stuff appears in the first two chapters. These include many common items which will be reused throughout the game. The later chapters introduce rarer and more powerful items -- thus, by definition, fewer of them. Hadean Lands is front-loaded with toys; that's just how it came out.)

The map grew ten new rooms in the process. This was expected; I've always had a vague scribble off to the north marked "crew quarters, more stuff". That's now filled in. Bonus: I've sketched out the first two chapters in my PlotEx constraint tool, so I know the game is solvable that far. I haven't put a key behind the door it unlocks, or anything dumb like that.

The down side: I haven't implemented these new rooms, or the bits of paper with all those magic words and alchemical recipes. They're still just notes in my files. And of course I have two chapters (40% of the words, 60% of the recipes) still to go. So November's work is laid out for me.

As you know, tomorrow is the third anniversary of this Kickstarter's launch -- and the third anniversary of its funding goal, since your generosity cleared that on day one. I never anticipated this long a road, and it's not done yet. But we're moving along. I appreciate your patience.

If I may indulge in hindsight: a year ago, my update post was all about the goal-shortcut system... which was partially done, but included no puzzle goals yet. And I was getting ready to start implementing the map.

Two years ago I was staring at a huge stack of disparate puzzle and story ideas with a panicked expression on my face.

So, while I'm not thrilled with my progress rate, I don't think I need to be ashamed either.

Enough of my self-regard. More IF news:

I will be attending the Practice conference at NYU in mid-November. I'm not speaking, but Emily Short is. Should be a fun weekend.

The People's Republic of Interactive Fiction now has a twitter account. If you're in the Boston area (or are generally interested) follow away.

Finally, a bare-faced plea! As you may be aware, Cyan Worlds has launched a Kickstarter: Obduction. This will be their first major new game since Myst 5 in 2005. They have set a high goal -- over a megabuck -- and they are currently about 60% of the way there.

As you know, I'm a big Myst fan. I want to see Obduction get made. It's not Myst-related, and that's good: this is Cyan's chance to break away from the long decline of Myst Online, and start something fresh.

The Kickstarter is cranking pretty well, for the mid-project trough period. I'd still like to see it closer to the goal before the frenetic final weekend hits. So: please consider a donation. If you glanced at the Kickstarter when it launched, it's worth reading the updates; Cyan has added a measured dose of detail about the game's background and storyline. Also: Oculus Rift stretch goal.

And now I must digest Halloween candy and get over the sugar rush. Next month.

Posted in Zarfplan | Tagged , , , , , , , | 2 Comments