Sunday, April 29, 2007


We’ve chosen 80,000 words as the cut-off point because there’s something that seems to happen to stories that go on for more than 80,000 words--the length of the book crosses a boundary in terms of scale and scope.

I don't seem to be in a coding mood today. Didn't seem to get much done. Spine almost finished except for some fiddling with the final confrontation. Seems like there's still an infinite amount of work to do.

Is this all worth it?

Thursday, April 26, 2007

Starring Anthony Hopkins

Just got in an hour of work this morning, fixing some bugs in Reb and writing a bit of description for the major character you meet there. This is a person who has served only a placeholder role in the plot structure so far-- I knew he needed to exist, and I knew he needed to have a certain conversation with the player at a certain point in the story, but other than that I didn't really know anything about him. I took a quick stab at giving this character a description with some personality, and a decent introductory monologue. I find an easy way to make a first pass at this sort of thing is to imagine what some particular actor would do with the part. All sorts of mannerisms, bits of business, costume details, and facial expressions usually come to mind: I can write some of this down and then have a springboard to start developing the character. I gave him a bit of an opening monologue too-- all the hooks that will grow into the root-like structure of the conversation, still to be written.


Tuesday, April 24, 2007

Inching closer, else by else.

Coded some of the semi-tricky bit involving geography repositioning itself for dramatic purposes in one of the endgame worlds (let's call it "Reb" for now). I managed to uncover two new Inform 7 bugs in the process, both for semi-obscure situations. Fortunately nothing show-stopping. Reb's spine is almost done, though fairly threadbare and pitiful; I keep stopping myself from diving into details.

The only thing left to code is some of the machinery to handle leaving and repeat visits and what happens if the player leaves in the middle of X, and so on. The design decision to keep from restricting the player for arbitrary reasons is sound, but it makes for some extra work to account for situations that a lot of designers would just avoid with a "You're not going to do that" message.

It will be worth it. Wherever there are rails, I'm trying my best to hide them.

Monday, April 23, 2007

Not dead yet

Ran into some conceptual and structural problems with the endgame worlds. To make the design of both of these as realistic and mature as it needs to be, a lot more thought was required than I'd initially guessed. I didn't think I'd have to get into this to complete the spine, but certain design decisions will affect the underlying framework of the game, so my push to finish the game's framework was derailed. I've spent the last few weeks thinking and discussing things with friends, and I think I'm ready to code again.

I'm also really starting to feel urges to get this thing finished up. That might help keep me coasting over further bumps in the road without so much delay.

Monday, April 9, 2007


Great progress tonight. The last puzzle on Lacuna is coded (I could put a qualifier there, but in the spirit of "progress!" I'll abstain) and nearly all of the supporting mechanisms are in place. I even found time to add some details to things like the lava tunnel door. Furthermore, I believe every room on Lacuna now has a description, although many are not fully implemented with all of the time of day and weather details, and there's still plenty of work to do fleshing out the environment. But: all of the objects necessary to solve puzzle exist, and all of the game mechanics to support them are functional, although certainly bugs are still there. Trust me, this really is progress!

I still need to backbone out the two endgame worlds-- one of them has all the rooms and some mechanisms coded already, so it should be simple; the other will require a bit of coding but nothing migraine-inducing-- and then deal with the final business on Lacuna-- and then-- wow-- the rough cut will be done!

Then it's just the part about my main character having only one of his two dozen conversations written.

Progress.... progress...

(Hey! 76,107 words!)

Sunday, April 8, 2007

I am now halting in abject failure

No, don't worry, not me; that's the end of the message Inform 7 gives if you do something that breaks the compiler. One of the many risky things about Lacuna is that I'm programming it in a language that is not yet out of beta. Fortunately, the developers behind this unfinished system manage to work small miracles, and their "beta" language is astonishingly robust. It's only rare that I manage to break it.

Despite some fits and starts, including an utterly frustrating few hours where I completely rewrote some code, twice, only to finally decide the puzzle it served was unworkable in a text adventures, I made good progress, and almost but not quite reached my stated weekend goal. The aforementioned puzzle redesign ate up a lot of time; the old puzzle was beautiful and elegant, but, sadly, had fatal flaws that only presented themselves when I came to actually code it. The puzzles in Lacuna are pretty tightly integrated with both each other and the story; ripping this one out pulled up a number of roots I didn't except to have to replant. The new puzzle-- actually, the two new puzzles-- while perhaps not quite as elegant, is still functional and retains much of what was good about the old one.

There is still one major puzzle to code on Lacuna-- but other than that, it is now possible to play the game from the very beginning all the way to arrival at the endgame worlds (in truncated form, albeit). The two endworlds will require some time to structurally code, and then I want to implement some sort of crude simulation of the flow of interactions with Progue, but I should have my "rough cut" of the game before long. This has been a tremendously valuable exercise: there's nothing like actually coding stuff to bring all the lingering flaws in the design out into the open. Once this business is through, it really will be mostly writing from here on out-- except, of course, for all the changes I'll no doubt decide to make after playing through the rough cut a few times.

I am now halting (for the evening) in abject exhaustion. Good night!

Friday, April 6, 2007


Did some set-dressing tonight around the Egg-- not strictly necessary for making it through the game, but useful to have more fleshed out because it's a key expository sequence-- and also added some significant chunks to Progue's goal-seeking code for his idle time. Neither strictly gets me closer to my weekend goal, I suppose, but both will help the first run through feel like its of a more completed game. All the description writing also pumped up the word count, although I'm not paying attention to that anymore. (*cough69,480cough*)

Thursday, April 5, 2007

A person is usually hale

I put in the infrastructure for the "injury" business, a way of allowing agency. Part of the design philosophy of Lacuna is to, whenever possible, allow the player to do something they've requested. In many games with a lake you'd receive, at best, a stock message like "There's no time for swimming" if you tried to jump in: Lacuna will cheerfully describe you taking a nice swim, even if it doesn't necessarily advance the story. One of the interesting side effects of this is that allowing the player to do somewhat dangerous things opens up new angles on the storytelling and the relationship with the central character. Indeed, the scene I coded tonight might even occur before you've met the central character, leading to a very interesting starting point for defining a relationship with him.

I'd hoped to code more "conversation backbones" this evening, but only ended up having an hour to work because of spending the evening with friends. My goal for the weekend is to get my skeletal version of Lacuna complete, and, by Sunday night, "play it" all the way through for the first time. My earlier analogy of a rough cut was perhaps a bit generous; it's going to be more like laying all the storyboards together in a row, but it will still be a notable milestone.

Tuesday, April 3, 2007

remove the sun

Continuing my quest to complete the backbone of Lacuna, the infrastructure for the dreams is now in place, and a skeleton of each dream is presented in-game. I learned an excellent piece of advice on how far to carry simulationism in IF from Emily Short: only simulate some aspect of the real world if it's important to your story or puzzles. As it turns out, dreaming is used in Lacuna for at least three separate purposes. The code for sleepiness and even some circadian rhythms was done way back in the Myst fanfic days; what was done tonight was testing of the scene mechanism for dreams (complex due to the various types of dreams going on) and particularly the coding for the final dream wherein you set two passwords (for which I made use of an excellent extension by Jesse McGrew.)

Speaking of extensions: since the bulk of Lacuna is now tied up in custom extensions, there's no longer an easy way for me to see a total word count. This is probably for the best, as I'll no longer obsess over what is ultimately a very poor and not terribly useful measure of my progress.