Le Mardi 26 Avril 2005 13:47, Nicolas Weeger a écrit : > > Was awaiting a growing world for long :) > > That'll add, imo, much fun to the game, and many opportunities to do other > things than monster-bashing :) (which *is* fun, but sometimes you need some > rest from that) > Indeed, time to open some fish & chips at scorn square central > > So to conclude: > > - no need for an extra storing tag for the last time it got a turn. There > > is already logic for that (the tag is named lastxxx don't have code here) > > Didn't know that tag, will look for it. This tag is increased by the object speed at each server tick. When it reach a fixed amount, that fixed amount is substracted and the object plays on turn. (simply one call to move(ob) i think) > > > - no need for such things as an overlay map > > I'll disagree here. Imagine a beehive generating honey, at approx 1 volume > per 10 minutes (random thoughts), holding max 10 volumes. When first time > map is loaded, you'll have nothing - wait 10 minutes, 1 volume. Map gets > swapped out, you need to remember that 1 volume, even if you happen to run no need to remember them in an overlay map. and remembering the tree has one apple is as simple as putting an apple in the tree inventory. sure you need a may to configure your bee hive as having a max of 15 volumes of honey, but that need to be set in the object not in an overlay map. It would be like creating an overlay map to say a chest has content xy and has a max weight of 5000. Hey wait, i found out where to state your growable can produce a max of ten volumes. > all turns. Oh, I forgot to say that: the idea is that growth is randomized > (ie for instance need 500 food for 1 volume, growth rate 5 to 10 food units > per turn). So you can't just fastforward from the initial settings, you > need to remember a few values. I never said the opposite. Let's say each turn an apple tree has a probability of one to ten of producing an apple and the tree gets a turn every 3 minutes. Statistically, the tree would produce one apple about every 15 minutes but it could produce three apples in 9 minutes like it could produce no apple for 30 minutes. Concerning the fast forward, i probably wasn't clear. The idea was, at map loading time, you make a quick calculation on every 'alwaysactive' to count the number of turn it should have 'moved'. Let's say the map was swapped out for 30 minutes and there is my tree in it. Player enter map, server calculate, for the tree and using the informations in the map structure used for reset, a gap of 10 turns (or it add the number of missed 'server ticks' to the lastxxxx i don't remember the name), and so the object will get, immediatly, from the main server loop, 10 executions of the move(ob) functions. This is just a matter of executing n times in a row a function which would have have been executed n times but not in a row if map was still active instead of being swapped out. The result would be the same. What i *never* meaned to say was 'ok tree was out for 30 minutes, so give it 2 apples'. Indeed i had randomizing in head too :) > > > Now concercing weather interaction. This is abvious values like humidity > > and temperature, when available, should influence the growing process :) > > And the type of ground too! > > I'm not that far in the thinking yet :) > That could be done, but I'll first do a basic thing, then we'll think about > new more behaviours (*gets ready to make a 'plant' file in lib <grin>*) > Yes, one step at a time, but i fear to see player planting tree seeds in the scorn square :) > Ryo > > Accédez au courrier électronique de La Poste : www.laposte.net ; > 3615 LAPOSTENET (0,34/mn) ; tél : 08 92 68 13 50 (0,34/mn) > > > > > _______________________________________________ > crossfire mailing list > crossfire at metalforge.org > http://mailman.metalforge.org/mailman/listinfo/crossfire Ok, need to do real work -- David Delbecq Royal Meteorological Institute of Belgium