Design and documentation journal for my interactive fiction (text games); also reviews and other miscellaneous stuff.

Monday, November 16, 2009

Weight and Volume

I did some basic weight and volume stuff earlier, based on Eric Eve's Bulk Limiter. I have fixed a few things, upgraded bulk from being a number to being a volume, and added some very boring default messages.

Eventually, I suppose I'll tweak the default messages when the player lifts something very heavy, or picks something up close to her endurance capacity, or maybe add bits where the player drops something, but mostly that's fluff.

Currently, strength is set at 25 kg. That seems okay to begin with - I may even set it a little lower originally. How much can a out-of-shape person carry? I can certainly shift 60 pounds, but I'd be hard pressed to carry it far. (I'm more of a "roll this thing end over end" person anyway.) On the other hand, with a proper pack, I can carry 30-40 lbs for quite a distance. Anyway, I can look up upper-tier numbers for backpackers and what-not later, when I start working on attributes.

How much volume one can swing around is something else entirely, partly because it's based so strongly on distribution. Properly packed and distributed, I can imagine carrying a lot of volume. 500 liters isn't unimaginable, given the use of straps and packs and a light, balanceable weight. On the other hand, 10 bushels seems pretty high, and that's only a fraction of 500 liters. I think I settled for about 10 bushels, assuming most of the stuff the player will be hauling will be heavy enough to prevent abuse. I may have to tweak it down quite a bit, though - for regular items, I can only imagine myself handling maybe a bushel or two on my back, and carrying another 3-4 in my arms.

Also, there's the question of containment - an armful of leaves may only be a cubic foot or two, but you can't just take another one. (A good reason for wheelbarrows and things.)

Still, a simulation has to stop somewhere, and this is it for now. Maybe I'll revisit this if I implement wheelbarrows (which I intend to do, eventually, but it's a helpmeet and not a fundamental requirement, so it's on the back shelf.)

Psychic Controllers

There's a review up of a controller that works via thought patterns. Ooooh.

Now, I am a realist. I know that when Peter Molyneux predicts AI that's dynamic and awesome and changeable, he's lying through his teeth. I know when Bioware claims a dark fantasy world that it will be a generic fantasy world. I have played a virtual reality game (back in the earliest days of such things). I know that robots will not replace human beings for a long, long, long, long time if ever, and their "intelligence" is a complicated fraud. A cool fraud, but not actual intelligence.

And I know that there's got to be serious drawbacks with this thing.

Nevertheless - how awesome is that? Even better, they *claim* the device detects your emotional state (from bored to excited - nothing is said of fear, or surprise). The possibilities there are kind of staggering. I'm not about to shell out $300 for one - I assume this is a pretty crude device, and I prefer third-fourth generation devices, preferably after the price point has dropped - but it's interesting to think about programming a game where you have access to someone's emotional status. If the game could somehow sense the mingled resentment and rage when I hit a maze section, and offer me a way around it? If it could tell what elements (or at least scenarios) were emotionally satisfying (or at least not mind-rendingly boring)? That would be really cool.

Now I'd guess that this device isn't there yet, despite reports. Nevertheless, very interesting.

Saturday, November 14, 2009

Food and measuring food

Looks like the time vs. time of day typo really was the big issue. The lesson of this story: never blame other people before checking over your own work very, very carefully. And don't leap to conclusions about what's broken - it's likely something very silly.

I can't quite wrap my head around how I want to do hunger yet. A lot of animals, especially grazing animals, seem to eat a lot. That is, they'll kind of hang out and nibble for a lot of hours. So they need regular access to food, and aren't going to eat the few pounds of hay/grass in one minute-long turn.

I'm tempted to say that the sheep will need access to adequately nutritious pasture for a certain number of hours a day, or they'll need a certain quantity of supplemental feed (probably in the barn). This gets a little dicey, since it requires looking at some hard numbers and deciding how I'm going to handle weights and measures and stuff. Since I don't quite have that crystallized, I'm going to work on some other stuff for now.

Before I handle harvest-type things, I need to set up a basic weights and measures system. I've got the most basic weight and volume set-up now, but it's not up to handling hay harvest, much less apple harvest. Part of the difficulty I'm having is that the measures are radically different across the world, plus there's some weird farm measures, like bushels.

I considered breaking this down to "meal-units" - the amount of food a person would reasonably eat in a sitting - but I think that's too vague and variable. Some of the factors I'm juggling:
Storage - Assuming the player will set aside space for storage of foods for both people and animals, what does that look like? What's a bushel of wheat vs. a sack of wheat flour vs. a "pile" of hay? (How big is a ton of hay, anyway?)
Quality - high quality hay has more nutritional value than low quality hay, and in real life, an animal fed high quality hay will eat less of it, and/or require less supplemental feeding
Carriable/describle quantities - I want the character to be able to visualize and handle the quantities of food we're talking about, without fine tuning. So not "You feed 2.5 grams of wheat to the chicken. She's thrilled!" but "You scatter a handful of grain for the flock." How much hay does a sheep eat a day? An armful? A flake? Half that? Would there even be hay flakes if there's no baler?
Different kinds of foods and equivalencies - does it matter if you give chickens cracked corn vs. wheat? What about sheep on turnips rather than alfalfa?
Calories - I'm not planning on handling detailed caloric intake for the animals - probably just quantity of certain foods - but I am considering it for people-food. Eating three solid meals of spinach a day is not the same as eating three solid meals of bread and cheese. Basically, this is an extension of food equivalencies.

A lot of these issues are solved for animals if I can figure out pasturization. On the other hand, I can't assume players won't try grain-only diets for the sheep, so there needs to be some back-up systems in place. I'm not really sure how to program the different factors, so I'm setting it aside for now while I turn over different possibilities. I think if I have a clear conception of where that piece needs to go, it won't be too ugly to slot it in a bit later.

Friday, November 13, 2009

Compiler breaking is fun!

So just got through the first major slog-through of code - basically commenting out everything piece by piece until it worked, and then adding code back in piece by piece until it doesn't.

Since a lot of stuff is interrelated, that involved sorting out stuff individually.

I just found my majorly broken piece. (Apparently - hopefully - the only majorly broken piece.) Surprisingly, the nomenclature stuff didn't seem to be the gamebreaker. Nor did any of the other stuff I was deeply concerned about.

Want to know what was? Here's the smallest 'game' that will break Inform.

"test" by Gravel

Month is a number that varies.
Day is a number that varies.

Ovine Estrus is a recurring scene. Ovine Estrus begins when Month is 11 and day is 1 and time of day is 12:00 AM. Ovine Estrus ends when Month is 1 and day is 30 and time is 12:00 AM.

Testing room is a room.

That's it. Did you catch the typo? It's time vs. time of day. (The one that restores sanity is time of day.) Now, I know that names of things are important, but I would have expected an error thrown here, rather than a complete code shut-down. Inform does use "time" as something separate, in a way I think I understand but haven't worked with (i.e. "At the time when the sheep goes to sleep . . .").

Anyway, it's kind of nice to have the first major bug quashed. The code above worked fine with the previous version, and the change isn't mentioned in the documentation, so I'm glad to have that sorted out. Now I need to decide what to tackle next. There's sort of a lot of basic issues - the sheep get hungry and sort of fake eating if they have access to food, but it's pretty raw - for instance, the food never disappears, and the pasture magically has food for infinite sheep from spring to the end of fall. And sheep don't die except if I explicitly kill them - and even then, they vanish without a trace of a corpse. So, yeah. Good times.

Tuesday, November 10, 2009

Dragon Age Musing

In high school, I read about three paragraphs of Nietzsche. This qualified me to talk grandly about how silly people were, and how much more I understood the darkness of human nature. This was bullshit, and I probably even knew it at the time. But the dark, angsty teen poetry was darker than the world that Bioware has put together. Let's be clear: despite their ads and age restricted website and insistence that Dragon Age is set in a dark fantasy world, this is an utterly generic bog-standard fantasy world, cribbed from Tolkien and back issues of Dungeons and Dragons magazines. And not the non-standard campaigns, either.

The world has some nice finishing touches, and it's fairly well imagined. The denizens of the world feel far more well-imagined and individualized than any of the characters from Oblivion, and Bioware's NPC's appear to have genuine personalities, and several of them are quite funny. (Not as funny as The Witcher, but above par for RPGs.) Combat kind of sucks, and trying to get your entire party to act the way you want is a grueling task.

I don't care one way or another about including inter-party romance, but I am pleased to find both m/m and f/f options. And if the main m/m romance option (I'm not sure if there are others) is a bit stereotypical - your potential lover is a bisexual elf who grew up in a whorehouse, makes it clear he'd bed anyone with the least incentive, and the achievement unlocked is named "Easy Lover" - I did find him one of the most enjoyable party members, and at least his combat is not fundamentally broken, the way it seems to be for some of the other characters.

It's a good game, but there's some serious misses that standout because the majority of the design is so solid. And I really, really wish we could get two inches away from this faux medieval Britain/Europe thing. I have nothing against Tolkien, but a *little* originality wouldn't kill us, right, game designers? RIGHT? (To be fair, I was obscenely grateful when I got out of the introduction to my character without triggering my most hated trope - where you go hunting and return to find your village burned to the ground.)

Procrastinating

Coding's ground to a halt on FTA, largely because I'm afraid to delve into the Issues. I'm not sure where things went wrong, or how to deal with them - there's at least a half dozen potentially fatal flaws, and how do I cope with that?

What I ought to be doing is other things, to keep my hand in, but I'm not. I am playing a spectacular amount of Dragon Age, though.

Wednesday, November 4, 2009

Horror Musings

Horror is one of the few genres in IF that is done reasonably frequently. There's been a couple large, fully realized Lovecraft-type games in the past few years, and a reasonable number of smaller ones, some more successful than others.
I've been looking a horror IF recently in comparison to the sorts of sub-genres we see in horror movies and books, trying to think about what might work and what probably won't.

Slasher movies - rely strongly on building a cast of characters and killing them off, usually with the big reveal that one of them is the murderer. I don't think IF is really the right medium for this sort of thing - let's face it, characterization isn't easy, and timing the events would be a giant pain in the neck. It might work as a walk-through, but I have a hard time imagining this working well. Part of this is that I think IF can do atmosphere building well, but not so much the big reveal. Gore is appalling because it's visceral; the kind of writing needed to get across jetting arterial blood requires a deft hand. (And then implementation when the player tries to DRINK BLOOD and TOUCH BLOOD and DRAW PICTURES WITH BLOOD.) So what I can imagine working: the PC returning home and finding blood tracking through the house and unmentionable horrors upstairs. What I can't imagine working: the traditional run through the woods with the madman after you. In other words, anticipation rather than fulfillment.

Supernatural - there's a fair amount of ghouls and ghosts in IF, perhaps because the ritual is something to enact. From a traditional IF standpoint, puzzles can tie in well to the cleansing of a ghostly presence. First you have to find the bell, book, and candle, and then you have to find the ritual, and then ...
This is something King of Shreds and Patches did well at, although towards the end, it got a little heavy-handed. This is a pretty specific sort of supernatural horror; I haven't played anything similar to Korean/Japanese supernatural films, which I think would also work well for this sort of thing. In a lot of the East Asian horror I've watched (not that I've watched a ton), horror intrudes into everyday life through ordinary things that become sinister. You go to turn on the tap, and it keeps running, and suddenly there's hair in the sink, lots of hair, and the water is spilling onto the floor, and it's cold and something is breathing down your neck. Or it's the static on TV, or the ringing of your cell phone. Whatever the intrusion is, it starts out small and creepy, and comes to dominate. This doesn't have to be quiet horror - Uzumaki does it with the most innocuous thing imaginable - a swirl shape. In fact, I think Uzumaki the movie might have been a better IF.

Creature Feature - in creature films where the creature is only out for blood, there's the same problem as slasher flicks. What has potential are the films where the protagonist is the beast, and is being subsumed by it.