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.
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.
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.
This week I tried two different puzzle/exploration games. They were both pretty cool, but I only finished one of them. Does this mean I am going to delve into details of game design? Yes!
Oh, sure, it'll boil down to personal preference -- but details can be fun.
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 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.
(An improvement, should anyone feel up to it, would involve letting one back out of the process via the resulting dialog’s Cancel button. Feel free to tell me about the existence of improved versions. I share this code as-is because helping the Twine community sit at the larger IF table makes me happy, and also because lazy.)
The updated RealMyst is now up on Steam (for Mac/Win). It also appeared on the Mac App Store briefly yesterday, but Cyan pulled it back out citing "a small issue". (It's not clear what the issue is, or if the Steam release has the fix already.)
(Screenshots from an iMac, 2.7GHz, lots-o-RAM, AMD Radeon HD 6770M 512 MB. I don't know a damn thing about video cards but maybe that means something to you.)