Happy New Year, Larryettes!
We are now officially in “crunch mode,” although, to be honest, everyone at N-Fusion and I have been in crunch mode all along. But now it’s official, which means a whole new shipment of caffeinated beverages, caffeinated candies, and caffeinated bacon.
Before I go off on minutiae about game text, I’m going to answer a few questions I’ve seen around Kickstarter and the Replay Games fora:
- Yes, we’re still on track for a Q1 2013 release.
- Yes, we’re still planning on foreign language releases concurrent with the release of the English version: French, Italian, German, and Spanish (or “FIGS”).
- Yes, we’re still planning on PC, Mac, iOS, and Android versions. Linux is still a real possibility. Unity 4 makes porting it relatively easy. But it does involve whole additional testing cycles that aren’t in the budget (timewise or moneywise).
- The Kickstarter premiums will ship about the time the game ships. We may be able to push some of the digital items (like the HD wallpaper) out sooner, but our overriding goal is to meet our ship date, and it’s an all-out push with that singular goal in mind. For the physical goods, we don’t want to do more than one wave of shipments, because that will multiply our shipping costs dramatically. (In other words, we don’t want to, say, ship out the T-shirts separately from the Calendars, because that means hundreds of extra shipping containers and thousands of extra dollars in postage.)
- The front of the T-shirt hasn’t changed. The back of the T-shirt is now an N-Fusion-created Larry.
- Al and I would both have loved adding a parser, but that would’ve necessitated a monumental increase in both budget and development time.
Okay, now here’s where I finally get to talk about the State of the Text.
There are currently six basic actions for interacting with everything in Larry’s world: Look, Talk, Use, Taste/Smell, Zipper, and a generic “Inventory Item On” function (along with specialized inventory object on messages when appropriate). As I mentioned during the Kickstarter, I hate generic messages, but I can’t completely get around using them.
Let me define a couple of terms. When I say “flag,” that’s a bit of programming that monitors the state of something in the game that we want to track. I’ll give you an example from the game. Under some conditions, the dog will come along and pee on Larry. After being peed on, I want the first person that Larry meets to comment on the unusual aroma. So there is a flag for Larry called “peedOn.” The vast majority of the time, this flag is off (peedOn==False). When the dog pees on him, the flag is changed (peedOn==True). Many of the characters have a line of dialogue to speak when they encounter Larry and peedOn==True. As soon as they deliver the line, the flag is changed again, back to False. And the cycle of life begins anew.
Flags change constantly throughout the game. Simply looking at a screen feature can change a flag; this is relevant when I want to have a series of messages for something, with that message changing each time you look at the item. First time you look at something, second time you look at something, and so on.
When I say “feature,” I mean a region of the screen that has its own identity and requires its own text text “handling.” For instance, look at the Come ‘n’ Go interior at :06 in the video we created for the Steam Greenlight effort. I identified 28 separate features (not counting Larry himself): the Hot Dog display, the floormat, the refrigerated case, the counter, the Clerk, and so on. The majority of rooms are not this busy, thankfully, or I’d be writing until 2013. Oh, wait, I am.
So I create messages for each of the six basic actions for each of those 28 features. Assuming only one message per feature (although many have two or more), that’s 168 messages right there, before I even start to be able to get into all the specifics that are necessary to cover different flag settings. The specific messages for those features requiring different flag settings can easily double the total number of messages used in a room.
That’s a vast amount of recording and editing, a vast amount of speech to put into a game (especially a mobile game!). And that’s before factoring in the inventory-object-on-inventory-
(Side note: I actually started with an experiment: seeing if I could create a couple of rooms where clicking every single inventory object on every single feature would have its own message. It turned out to be immensely time-consuming since there were more than 40 potential inventory items – although, of course, some objects don’t apply to some locations — and dozens of features in each room. I stopped when I got close to 800 messages for the room, and that wasn’t even one of the more crowded rooms.)
With these kinds of totals, I’ve pretty much ended up having to use some generics. For instance, if you try to talk to most inanimate objects, you’ll get a generic message (although it’s always at least unique to the room). And when you click an inventory item on a feature, you’ll get a generic message unless there’s a good reason – comedy and/or puzzle relevance – for a more specific one.
Despite this, I think we’ll still have one of the most robust Larrys ever written in terms of sheer quantity and quality of input responses.
And now, back to work I go. Lots to do. Not enough time in which to do it.