Last night at 8 pm I tagged a branch, compiled a release build, ran the end-to-end test script, and pinged the testers about where to download it. Hadean Lands is now in beta.
(If you chose the "access to the closed beta-testing phase" backer reward, and you haven't gotten email from me, please contact me for testing info. Assuming you still want to test, I mean.)
This momentous day is a good time for some announcements!
Hadean Lands will be available both as an iOS app and as a portable (Glulx) game file. The Glulx version will be playable on Mac, Windows, Linux, and anything else that the (open-source) interpreter can be ported to. I expect to sell the Glulx version through the Humble Widget and through the Itch.IO game download service. The sticker price will be $5 no matter where you buy it from.
All backers will get the Glulx version as a free download. Yes, every person who backed me. Even if you contributed just a dollar; even if you asked for your money back; everybody. This wasn't part of the original Kickstarter plan, but you deserve something extra for waiting this long.
I am going to ship the game first, and physical rewards later. People signed up for postcards and posters and CDs and calligraphy and all that good stuff. It will all happen! But I am not going to worry about any of it until you have playable copies of the game.
(Footnote to the above: I do not plan to be on the Humble Store or in any bundle. I'm just going to use the Humble tool for selling downloadable content. I might wind up on the Humble Store at some point in the future.)
What's the timeline? Later this week I will send out the dreaded Kickstarter backer questionnaires -- one for everybody, one for people who get physical rewards. These will cover shipping addresses, App Store account names, whether you want your Glulx download from Humble or Itch.IO, and so on.
Beyond that, I have several tasks still in front of me, including cover art, a map, a web site, and integrating the game into my iOS framework. Plus the time it will take Apple to approve the app. I'm allocating a month. That's not a hard deadline, but as a rough target, think "early October" as our ship date.
This means that HL is likely to ship in the middle of IFComp voting. This is a right nuisance but we'll have to manage. I can't promise to get HL out before IFComp starts, and it would be stupid to delay it until after IFComp is over.
One of the tasks of my list is "the expectations-setting blog post". I was half-joking when I wrote it, but I think this is a good time to talk about how Hadean Lands has come out.
As you probably know, online discussion in the gaming world has recently gotten noisy and nasty. Plenty of people have written about this. I haven't written about it.
I have solid reasons for not writing about it. I am in the final stages of writing a game. I am prone to being distracted by the Internet, and particularly by big ugly Internet arguments that make me feel terrible but I can't fix them. When these arguments fall my way, I reach for the mute button. I need to finish my damn game.
Plus, my Internet security is imperfect (because security is always imperfect). I'm a straight white guy, so maybe not the most likely target of ire, but if someone takes against me I'm hosed. My web sites could be compromised. People could demand their Kickstarter money back. The worst time for this to happen would be right as I'm shipping four years of my game-writing life.
So I've been keeping my mouth shut -- which makes me a coward. Screw that.
On Monday an open letter to the gaming community went up. It is a simple statement:
We believe that everyone, no matter what gender, sexual orientation, ethnicity, religion or disability has the right to play games, criticize games and make games without getting harassed or threatened. It is the diversity of our community that allows games to flourish.
If you see threats of violence or harm in comments on Steam, YouTube, Twitch, Twitter, Facebook or reddit, please take a minute to report them on the respective sites.
If you see hateful, harassing speech, take a public stand against it and make the gaming community a more enjoyable space to be in.
This was organized by Andreas Zecher. A lot of names appear below it; you will see mine there.
That's a start. As we all admit, signing a letter is easy. I want to say more. I'm not sure where to go, though. So I'll say some pro-forma stuff, and then I'll tell a little story, and then I'm done.
The month is not over, but I am heading to DragonCon for a week. So you get your report early. Conveniently this allows me to report "not quite done yet" without too much slippage past my mid-August deadline. And without smacking into the more realistic end-of-August deadline.
It's not quite done yet! But at least the update posts are getting closer together, right?
At this point the entire puzzle-line of the game is playable. That is, you can start at the beginning and solve every puzzle. (Without using cheat or debug commands.) This doesn't end the game; it leaves you in a state marked "endgame", although "denoument" would be a better term. It's the wrapping-up sequence which leads to the ending text. There are no puzzles here, but it's an interactive sequence. At least, probably interactive.
I've intentionally left the denoument flexible -- or, if you like, "undesigned" -- because I didn't think I could construct it without the whole of the game in my subconscious. It's the last whiff of my "implement the first scene first, then the next scene, and so on until the end" plan. I stick to that rule for short games. It would have been impossible for HL, but I am writing the last scene last.
So that's the last task, mostly. Plus I have a few bits of background color to fill in, and the extremely annoying travel bug that I mentioned last time. And there are still 59 "TODO" marks in the source code; I should look through them and (mostly) delete them silently.
I will do some of this work at DragonCon. (What? Travel is good thinking time. I can't convent for a week straight. There'll be a lot of time alone in a hotel room, or wandering around a strange city.)
At the farthest limit, I will have it all wrapped up in the first week of September. I will then pass the complete playable draft around to the beta testers, and start looking at the iOS work.
I will also write another update post at that point. So -- you'll hear from me in less than two weeks. At that point I'll be able to talk more about the process of Shipping The Damn Thing. Strange and scary as that prospect may sound.
The publisher itself doesn’t market them this way, and I haven’t run across anyone else applying the label. So, from my own perspective, let me say it first: Telltale Games’ most recent narrative video games, including The Walking Dead and The Wolf Among Us, have realized the ancient dream of true interactive television.
By this I don’t mean TV shows with audience call-in gimmicks attached, or experimental games delivered via broadcast television, or similarly venerable exercises of the medium. I mean an evolutionary application of contemporary television storytelling techniques to the naturally interactive environment of video games to create something entirely new, and deeply interesting.
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.)