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. 




















.

Friday, December 16, 2011

Lesson: Don't Injure Yourself While Your Projects Are Stripped Apart

In late summer, I fell off the curb.  It was one of those really simple, stupid things, where I put a foot wrong and just toppled forward onto my hands and knees, but this time physics and anatomy were not working in harmony, and I broke both my wrists. 

Only one had to be put into a cast, but typing wavered between being impossible and just being awfully painful.  Regular everyday activities, like eating and getting clean, suddenly consumed huge amounts of time.  Once the cast came off, there were braces and physical therapy.  All this was on top of an unusually intense period of real-life career-related chaos. 

So I suppose it shouldn't be surprising that I feel exhausted, all the time, and when I get home, all I want to do is sit in my comfortable office chair and then drag myself to bed.  All sorts of things have fallen by the wayside - cooking and exercise and social life.  I haven't even touched my code in months.  I'm imagining the bugs have been cheerfully fornicating in there, and when I run it, the whole thing will collapse like an rotting peach. 

I am a little surprised that this feeling has lasted so long.  I still love my project, and want to work on it, but I just don't have the energy or motivation.  It's remarkably similar to being depressed, in a way - my freetime definitely has a "flat affect" because I just don't have anything to put in. 

I am feeling the first tickle of interest, and I'm taking advantage of it to gently revamp the design documentation, and start easing into it.  But I know I fell in the midst of fiddling with the graphics code, so it's all disemboweled and horrific, and half-welded onto other bits but not all the bits, and there's still big chunks dependent on the *old* graphics code, or worse, on old color values, and I think I need to go breathe into a paper bag awhile.

Sometimes code just needs to be eviscerated; I don't regret doing it, but I defnitely wish I'd left a nice clean working copy of what I had.  I've never had a totally working copy with all the parts in it, but I did have a really nice graphics shell with testing commands that was being refined for beta testers, so it was really shiny and user friendly, and it worked.  I may just set all that aside until I'm feeling brave and/or tipsy; another month isn't going to do any additional damage at this point.

Thursday, October 6, 2011

IF Comp: How do y'all do it?

Judges, I mean.  (I don't know how authors do it, either, but whatever.)

38 games?  42 days, several of which are now GONE FOREVER?

I probably won't be playing many during the comp this year - I am temporarily typing impaired, and Real Life is wreaking havoc on my free time, but I salute you all.

Wednesday, September 7, 2011

I am going to consider this investigative research

Update Haiku

Both wrists "maybe" broke
typing and reading hard - what
else do people do?

Sorry for typos
vicodin makes pain better
everything else worse

Anyone know some
good dictation software?
For Inform or not?

Tuesday, September 6, 2011

GDD Calculator

This weekend I made a neat little widget to help me calculate how many growing degree days different plants have.  (The downside of having a devblog is that you can see when you're doing *exactly* the same thing you were doing this time last year.)  It's not tuned, but it's not bad, either. Basically, you can enter a planting date, and a number of days from the planting date; it gives you the estimated GDD for that number of days for the particular game location.

It has some shortcomings - notably, the weather system remains stable, so April 1 has the same weather average as April 30.  The total GDD for the location is a bit higher than it "ought" to be, largely because there's only an average of 11 degrees Fahrenheit between day temperature and night temperature.  Again, this is one of those seasonal things - there's much less swing in temperature during winter, whereas summer evenings have a swing of closer to 20 degrees.  Also, because GDD is never negative - you don't lose growth if a day is cold - the average GDD is misleadingly low.  So it's not perfect.  It is, however, a far sight better than using strict day counts to harvest, and it's a good starting point.  It got the few crops that I have GDD numbers for in the right ballpark, so that's heartening.  I plugged about 30 of the major crops into the table.

The part that might be helpful for testing/release would be the estimates of harvest dates given a planting date and a crop.  It could be useful internally (the game shouldn't suggest planting corn in August, when it's too late in the season to get a harvest), but it's not hooked up to the current system because I needed something quick and dirty.

For the game proper, I made another stab at a crude crop model - it grabs the GDD and applies it across the growing crops, and declares them mature once they hit a threshold.  It doesn't do anything else - you can't actually harvest them or anything - but it's a start. 

Yes, I'm still working on fishing, too.  Can't find a good way to streamline the process.  Am seriously considering reducing descriptions to modifiers of the noun proper instead of descriptions of the noun - so instead of talking about a large silver fish with a hooked chin, I'm thinking about more of a "The salmon is fat and fresh." type thing.  Because, you know, pretty much all fish are vaguely shaped the same, with similar fins and things, and it's hard to differentiate them, and not particularly helpful.  If players want to know what an alewife looks like, maybe they could Google Image it?  I dunno. 
 

 

Thursday, August 11, 2011

Fish Waffling

Brown Trout, looking appropriately skeptical.  Courtesy New York City Public Library.
So I just finished putting some of my notes into a spreadsheet, felt the glow of a job 10% done, and then the sinking feeling of realizing that you'd done research on a bunch more fish.  Like, where's the pike?  Any of the trout species?  The burbot, which I remember because when you pull it out of the water, it tries to wrap around your arm like a boa constrictor?  And those are the ones I can think of offhand. 

Upside: there aren't going to be just 13 species.  Yay diversity. 

Downside: someone has to do more research, and until I get an intern, that someone is going to be me.  I love research, I'm just not chuffed about re-research.

I'm also sort of leery of the way the odds for fish are going.  Right now they have a base frequency, and then bonus/penalties for the cold water, warm water, shallow water, deep water, slow water, fast water, whether it's not a prime feeding time, and whether it's winter.  And data for preferred baits. 

The result is a pretty intense table.  The advantage of having these in a table is that they can be tweaked en masse to make the difficulty easier/harder, or in response to environmental pressures.  But it's not the most helpful table, and I'm thinking of breaking these out into properties: cold-water tolerant, shallow-water feeder, active-in-winter.  (Yes, the names need work.)

I'd still need some sort of hard numbers for frequency and what those penalties actually mean, but it would make fish definitions easier.  For instance, I'm thinking cold-water fish (vs. temperature-tolerant or warm-water fish) just don't show up in warm water.  Period.  But I'm not really a fish person - they're delicious, but not something I know much about - and I don't know if that's fair.  I'm not even sure what makes fish prefer cold or warm water - is it the competition?  Thermal regulation?  Enzymatic activity?  This makes it hard to make judgment calls on mechanisms. 

I also need some measurement for bait; catfish theoretically eat anything, while sturgeon are theoretically pickier.  (I garden, so I've learned to take pronouncements on biological behavior with a grain of salt.)  I don't really know if there are categories of baits that go together: live bait includes what, exactly, and if a fish eats a minnow, does that imply it would bite on a worm?  A grub?  A crayfish?  And that's dependent on me getting bait worked out. 

I think bait needs to be pretty straightforward, so here's sort of the current experimental plan:
- Live bait: worms, grubs, minnows, and small moving things.  Includes artificial bait that looks/acts like live bait - spoons, rubber worms, etc.
- Non-live bait: usually odiferous, non-moving stuff - dead salmon, cheese, sausage, etc.
- Some sort of size mechanism - sturgeon eat non-moving stuff that's at least X g; perch have a range under Y g.  Maybe by body weight.

I wouldn't mind fly fishing (isn't that a separate thing from normal fishing?) but know NOTHING about it.  And while I have no problem with our Lone Survivor sitting around embroidering her underwear, I think tying artificial flies is just a little bit silly. 

I also need a way to spear fish in the shallows (and possibly deep areas near a bank).  I think I'm going to ban swimming out into the lake with a spear.  People do it in the tropical oceans, but I don't think a lake has the same fish density or temperature. 

Fun fact: Barnacles can't move, so they mate with these long extendable penises that look like something from Doctor Who.

Monday, August 8, 2011

In Which I Realize Something Obvious About Inform 7

Just now I realized that instead of typing "Every turn when the minutes part of the time of day is 00:" eighteen thousand times, I could just make a set of every hour rules, trigger them once, and then just specify "Every hour: do stuff!"

Makes the code easier to read and write.

In Which I Make a Rock

So I've been trying for days to make a rock.  Who would have thought that a convincing rock is so much harder than a convincing tree?


Why are the background colors weird?  I dunno.
It's still not what I would call convincing - there's something non-organic about it, despite the fact that it was more-or-less based on an actual rock.  I do like the moss, though.  And I think I like the snow shading, which looks deceptively simple but actually involved about an hour's worth of gradient tools and blur and smudging and shaping and brushes.  I tell you, I cannot wait to work on a tropical island version of this game, where there are no seasons, no snow, and all rocks have been made by aliens and are *meant* to look like those plastic rocks you can put keys in.

Trying to get the grass looking decent is . . . progressing, if by progressing one means "I have tried a bunch of stuff that didn't work, and then my brain went funny and I don't know if it's better or not."  Also, I did some stuff on the wrong layer, so it's not really reproducable the way I'd like.

Here's one experiment with flowers.  It's TOO MUCH at this point, but I think there's potential in there somewhere.  It's better if I take out a bunch of the middle-distance trees.  On the other other hand, Michiconsota summers are pretty much a froth of TOO MUCH, so . . . yeah.  I dunno.  (I moved this layer down a bunch, because it was too high, and took out a lot of extra greenery, so you're missing a bunch of the effect.)  I do like that suddenly this thing has the feel of looking over hills.  How did that happen?  I wish I knew, because I kind of like it.  And I like that there's some color at midsummer.  There should be color.  Just not sure how to add color without it being all overwhelming. 

Wait, no, that's a lie. 

Just rip the middle-ground trees out, and voila.  (Note to self: Do not think about the hours you spent crafting the middle ground trees.  Just think: better one, or better two?) 

Also that grass color is subtlely wrong.  (Green is one of those really tricky colors, where it has to be just so.  Like brown.  Orange and blue are more forgiving.)  Also tried shifting the background trees a little more blue, to give the illusion of distance, and . . . yeah, that's not working.

In other news: I procrastinated this week.  (Well, not so much procrastinated as "went outside, saw the sun, met friends, drank beer, made bread, put a new video card in my computer, played Fallout 3, searched for help on game-breaking bugs in Fallout 3, marveled at how many there were, and managed to force my game into a semi-workable condition.") 

Whenever I get a little excited about Skyrim, I go watch the video of the guy demoing it and immediately feel better.  There's just something about the presentation that dulls my excitement.  I have a history of getting super-excited about Bethesda's stuff and then having them do B-quality work - enough so that I don't feel totally outraged, but most of the fun is sapped from the game. 


Monday, August 1, 2011

Crops, Part the First

Crop plants are an entirely different thing than the wild plants, and require a lot more delicacy.  There's kind of a bunch of factors, and I haven't quite sifted out "want to do" from "plausible to do" from "bad idea".  A lot of the crop planning that I did was done either before I started programming, or while learning I7; as such, it doesn't really take into account things like "difficulty" or "memory".

Initial plan: Implement lots of crops, each with lots of cultivars.  (A cultivar is a specific type of a species, like Red Delicious apples or Brandywine tomatos.  There can be dozens or hundreds of cultivars per species, each with a unique set of genes.  Sometimes those genes are better than average - maybe Jonathan apples are unusually resistant to disease.  Sometimes they're worse - Brandywines don't ship well at all.  That mix of characteristics makes it fun to play with, since you can select different cultivars based on what you want to do with a crop.)  Each cultivar would be implemented as a set of genes.  You could choose to cross pollinate plants yourself, and get a range of cross-bred plants with various characteristics, and purify those to a single strain ideal for your needs, or you could just roll with a store-bought variety.

I basically think this would be loads of fun, but I cannot see a good way to run this without horrific memory and parser issues.  A pure graphics game would handle this with more aplomb, but consider: you cross Apple A and Apple B.  You plant only 2 apples' worth of seeds, and get 10 saplings.  They're all crosses of A and B, but they're unlikely to be clones of each other; Inform will want to refer to them separately, and the PC will want to refer to them separately.  I could assign arbitrary ID's, but the player won't have good reason to be able to tell them apart for years.  Much worse is if the PC crosses and plants a field of trial corn.  In that case, there's nothing for it but to fake the cross somehow, holding the genes and then giving the player a couple improved (or unimproved) plants at the end.  That sits wrong for me.  And that's not even getting into memory issues, storage of data for new cultivars, clarifying to the player what's good and bad about specific plants/fruit, tracing the crop back to a specific mother plant, and about 26,000 other issues.  I'm also a trifle unconvinced that there's enough difference between cultivars to be deeply meaningful in 90% of the cases.  In essence, the very set-up of the game determines what uses most of the crops will be put to.  The PC is not running a gourmet kitchen, where a diverse spread of subtle and unusual flavors is important.  It's hard to even describe those flavors without sounding really, really stupid.  (Flavor description is a beast.)  And the difference amongst cultivars is usually smaller than the difference between species - that is, two tomatoes are going to be more alike than a tomato and a bean, so you get more bang for your buck with two species, and less of a rate of return for cultivars.  And cultivar information can be hard to gather and gauge accuracy for.  I can give you ballpark estimates for how many bushels come from a row of corn, but I couldn't tell you whether Silver Queen was better or worse.  And it's likely to vary depending on the part of the country and techniques used.

Given that, I'm reluctantly letting go of most of the cultivar stuff.  I'm not 100% on it, yet, largely because I think some choices are meaningful.  For example, does the PC grow green beans, dried beans, or both?  That makes an impact on play.  Green beans are likely to produce more, earlier, but requires additional time and energy to preserve for winter, during months when there's a lot of other stuff to do.  So it's a time management issue, which seems like a good option to offer.  But as to whether the dried beans are speckly or black or stripey  . . . I hate to admit it, because I *love* that stuff, but there's not nearly enough pay-off there.

I think that energy can be better spent on creating a mechanics heavy crop system, where species have certain qualities that affect growth.  In this scenario, there's far fewer individual checks, and a lot more sweeping categories and behind-the-scenes gears.  So instead of talking about species, the game would mostly be dealing with frost hardy plants, or edible-fruit plants, or cutworm vulnerable plants, or whatever.  Get enough of these categories, and the species start sorting out in interesting ways.  And, at least in my theoretical role-play scenarios, it encourages the sorts of play I want to encourage: crop diversity, attention to insects or disease, interest in the general traits of various species.  It means the player has to keep less info straight - before, the player might have had a dozen cultivars of apples growing at any one time.  In case of insect infestation, the player would need to remember or look up the resistance of each cultivar, and treat the vulnerable ones.  That info would never be retained into another play session.  And, honestly, there's just too much time in between pollination and the time the player sees results.  It's at least a growing season, sometimes more, before the results become clear, and a lot of players aren't going to go beyond one season.  (And I'd be surprised if the first year is anything except "quick, plant stuff!")

This is the first design decision I've made that really hurts, and not just because I've already done a fair amount of research.  It changes the mental picture I'd had coming in, and although I believe I'm making the right decision, it's no longer my fantasy game.  Of course, no implemented game can actually be a fantasy game - already there's stuff implemented that's a compromise or outright re-neg, but the cultivar and plant breeding piece was big, and I miss it. 

There are still a lot of implementation issues to deal with, so I'm not ready to start coding yet.  But I've got some preliminary lists of crops I'm looking for info on.

Currently, there's a couple broad divisions by type of crop, with rankings as to which to I'm leaning towards implementing first.  I have no doubt that I'll get bored at some point, so it would be nice if the mechanics allow for easy additions.  That means not implementing all the grains first - that radically increases the chances that I'll never get around to tomatoes, because it's so much work.  If I start with corn and tomatoes and beans before moving on, it means less work adding stuff.  It also means that pre-alpha testers can get a better sense for how things might progress.

All this is tentative.  1st pick is the single thing from a category that I'd want, if I couldn't have any of the others; I'd like to get the first picks done before adding other stuff.  2nd tier is the stuff I'm pretty sure I'd like to get implemented; 3rd tier is stuff I'm not sure about and/or have trouble getting info on, but haven't outright rejected.  Things are mostly listed in order of preference in tiers.  I'm pretty confident I can get through about half the 2nd tier stuff, but less confident after that.

Grains: Botanically, this category shouldn't include some of the stuff it does colloquially, but I've always suspected that botanists just don't have enough to do with their time, so I'm going colloquial on this one.
First pick: corn.  Wheat would work, too, but Winnegan is much more a corn state than a wheat state.  Besides, it's one of the three sisters, so it has nice symbolic importance, and it has a lot of finickyness.  If I can get the mechanics right for corn, that sets up real nice for a bunch of other, more forgiving, crops.
2nd tier: wheat, barley, rye, oats
3rd tier: buckwheat, millet, amaranth, spelt

Roots: One of those weird, fuzzy categories, encompassing some roots, some rhizomes, even a thickened stem or two, I think.
1st pick: potatoes, hands down.
2nd tier:  carrots, beets, sweet potatoes, turnips (I'm a little vague on the differences between beets and turnips, so maybe just one)
3rd tier: radishes (3rd tier because it's less a calorie crop than most, and how many people voluntarily eat many radishes?  I eat a ton of the big Asian varieties, but the hot thumb-joint size ones?), parsnips, rutabaga, sunchokes, scorzonera (almost definitely out, but weird and sort of tasty, so not bumped yet)

Legumes: an actual botanical category, having something to do with . . . um . . . the way the pod splits open?  Yeah, I dunno.
1st pick: beans.  The normal kind, both green and dry.  Another three sisters pick.
2nd tier: peas, soybeans
3rd tier: fava beans, peanuts (people do grow these in Minnchicon, but . . . really?)

Fruiting vegetables:
1st pick: tomatoes - should be squash to round out the three sisters, but I think tomatoes are a bit more classic.

2nd tier: squash (winter), peppers, melons (musk), squash (summer), eggplant, cucumbers

3rd tier: tomatillos, gourds, melons (water), artichokes, okra, luffa, bitter melon

Greens:
1st pick: spinach.  Yes, probably should be lettuce, but I don't like lettuce, and if anyone gets to make petty decisions based on personal preference, it's me.
2nd tier: chard, arugula, kale
3rd tier: mustard, lettuce (okay, yes, this should probably be tier 2, but ew.)

Brassicas and stuff:  Actually, a bunch of brassicas are in other categories.  Maybe this is a miscellaneous bitter green category?
1st pick: cabbage.
2nd tier: uh . . . actually, not that sure I want other brassicas.
3rd tier: broccoli, asparagus, cauliflower, endive, rhubarb

Berries: Again, the non-botanical sense - canes or ground plants or vines with berry-ish fruit.
1st pick: grapes.
2nd tier: raspberry, blackberry, strawberry
3rd tier: blueberry, hardy kiwi

Tree fruits:
1st pick: Apples.  Purely a versatility/popularity choice.
2nd tier: pears, plums, cherries (sour and sweet?)
3rd tier: crabapple, Asian pear, peach, apricot


Oil plants: Several other plants give oil, of course.  Ah, well.
1st pick: none.  This would be a strictly 3rd tier optional venture.
3rd tier: poppies, sunflower.

Aliums and things:
1st pick: onions.  (Garlic's a close second, but because of the way it's used, I've reclassified garlic as an herb.)
2nd tier: leeks
3rd tier: fennel, shallots

Herbs:
Very 3rd tier in general, as these're reliant on a cooking system that might utilize them (or being picked up by another craft system).
1st pick: garlic
2nd tier: basil, oregano, parsley, dill, chives, sage, thyme, lavender, rosemary, marjoram
3rd tier: anise, caraway, horseradish, shiso, sorrel, chamomile, horehound, bayberry, borage, hyssop

Nuts are available only in the wild at the moment; I suppose I could change that.  Something to think about, anyway.

Friday, July 29, 2011

Evolution Game

So, yesterday, in the middle of The Blind Watchmaker, I thought to myself: "Self, someone really ought to make an evolution simulator."

Dawkins wrote The Blind Watchmaker in 1986, and there's a chapter where he "evolves" various shapes on the computer.  I did something vaguely similar later (not with shapes, but behavior).   You can get some pretty shapes from selection and random variation, and he mentions that he'd like to do a computer simulation and hopes to see if the flowers end up looking like the bees. 

Fortunately, someone else seems to be working on it.  On XNA, one of the platforms I was considering during the "oh crap what was I thinking going with IF" crisis.  It's an interesting project, and reading through the dev blog is at least two hours' worth of procrastination on deciding whether I should chuck in some non-native fish to give a little variety.

Wednesday, July 27, 2011

Grass and Fish

 Right, so exciting visual stuff first.  Here's the experiments for the ground in the winter, when grass is dead, but there's no snow on the ground.  To make it easier to see, I'm only experimenting with one layer.  The back layer of grass is far enough away that there probably won't be many changes.  Here's where I started, with some smooth curves - bare ground.

This looks sort of "Flash animation-y", which isn't really a bad thing per se, but not what I was going for.  Plus, grass doesn't really disappear in the winter - it only dies off.  So I went for a desaturated, shorter version of grass, using a single grass brush with a bit of size variation and scattering.

(That's the alpha release version.)

So from there, I want to add a little texture, a little variation.  It's not there to startle or distract, but I want a little . . . I don't know what the right word is.  Movement, maybe?  Variation.  So I added a bit of wind, and used a longer brush, and I didn't brush over a pre-existing curve.  I followed the same line, but didn't past the solid over the grass.  As a result, it feels less forced and more organic.  I am not entirely happy with the way the grass breaks about 15% from the right-hand side, but I figure a carefully placed tree will solve the problem.

Better, I think.



But there's still not much variation in the silhouette.  What if there's another kind of dead grass?  Leftover seed stalks or something.



I like this quite a bit, but I want to emphasize distance, and give a little further variation.  A few up-close clumps is a chance to vary color and shape.  I made the color variation pretty slight, just enough so I could differentiate the bigger stuff from the farther away stuff.


I'm not entirely happy with this; the wind isn't right, and I'm kind of ambivalent about the two-tone grass layers.  (And I have no idea how to treat the grass under snow-fall.)  Nor am I sure whether it will compete too enthusiastically against the other elements.  I do think the windswept look is an improvement, though.

A pretty quick mock-up, but that's the graphics front these days.  It gives me an excellent chance to play eye doctor: Better one, or better two?

Click to enlarge.  Now with upgraded cliff and fake grass on the oak tree for that "not pasted on yay" look.  Also experimental like whoa.  And adding blue and making the cliffs darker turned it strangely colored. 
A complicating factor is that it's easier to do dead grass than live grass; my experiments with greener hues have not gone quite as well. 

In equally exciting news (but with fewer pictures), I think I've ironed out the action flow for fishing.  Checks are run to make sure that the player's got the right equipment, and in the right place, and isn't being eaten by zombies (metaphorically speaking). 

Each room that the PC can fish in has some basic properties that limit the fish that are there.  Catfish like warm, slow water; trout like it cold; sturgeon like it deep.  A list of available fish is compiled (or maybe it's pre-compiled).  The odds for each fish type are modified by complicating factors: if the fish are hungry, if the PC is fishing with a kind of bait the fish eat, etc.  If the odds are nil or close enough, the action is ended with a rejection and advice. 

If they're not, the table is randomized, and the odds are checked every few minutes (10? 15?  20?) until one of the fish bites.  From there, it's reminescent of 2nd Edition AD&D saving throws: PC vs. fish. 

The outcome is created as a sentence or two, and a result is tallied: was the fish eating, hooked, landed?  A little extra time is deducted for each of these steps; if there's time left on the clock, the fishing loop will continue.

Afterwards, a summary is printed, with the specifics of one or two battles given a gloss, or the overall tallies turned into something more comprehensive.  (Did the PC get all his bait eaten with no hooks?  Did the PC's experience start bad but improve, or vice versa?  Was there a wide spread, or mostly failure/success?  Is the PC desperate for food or is this more likely to be a pleasure jaunt, and is the PC hungry *RIGHT NOW*?)  It's not a load of conditions yet, but it's enough to give a little variety to the fishing outcome, which is welcome.  (One of the sad things is that there's really never enough variety in the terms of things the program will print out, but even small variations makes it feel less dead.)

One of the things I'm trying to do as I finish actions is define when it would be appropriate for the game to suggest it as a course of action.  Based on fishing conditions, I'm thinking spring-fall around sunrise, or evening if chores are done. 

Once pre-alpha's filled in a bit, I'd like to do an auto "go to nearest fishing spot" thing, and a more sophisticated "when's fishing appropriate" thing, and definitely a "spear fishing" action and some special scenes where the PC can land a monster catfish or something, but I'm trying to skimp a little more on the detail to cover a bit more ground before circling back around. 

Thursday, July 21, 2011

Graphics - Alpha Changes

 A bunch of people were kind enough to download 30 mb worth of example graphics, look through them, and give feedback.  One of the background layers is off by a smidge; I'm having the devil of a time figuring out where the break started.  (It's likely to be unnoticeable in-game, but it's irritating me.)

There's some tree placement issues, and I noticed (although no one else mentioned it) that some of the trees were putting little semi-transparent white boxes around themselves, with the result of strange white lines running through the screen.  So I need to go in, erase all those, move some trees around, and reconstitute them into one layer.

All that's pretty straight forward fix-it stuff.

Less straight forward: the cliffs have some issues.  I took out the layer of trees on the cliffs, added some extra shadows, and experimented with a gradient to add some variation.  (Thanks to Erik's wife, and Erik, who passed on the suggestion!)  I also shifted the whole thing darker and a little bit blue-er.  It looks less like limestone now, but whatever.  I'm having some serious issues getting the gradient to fit properly over the cliffs, though - there's either a little extra overlap, creating weird shadows, or not enough overlap, which limns the cliffs with a sliver of brightness.  As a result, the cliffs look extra painted on.  I think finding the right curvature for the gradient will help; a straight vertical isn't really ideal.  I think a couple layered gradients in different directions will give the right effect; for now, it's experimentation.  (I'm pretty happy with what I've got, but before I go through to fix the borders, I want to make sure I have it right.)

Much harder are some complaints about the grass; in parts, it's a little "bald", and you can see the shape of the curve that I textured, and not everyone is thrilled with either the monocolor or the static texture or the particular color choices.  I haven't been particularly thrilled with my efforts to add color to the grass itself; the flat color recedes, but the texture pops, and given the texture of the trees, it's sort of painful.  I do think it will be possible to vary the silhouette, which will help some.  I'm wary of tacking on too many extra layers; we'll have to see how it runs, but flowers or something might also break the monotony.  It's actually kind of difficult to do a genuine layered look with various plants (see: trees),  but it's worth a try.   Preliminary results from just brushing up the shape are encouraging. 

One of the close-up trees has gotten a lot of comments, too, mostly with no easy fix.  I'm still kind of poking at it.  Some parts, like the canopy shape, are easy, if tedious, to experiment with, and probably worth doing.  But things like the trunk are much harder, since it was made using a brush and my trunk-art is near nil.  I think it's possible that the trunk is too dark/saturated, which is fixable, and I can back the contrast back some, but a complete trunk remodel probably isn't in the cards. 

I also want to try bluing out some of the distant trees a bit, and seeing if that increases the illusion of depth.

Upsides:
- No one complained about the clouds, which is great, because they're hours and hours of really nitpicky work.  Hallelujah.
- No one complained about the rain, which received a last minute tweak or six.
- No one suggested more tree variation, which is good, because I'm a little tired of trees at the moment.  (All in all, there's about 250 deciduous trees, all duplicated, scaled, and placed by hand.  Each of those has 11 to 13 layers, which had to be turned on or off by hand to merge the layers.  About 10% of those were given custom tweaks on top of that.  Plus there's 20+ conifers, which only have two layers.  I still have a tertiary merge to do to get things right, but if I never look at another trunk sprite again, I will die content.) 
- The general goals (season/weather info) were conveyed adequately, and in most cases excellently. 
-No one protested the snow, either the active "it's snowing" screen or the snows on the trees/ground, with the exception of the tree that's already slated for an overhaul.  (I still can't believe this, since my patented "put snow on trees" process consisted of a blurred brush and tracing with my mouse.  Yay, though, because hours of work.)
- No one commented one way or the other on the slight variations in sky color - slightly purple in the spring, green in the fall, and less saturated/lighter in the winter.  Which means that it wasn't too much of a leap.  (It's pretty obvious if you've got the animation open and can directly toggle on/off one color or the other, but it's harder to catch otherwise.)

So: overall, I feel pretty good about it, and no "back to the drawing board with you!" moment.  No one noticed that towards the end of the tree placement process, I got impatient and duplicated a bunch of groups.  It's interesting that I can see the group division lines pretty clearly still; I'm hoping once I go away for awhile, I'll lose that recall, and it'll all just become one pretty mass. 

I'll put up before/after comparisons once I've got some options I'm happy with; in the meantime, if you haven't taken a look at the alpha graphics, and want to, you can download here. Gentle criticism welcome, here or at the email mentioned in the description at the download site. Someone suggested putting the game title over the graphics line; I'm reluctant to do that, but let me know what you think. 

In other news: Fishing!  I know, I know, I really should have wrapped it up months back while it was fresh, but I didn't, so now I get to wade through a mass of uncommented experimental code.  (I did this once already, and promptly saved over it.)  The game will now put together a fishing rod for you.  It's *very* alpha - it automatically provides an earthworm for bait, even in the middle of the winter or if you're in the middle of the lake, but you know, that can wait.  I'm tweaking the Table of Fish at the moment.  The completionist in me is sort of sad there's only a handful of species, but getting info on non-sport fish species is pretty much impossible, so the player's stuck with the usual trout, bass, catfish.  (There's about 13 permutations and species, but a few of those are pretty rare.  Trout, bass, and catfish cover a good 60% of the options.)

Fun fact: I am SO glad I never figured out where I wanted to put a river in the landscape.

Friday, July 15, 2011

Design Diary, July 15

Materials is a little better, but not totally.  I'm trying to nail down the Table of Excessive Properties into just a few useful qualities.  Does it burn?  Does it break?  Does it decompose?  Those are the biggies, but plenty of minor issues are coming up.  For instance, burning implies that the material feeds the fire.  I'm basically doing this by weight - for every pound of straw or wood or cloth or paper you put into the fire, the fire will burn for X minutes.  (I considered a more complicated scheme involving BTU's, but then I got better.  This is close enough for almost everything, and the exceptions are not things the player is going to run across often.) 

I'm also struggling with the names for materials where there isn't really a material.  Glass, wood, metal, leather: all pretty straight forward.  But what about stuff like linen?  It's made of . . . linen, but there's no point in having linen be a dramatically different kind of material than cotton or silk.  Fiber?  Cloth?  Hair?  Bonus question: what is a pumpkin made out of?  (It cannot be plant or vegetable; those are taken.)  Flesh is what I'm leaning towards for animals and people, although it's a little weird.

So, basically, there's substances, which are values, and each substance has some properties which determine the qualities of the object.  This sounds crazy, until you calculate the difficulty of determining the difference between a wooden jug and a ceramic jug, and then it looks pretty nifty.  Of course, in real life, there are ways to make wooden objects less flammable, etc. 

I have not quite figured out all the coding complexities with things like candles, which should burn and feed the fire, but also be essentially non-flammable, but also be on fire sometimes and able to set other things on fire.  Original design plans called for calculating light levels for various activities, but that feels fiddly and unwieldy now.  If the PC only has one candle to read by, then by golly she's going to read by a single candle.  I would like to strongly encourage the PC to sleep at night and work during the day, or at least have a regular schedule.  If any light is as good as every light, that sort of hurts the whole schedule thing.  (Lumberjacking by the light of a single candle is where I draw the line.)  Light that isn't the sun is relatively precious, both historically and in-game.  You can make candles, which takes energy, time, and precious materials.  At some point, you'll be able to press oil from a few foodstuffs, but it requires equipment, quite a lot of the foodstuff, and time at a point in the season where it's a precious commodity.  I'd like light to be a precious resource to be carefully conserved, and without artificial constraints, that's a bit harder.  It may very well be something I need to let go of.

Also did a bit more slogging on the graphics front.  Bare ground - that is, winter ground not covered by snow - was formerly a smooth set of curves the color of dirt.  I bumped that up to dead grass.  I don't have the color balance fully fixed yet - it's a bit fiddly getting the right look - but even the current stuff is improved.  I need to do something with snow, too - the smooth curves are a little too artificial.  I keep trying to get nice snow drifts, but it's actually quite hard.  I think I need some shadows and blur, but can't quite visualize what I should be doing.  Next attempt is going to involve highlighting the "crest" of the hill, trying to get some of that crisp reflective feel, and a blurred brush to soften the edge between hill and horizon for that soft feel. 

I also did a seasonal merge with the first load of trees. Good golly, it's a lot of clicking.  (Each tree needs to be actively toggled each season, multiplied by 11-ish seasons.)  I'm also doing some cheating by leaving some trees in the season before/after the one I'm toggling to.  It provides more variation in color overall, and saves me a little time.  I've grown to appreciate conifers, which only have a "normal" and a "snow" layer.  Stupid deciduous forests, with their seasons and their leaf dropping.  But it's worth it to be able to click through the layers and see the seasonal progression. 

Thursday, July 14, 2011

So Tempting

I wonder if I have the nerve to name my game Apocalypse Plow.

Monday, July 11, 2011

A Matter of Time

Okay, first of all: sleep is awesome, y'all.  Does everyone know about this?  Everyone should know about this.  Life is SO much better when there's sleep.  The game-related depression isn't entirely gone, but it is much diminished, along with the tick in my right eyelid.  And the vestiges of sleep deprivation feel strangely like motivation.

So the issues with the time mechanic don't look so bad from here.

Right now, I'm using a modified version of Weather, by Ish McGravin, to give structure to time.  Weather gives you a Day, Month, and Year variable, and then pulls necessary information for a given date from a table.  It's not bad at all, and have let me just drop in a calendar with no real adjustments needed.  I've got a whole load of scenes, as well, like During September and During Spring.

What it *doesn't* do is track actual dates.  There's no easy way for me to compare Day 1, Month 5, Year 1 with Day 6, Month 6, Year 1.  So if you're trying to compare distances between times (days to harvest, days to Christmas, days since you last ate), things are really, really awkward. 

There are workarounds.  Instead of giving food a literal date as an expiration date, I can just count down the amount of time until it spoils.  I have a lot of reference tables holding statistical data, so I can actually tell you what rainfall has been like in the past week or so, the last month, the last year, etc.  But it would still be nice to compare dates, and to be able to measure how long before or after Date A is from Date B. 

The other sticky bit is that Ish had to do some workarounds with the code, so Month 1 is December.  Which is not the usual assumption I go on, and means that you can't just write a phrase that easily measures time between dates.  I think the Month 1 = December choice came from the moon phase code, which I haven't fully unpacked yet.  (Okay, I only sort of glanced at it once.)  You can write that phrase, of course, but every time I sit down to do it, I can't quite fully wrap my head around the implications. 

Ideally, I would want an actual date value: X/Y/Z, which would make comparing dates considerably easier, and make it trivial to give things dates, or put dates as triggers.  I'm not sure whether it would be possible to literally trigger events ("Now the lamb grows up in one year from now;"), but "Now the maturity date of the lamb is 5/5/2" is easier to read than any of the alternatives. 

Replacing the current date system would mean having to change the triggers for pretty much every seasonal scene, plus a lot of other weather code.  The introduced bugs could be non-trivial.

Of course, I could mesh a date system *over* the current one.  I am not sure it's the smartest option, but it would allow me to the current meta stuff in place, and use dates for the everyday object interactions.  And it would let me move forward, retrofitting all the weather/scheduling stuff as necessary.

Tuesday, July 5, 2011

Better Living Through Design Documentation

I'm still feeling off about FTA - frustrated and reluctant to jump back in.  I wonder if it might be better as a full-on graphical game, which I think is just a sophisticated attempt by my subconscious to get me to ditch my current code, but I don't know for sure.  And looking at my documentation, a lot of it is under-detailed, incomplete, or outright missing.  This compounds the difficulty that the document is half-electronic, half-paper, and not organized in any particular fashion.  In short, shoddy work.  Which was fine, for a while.  But I can't really skate by not knowing exactly what my material or crafting system will look like.  I know the shape of the thing, but that's not concrete enough, and writing around it is just not adequate.

It's hard to know what's stress-induced depression - I haven't had more than five hours of sleep a day in more than three weeks, and I haven't had access to hot water or a functional kitchen in two - and what's good insight into what needs to get changed. I don't *want* to learn a new programming language to try to implement FTA, much less struggle with collision events and mouse clicks and save states.  I don't even know which language would be most appropriate.  Would it be a better game?  I just . . . I don't know.  I don't even know how to go about answering that question.

So I'm pulling back a little, again, and trying to locate and merge a bunch of documentation.  It's been going okay on half-assed documentation, but that's not good enough anymore.  The game's too big, and too system-based, and there's too many references between systems - it needs things laid out, and I need to be more diligent about saving all my research notes in one place.  I probably won't stop implementation entirely - I do best when switching between tasks - but I do plan to cut back, take a look at what I have, and clearly map out the underlying first draft of the game.    

(Since I first wrote this, I actually looked a bit at what it might take to implement as a non-IF game, and, uh, yikes.  C# is really, really not as appealing as Inform.  Not that I don't have wallbanger moments/hours with Inform, but yow.  Steep learning curve.  And I can make no progress at all with . . . well, with pretty much any of the helper platforms.  Graphics is hard, y'all, and so is trying to switch from action-oriented to object-oriented.  Also, I totally remember what I like about writing for IF.  50 animals do not require 100+ meshes and textures and animations and things.  No, they just require a few sentences.  Also, I got a full eight hours of sleep last night, and feel like maybe life is okay, after all.

Still, it goes in the design journal, because what is a design journal for if not existential crises and whining?

Also also: that design document: I should work on it.  Maybe at a restaurant, since my kitchen sink is still bubbling ominously.  Damn landlords.)  

Wednesday, June 8, 2011

Graphics Speed Optimizing

Procrastination is dead.  Long live procrastination.  Yes, that is one of those fluffy flavor graphics I wasn't going to make until everything else totally working.  Sue me.


I'm feeling good about the project again, which is awfully nice.  I'm sketching out the speed boost for the graphics, which mostly consists of doing something about the *cough*mumble* hundred tree sprites. 

If I were very very careful, I think it would be possible to collapse all foreground layers to a single sprite with seasonal changes.  It would mean setting things up in Photoshop and snapping a "picture" of each season.  That would be fastest, and I'm not wholly opposed to it.  The downsides are: loss of flexibility and loss of variation.  The loss of flexibility is more serious - what if I touch up the "bare earth" layers, which I'm not happy with?  Instead of just saving new versions of the changed layers to the materials folder, I'd need to open the original Photoshop file, retake the pictures, and replace them.  If there's any kind of misalignment or color tweak, this would need to happen every time.  Those extra steps add up, and if I ever lost the master file, I'd be screwed.  (It would be a pain to recreate the master file from the current materials folder, but doable.)

So step 1 is making backups of the essentials - both the master photoshop file where I do tweaks and check general layout concerns before going into the canvas editor, and the original, large-size sprite files. 

After that, I'm planning on turning umpty hundred trees into a handful of layers: 3 backdrop tree layers, to give the forest on the horizon depth, and 1-2 foreground layers.  I'm planning to drop the interstitial layer between the front wave of grass and the back wave of grass, and merge the grass layers in-game, although I might add some seasonal herbaceous plants or flowers in there.  That frees up a layer for the cliffs, which have always been in the plans, but need to go in the far distance, behind the forest on the horizon. (Yes, it used to be bluffs - cliffs with a flat top - but now it's just sort of craggy hill things.  Turns out they're easier to make - bluffs are hard, and I couldn't find a top that I liked.  A for effort, but C- for graphical accuracy.)

In order to cut down on the work, I'm creating little tree groves - maybe a couple maples and a basswood, or five oaks and some bushes.  Arranging these tree packets is quick, and flipping stuff over and putting them in different positions makes it harder to spot that placement is not entirely random.  I practiced yesterday on the cliffs I made.  The forest is mostly in a place that won't be seen, but it was very informative.  Random placement is not as good as beginning at the back and working to the front - all kinds of overlap issues begin to crop up if you do that.  That means switching between sprites more often (so you get more diversity) or working over a larger area than the cliffs provided.  The grassland area should be fine.  Also, things get choked up with layers pretty darn fast - I'm planning on grouping every tree group into its own folder this time, and periodically combined/flatten out the various layers to speed things up. 

Or, you know, maybe your view will be of a prairie.  Writing all this out makes me tired.  Fortunately, it's definitely something I can do in little bursts of procrastination as a break from rewriting the damn hunting function, or implementing fish, or something.

800 width pixel crop - the small end of what I expect people to use.  I'm not thrilled with this one, but it does have some framing.  I think some branch/trunk might be better - but perhaps a bush under the tree would round things out.

1200 pixel crop - probably about where most people will end up.  Notice the complete lack of forests on the horizon.  Pretty sweet moon, though.  Notice how it's got a blue background during the day, just like a real moon?  Also, I think I better shrink the celestial bodies again.

1800 pixel crop - probably about as big as I plan to design to.  I feel like something should go on the left-hand side.  The dense pine forest is the experimental part of yesterday.  I think it looks pretty credible zoomed out.  (Zoomed in, it's pretty clear that I have exactly 2 pine sprites, and have trouble drawing cliff shadows with the mouse, and not enough patience to use more than one brush size.)
Cliffs, without trees. Something here is the wrong color.  Cliffs too white?  Back hill too blue?  Clouds?  I'd like to find a way to give the snowy hills some softness, but haven't been successful yet.
In other news, I fixed a couple minor things in clothing, and began to do the necessary work to make it possible to make clothes.  (Baby steps, but still.)  I stripped some old graphics code out of a couple places, where it was really gumming up the works, made some design changes to the way I want plants to behave, and investigated the Multitudes extension for the gathering of wild plants, and possibly a switch in tree calculations.