We would like to invite the IF world to show up and hang out at WordPlay in Toronto on November 8th. (Free admission.) That whole weekend, really -- we'll have some kind of dinner and stuff.
For the past few years, the Boston IF gang has hosted community get-togethers in association with various local game-related shindigs. (First PAX East, then NoShowConf.)
What with one thing and another, that's not happening in Boston this summer. (Although we will be in attendance at BostonFIG in September.)
However! Jim Munroe is running his second annual WordPlay festival in Toronto on November 8th. This seems like an excellent opportunity to declare a get-together. So let's do that.
(Discussion on forum thread: http://www.intfiction.org/forum/viewtopic.php?f=4&t=14961)
I didn't go to Mysterium this year. I wanted to; it was held in Spokane, so the attendees got to visit Cyan's offices and chat with Rand and Robyn Miller and basically geek out all over the place. It didn't fit in with my summer plans, though. Fortunately the fans took copious notes. Here's the current Myst news:
Obduction development continues. Unreal 4 engine.
Cyan has posted a gigantic folder of Myst Online concept art (dropbox link). This is early material -- I'm guessing 2000 to 2002. A little bit of this wound up in Myst Online, and a bit more has leaked out online, but most of it is new to me.
A group of fans have gotten permission to work on Myst Online content -- updating areas from Myst 5, building areas from the concept art above, and importing original fan Ages. These may wind up in the official Myst Online server, although the final decision is up to Cyan, obviously. They say they're aiming to have something playable by the end of this year. I hope that works out. (More discussion in character.)
The Starry Expanse project (a fan remake of Riven) has made excellent progress building Riven's Jungle Island. Here's a video tour (youtube) of what they've done. You'll see that some textures are missing, and the water effects need work, but what they've got is fantastic.
Unwritten, the Myst-setting RPG, has been somewhat delayed but is making progress. They've shipped their Kickstarter tchotchkes; I have a nice D'ni-style notebook and some wooden tokens. (This is a Fate-based RPG, so there are Fate tokens.) The game manuscript itself has gone through a couple of rewrites, with input from Leonard Balsera. Last I heard they were aiming at shipping this month, but I get the impression it'll be another couple more.
There was a pancake printer. I don't know either.
Further notes from the convention:
Mysterium is back in Boston next year, and I hope to be there.
A month ago I wrote: "I am still fairly confident that I will have a complete, testable game at the end of July." I halfway made it. I have a testable game! ...but it's not complete.
On July 17th I sent mail to the backers who chose the "access to the closed beta-testing phase" reward. (And also to select friends, because what's the point of being in a local IF meetup group if you can't hit them up for some beta-testing.)
At that point I had a version of HL which was playable roughly halfway through. That is, the game was maybe 90% written, but I stuck a barrier at a particular point and said "Play-test up to here. Everything up to this point is 100% complete. Past that, eh, there are a lot of holes."
So for the past two weeks, a few intrepid players have been trying out "chapter one". And sending me transcripts. Useful transcripts! At the same time, I have been pushing forward on the latter part of the game. Filling in holes. Dotting i's, crossing t's.
It's not 100% yet. This game has more i's and t's than an interstitial Italianate witticism about intermittent tintinnabulation at the Interutilitiarian Hittite Institute at Ytterby. However:
All the rooms are done. I couldn't let you folks wait on rooms for another month. As of July 23, the room-counter widget says "93 of 92 rooms are described." ...Yes, off-by-one error there, sorry. The game has a couple of dummy and debugging rooms and I screwed up the accounting. There are 92 actual rooms, and they are all properly described and furnished.
I have almost completed "chapter two". This is where the game scenery starts to change, so it involved some messy things-moving-around code. The code works; I'm missing a few descriptions.
I have done another optimizing pass and sped up a bunch of display code. I've followed up on a bunch of suggestions that came from my testers. I've added a very clever "GO BACK" command which takes you back to the last room you were in. (So you can type "GO TO KITCHEN", grab something, and then "GO BACK".)
Three major rituals in "chapter three". One extremely annoying travel bug. A bunch of descriptions pertaining to things that change in that part of the game. Solidification of the ending scene, which I have hitherto only lightly sketched out because you can't write a decent ending without a game to build it on.
There are 109 "TODO" marks in the source code as of this evening. Don't take this as very meaningful; I've never shipped an IF game that didn't have a handful of "TODO" marks left in it.
When I sent out the test emails I promised that a complete test version would be ready in "mid-August". I still hold to that, although "mid" is intentionally vague. I would really like to get a final test going by the last week of August, because that's when I take off for DragonCon.
There we are. If I don't get completely blindsided by something, the next update post will report the completion of Inform programming for HL. There will still be iOS work to do, plus whatever bugs the testers turn up.
(Other words I considered for the "crossing t's" gag above: tripartite, zwitterion, tritium, irritability, invitation, totalitarian, instinctive, titular.)
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:
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:
- human figures
- 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.
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:
- Dual Transform (I7)
- Delightful Wallpaper (I7)
- The Dreamhold (I6)
- Spider and Web (I6)
- So Far (I5)
- A Change in the Weather (I5)
- and more on my IF page.
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.)
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.
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.
When the excellent internet-culture podcast TLDR tweeted a couple weeks ago that its new episode featured an interview with someone who witnessed her persona within a certain video game get sexually assaulted by other human players, I had an immediate guess which game they’d name. I was right: the incident occurred in DayZ, a popular MMO with a nominal post-apocalyptic survival theme.
My knowledge of DayZ is quite limited. I’ve never played it. I have had one friend, a inveterate fan of actual role-playing in online RPGs, regale me at length about all the time she’d spent there with an online improv group, experiencing varying success at playing out story-games in its setting. When the game got a wider release on Steam last year, I read a long comment-thread on imgur about all the goofy ways new players had died, with a strange focus on other players force-feeding them rotten fruit or drain cleaner.
And then, earlier this year, I discovered this video, following a link describing it as something amazing that happened in the game. With my lack of knowledge about typical interactions in DayZ, and otherwise not knowing what to expect (outside of the video’s title), I found the first 40 seconds — which isn’t supposed to be the amazing part — very stressful to watch.
Those 40 seconds contain one of the most violent exchanges I have ever seen in a video game, even though (modulo some casual language) the incident, if dramatized on film, wouldn’t rate more than a PG in the US. In one sense, it’s just two men talking; neither so much as lays a finger on the either.
The third man who shows up at the 40-second mark is the star of the video, and immediately changes the tone in an unexpected and genuinely impressive direction. But from context, I take it that one player brandishing a gun and verbally instructing an unarmed player to kneel, humiliated, is such a typical interaction in the game that it doesn’t even bear comment. This video uses it as mere stage-setting; one gets the impression that if the third character hadn’t appeared, this player wouldn’t have bothered posting this video.
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.)
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?
- Download Inform 7 release 6L02 (Mac and Windows builds available; Linux is in progress)
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.