[crossfire] Tweaking alchemy

Brendan Lally brenlally at gmail.com
Sun Dec 4 20:46:14 CST 2005


On 12/5/05, Anton Oussik <antonoussik at gmail.com> wrote:
> This could also be a good time to include a farming skill.
>
> Milk can be mined from a cow,
...
> Milk can also use farming skill, and I guess one would get better at
> it with practice, and be able to milk more milk from a cow if you are
> good at farming.
...
> Farm animals should be
> able to asexually reproduce over time

This seems quite distinct from 'real' farming.

The amount of milk a cow will give is mainly based on things like
diet, breed and stress, as well as how thoughly they have been milked
before. ( if you care,
http://classes.aces.uiuc.edu/AnSci308/factorsaffecting.html is quite
interesting). It will not noticably increase with level. What might
happen is that the milking time would drop (mechanised milking is
faster than manual milking, although one assumes that the former
wouldn't be present in crossfire).

If there were a standard unit of milk (I would favour the quart here,
which is about 100 squeezes of a cow's udders - a nice round number)
then you could simply define the time it takes to get that to vary
with level, from 2 minutes or so at level 1, down to 10 seconds or
thereabouts at level 100.

in any case, farm animals do not asexually reproduce. - certainly in
the case of cows, having to keep (and feed) a bull, would mean there
would be a substantial investment in energy to go from 'keeping a cow'
to raising a dairy herd. - especially if the genetic depression from
inbreeding was a modelled effect (this could be done by taking one of
the unused strings, and making it hold a 'DNA' which would consist of
the middle 6 bits of a 10 (ish) byte string (the lowest one should be
always on, to avoid \0's and the high one off due to code page issues)

then, whenever you breed two animals, compare the strings, define the
new animals health as the product of the healths of the parents
multiplied by the number of bits that are different in the DNA.

Then make the new DNA be a combination of the parents (bytewise -
representing genes) 5 random ones from each. and have a 1 in n chance
(not quite sure what n would have to be) to flip a single bit
somewhere in the string. - mutation

This sounds a little complicated to describe, but it is really just
some rather simple pointer manipulation to implement.

Oh, and the chance of succeeding in breeding should be based on the
animals health. This would mean that having two offspring from a
single cow, and breeding them for successive generations would rapidly
result in a herd that was essentially sterile.

in fact, this could be taken further, by defining one of the bytes to
be the 'milk production' gene, which would define how long a cow would
need to wait between milkings.



More information about the crossfire mailing list