Share this project

Done

Share this project

Done
A520fdac0b8a98557b9e5e8ed6ebdc80 original
I created a full-length puzzle text adventure. (Available for Mac, Windows, Linux, and iOS.)
Created by

Andrew Plotkin

713 backers pledged $31,337 to help bring this project to life.

Recent updates

February was kind of nuts

2 likes

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.

Welcome to the new age

4 likes

(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.

Mid-December

5 likes

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.

November

2 likes

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...

October -- goodbye sunlight

1 like

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.