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

Sunday, October 25, 2009

Modeling Fruit Trees

I currently have a separate space set aside for the Orchard, and plan to prevent the deliberate seeding of trees in fields or gardens. I hope to figure out workarounds, but there's kind of a lot of issues with planting trees, especially fruit trees, amongst annual crops. Mature fruit trees are going to shade out most vegetables, for one thing - also, their root systems are shallow, so limiting plowing and stuff becomes a real headache.

On the other hand, there's significant benefits to planting trees in pasture - the trees provide shade and shelter, and provide food, and grass will grow under them. On the other hand, I don't really want players taking the orchard and pasture as the same place, so there need to be limits there, too.

There might also be clever players who try to establish fruit trees in the wild, and that should be difficult, but possible, at lest for the heartier species/cultivars. Not everywhere, though, and not too many. And, of course, there are wild food trees as well.

Anyway, until I figure that mess out, I will be restricting fruit trees to fruit-tree-approved locations - namely, a section I am calling the Orchard. My original plan was to divide the Orchard up into several rooms, and allow the player to plant up to 9 trees a room. I was thinking of this as a quantity of trees that's generous but not overwhelming, and a mental space that I can clearly visualize.

I haven't started coding the Orchard yet, partly because I'm not convinced of the wisdom of this implementation.

One problem I'm having is the artificial restriction. Unlike rows, where you can run out of space convincingly, tree planting is more of an art. Sure, the books say you should plant large trees (standard apples, nut, peaches, sweet cherries) 30-35' apart. But homeowners don't, and the character (someone with limited gardening experience, scrabbling for survival) might not, either. Plus, there's smaller trees, like plums, that might not take up that much space (20', assuming a bigger rootstock). So you might expect 16 smaller trees to fit comfortably in the same space as 9 larger trees - and, of course, the player is not planting mature trees - only saplings.

So I'm considering the benefits/disadvantages of faking a square footage thing. That is, every room has square footage X (hidden from the player). That can be taken up by a variety of perennial crops - maybe the player wants a few acres of raspberries! A tree takes up a set amount of space (which I'm probably going to declare as a block, even though it's more of a circle area.) You can plant without problem until the available square footage is taken. Then the player may get a warning that continuing to plant will overcrowd the saplings, or maybe there's a warning in the description somewhere. The player can continue to plant, crowding the trees more and more tightly (with more and more adverse consequences along the way).

This would be mildly more difficult, but not that much more difficult, than individual tree spots. It would take away some of the clear vision of the space - I think vivid descriptors, perhaps even location descriptors, would be vital. Something like "A row of raspberry bushes grows against the wall, bracketed by a pair of plums and an apple in full flower. A young cherry is still holding onto the last of its blooms." rather than "You see a row of raspberries, two apple trees, two plum trees, and a cherry tree."

I don't think I'd want much more than that - nine apples is pushing it, and sixteen plums definitely would be, for a dynamically generated description. That description is 3500 square feet plus the raspberries (maybe another 200 sq ft?) - if I could push it to 4400, I could call each room a tenth acre. (In my head, if not in the game.) It might also allow for row implementation if I wanted - that is, I could "make" short rows take a certain amount of space as well, so the player could grow corn between apples if she wanted to. Not a good idea in my opinion, but feasible? Maybe. And it might allow for tree planting elsewhere if I wanted. Maybe even a better overall space management allocation? Hmmm . . .

I don't really want to get into exact measurements with the player, partly because I think distances are not a helpful way for most people to imagine space, and partly because I think it encourages powerplay behavior. (And there's more than enough of that encouragement in-game already, as far as I'm concerned.) Plus, there's the whole metric/imperial thing.

No comments:

Post a Comment