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

Monday, April 30, 2012

Quick update

I'm not dead. Real life is really really swampy right now, and I'm running on way too little sleep.  I'm still working on some boring peripheral planning issues, sort of apathetically, but it's stuff like "how the hell can I make this wibble here without making that stuff wobble" except even more boring, so you don't get updates on that.

Description work is being very difficult - sorting out all the parts is kind of agonizing, and my inclination to make things more complex is not working to my favor at the moment.

In general, I'm really struggling to sit down and code *at all*.  So I'm giving myself a couple weeks while real life stuff is likely to hit DEFCON 5 levels, and then I'm going to try doing Scrum-style sprints - small, maybe even tiny, programming tasks with deadlines.  Hopefully, this will be enough to start progressing codewise again, even if it's fairly small. 


Thursday, March 1, 2012

I've had farm maps kicking around for awhile now, but I'm trying to finalize it so I can start a serious build of the area, clarify sub-areas, and get cracking on the many actions and meta-actions that require the geography to be less mushy.

For maximum convenience and opportunity, the farm's located at a crux of biomes.  To the north and east are rolling climax forests of maple and beech.  To the west is an open meadow.  South of the farm is a mixture of sedge meadows and shrub thickets, dotted with alder and willow stands.

One of the reasons I've procrastinated on settling the final farm form is that it depends on having a fairly firm grasp of the place's history.  If it was abandoned last year, it's going to be a radically different place than if it's been abandoned for decades.  Plant succession (what grows after what) is difficult at the best of times, but it's especially complex on lands that have been tilled, especially those that have seen heavy agricultural use.  Land like that is not at all like land that hasn't been disturbed - it's more likely to be compacted, poorer in nutrients, and have less access to moisture and microbial support networks.  So the first few years after abandonment, what you mostly get are weeds.  Lots and lots and lots of weeds.  Then you get tough invasives from the neighboring biomes: whatever will grow and can outcompete the weeds.  In Michconsota, that means blackberries.  Alders.  Sumac.  Some light-tolerant and sturdy trees will sprout - cedar, maybe.  The fields turn into a dense, brushy scrabble that is almost impenetrable, which lets shade-tolerant trees grow up, which much more slowly grows into a forest.  Unless there's a fire or something.

And, of course, it also determines what condition the PC will find the world in, at least theoretically.  When I had planned to do procedural world-gen, this was not a problem at all - I just planned to let the player decide how long the place had been abandoned.  (Player choice is the programming procrastination's enabler.)  So here's the tension: I don't want to leave a lot of infrastructure around for the player to exploit, but I don't think it's entirely fair to give the player a "farm" that is in fact dense climax forest.  (Also, after looking at the number of trees per acre in a proper forest, I had a heart attack, because it's one thing to *give* the player the option to cut down thousands of trees, and it's another to *require* it before any proper stuff can happen.  Pretty generous spacing - trees 5' apart - still leads to 1700+ trees an acre.  And in a lot of these dense deciduous forests, it's going to be more like 20,000.  That's infinitely worse if I restrict farming to the actual farm, which I sort of need to do because combinatorial explosion, that's why.)

So I came up with a backstory to justify my preferences.  Problem solved!  New story: the world ended a while ago, but there have been semi-regular attempts to resettle the area due to Because I Said So.  The original buildings gradually were pulled down for firewood in winter, or to make other things, as they fell into disrepair.  The site proper has been completely abandoned for almost twenty years - long enough for shrubs and young trees to begin growing up in parts of the property.  There's been a series of fires that's kept the kitchen garden and much of the southern fields in grasses (and helpfully destroyed most of the infrastructure).


 Around 20-25% of the place is still forested - let's say 7-8 acres of ~40.  That's not really enough for self-sustenance, but it's a good start.  (Plus, the forests back up against the farm on the north and east.)  

  What's left are the stone foundations for the house and barn, and one outbuilding that can be used for shelter - probably a wellhouse, as it would probably be made of stone, and be motivatingly tiny, damp, and cold.  On hard difficulty, all the outbuildings will be gone - the PC can start from scratch.  Leaving the foundations behind is actually in keeping with some of the old farm buildings of the area, which really were built on big rock foundations, and it gives helpful hints to the player.  (And by "giving helpful hints", I mean "thank goodness I can find a reason to justify a single pre-determined structure because otherwise there will be some horrific player-made maze-y shit and I don't want to sort that out".)
Stone foundations.  (Image via http://www.balkantravellers.com/images/stories/news/)

One of the first things the PC will probably want to do is clear out the kitchen garden area.  This (and the chicken coop location) are conveniently located right beside the shack.   

PC's will wish they had all this.  A field of grain, a garden, a shack, and some adorable chicken coops.  Not shown: chickens.

There's a bunch of time management issues for first-year occupants, including things like "where do I put things" and "where do I find time to build places to put things" and "where do I get food and wood and stuff to put in the places I built to put things in".  There are good reasons to build storage, housing, barns and coops, and good reasons to get plants growing, and of course, wood and stuff so winter is survivable. 

Priorities will differ, depending on strategy, but clearing back the shrubs to plant more fields, build a barn, and space for an orchard is probably the focus of the first few years for most PC's.

More or less fully functional farm - pastures to the east, fields to the south, barns and house built.


Since the farmhouse is the place the PC sleeps, eats, and stores much of hir produce, the places the PC needs to visit frequently are close at hand: the garden, barns, and chicken coops are two to three moves of the house, depending on whether you count "barn" as "outside the barn" or "inside the barn".

Places are roughly grouped by how often they interact: fields can be far-flung because there's almost no need to haul things from field A to field B, but barns are close to pastures, compost heaps are in gardens, etc.  It's not perfect - the farm's a little too big for everything to be a single step away from each other, but it's not too bad.  The woodlot area, pastures, and pond are farther away, but I'm trying to keep things fairly short, as long as the PC goes by a path. 

From one far side of the farm to the other can be as few as 7 moves - but if the PC takes the scenic route, it's a lot more. (There's also the meta-commands, like GO TO SOUTH GATE, but if you're old-school, it's still not too bad.)  I'm also trying to keep those paths almost entirely e/w or n/s - which means the maps below are *slightly* inaccurate at this stage, because I haven't got those lined up nicely yet. For some reason, my brain finds the ne/sw/se/nw directions to be a little confusing, so as much as possible, things are kept to the cardinal directions.  Well, okay, as much as possible while still giving the sense that the land is organic.  So off and on, really.  I'm pretty tempted to make the PC build the road themselves, because I am Hard Core like that, but I think it's probably bad game design.  (Still, I'll probably toss it in as an option, because when I play, that's how I want to roll.) 


Cutting through fields and forests rather than using the roads takes more time because the room-density is higher there.  The kitchen garden is the densest, because there's so much growing there that it's overwhelming to lump it all together.  ("This is the kitchen garden.  You can see a row of immature peas, a row of immature beans, a row of leafy spinach, a row of sprouting spinach, a row of ripe spinach, a row of young corn, a row of young corn covered with potato beetles, a row of young corn flattened by the wind, a row of wilted tomatoes, and six rows of cabbages here.") It's easier to break it into smaller pieces - helpful for the player's mental image of the space, helpful for crop rotation attempts, and helpful to the ghastly process that is procedural description generation. 

There's currently four "field" areas - two on the east and two on the south - as well as a "meadow" area to the west/north (depending on which map I'm working with) that can be used to harvest hay.  I'm considering the addition of one more field, essentially breaking the east side of the farm into three parts rather than two.  It would add a kind of nice symmetry.  The map is roughly divided into ninths, and that would enforce a "eastern" block rather than melding it into one, as well as give a slightly more flexible grazing operation. 

Map in different style, showing the main road axis and addition site of a third field/pasture block to the east.

I played extensively trying to get a nice tiled map version that would play nice for the player, and just couldn't get one that I liked.  I wanted one because it would be flexible for play style, and I still want one, but tilesets are a pain in the ass - plus, I'm not really up to more graphics playtime with Inform at the moment.  (The above was an attempt to see if I could a mock-up of something very, very simple that I thought worked.  It's not too bad, although I sort of hate the background green of the grass.  Very 1950's linoleum.  The advantage would be that there's fairly minimal graphics to upload - the engine could do squares of color.)  So it's on the wishlist, but I'm not going to worry about it for awhile.  It's not as absolutely necessary as it used to be, because the general locations of things are pretty much set.  Pastures/fields are interchangable, but the size and number don't change. 

Location descriptions are a the bugbear in the room right now.  As I've been throwing up quick test maps, it's become clear that there's some nasty issues with a changing landscape; the information that remains static is almost nil, and traditional room descriptions don't tell players who they really need to know.  So for now, there's no descriptions, until I get a little space to do a bunch of experimenting. I've got another post with Deep Thoughts in the making, but I'll wait to post until I have the first, no doubt hilarious, preliminary tests to share. 

For now, the push is on making sure this layout is one that *sticks* - how close can Human Experimental Subject A get to reproducing the layout after not looking at it for a week?  How easy is it to visualize, and is the string of directions she'd use to get from spot A to spot B close to the in-game room connections?  Also, working on the connection layout - you don't want to have 8 exits per location, but you don't want to lock down reasonable access. 



Oooh, it animates.  WOOOooooh. 




















.