Sign in to follow this  
Theodis

Length of time for each horse age

Recommended Posts

When selling horses, one of the things the customer always seems to want to know is the age of the horse they're buying. It would be a pain to constantly update the age of all my stock, so I decided to figure out instead how long each age lasts so I can programatically estimate a horses age for my sell page.

Analyzing 3 years of event logs here's what I came up with

[edit] Added the number of wurm months per age

Young foal		3 days		4 wurm weeks	1 wurm monthAdolescent foal		10.5 days	12 wurm weeks	3 wurm monthsYoung horse		7 days		8 wurm weeks	2 wurm monthsAdolescent horse	17.5 days	20 wurm weeks	5 wurm monthsMature horse		14 days		16 wurm weeks	4 wurm monthsAged horse		63 days		72 wurm weeks	18 wurm monthsOld horse		35 days		40 wurm weeks	10 wurm months
These estimates were based on the timestamp of the event log entries so server uptime and restarts impacts these values. Because they were computed by using an average over the course of 3 years the values should be reasonably accurate assuming an average number of restarts and downtime.

And for those curious about how I got these numbers here's what I did. I made a complete listing of all the event logs and made the time stamp for individual entries complete by also including the date. From this I pulled out all entries that reference a horse to further analyze. Wurm is nice enough to include an age as well as the name so this gives me a nice set of sample points with a date, time, horse age, and horse name.

From this I calculated transition points: points at which a horse goes from one age to another. In some cases, one log entry has the horse at one age and the next entry it's another age. The actual point the horse switches ages is at some point between these two entries so I assume the mid point. Because the horse could have aged immediatly after the first log entry up to immediatly prior to the following, the maximum error at the midpoint is half the time range. A special case is handled for young foals because if you're near enough when the foal is born, you get a log entry specifically for this event so it's a transition point with no error. Any nonsensical transition points I just discard such as skipping an age or it going backwards. This error is likely due to me not seeing a horse for a very long time or interacting with another horse with the same name that isn't the same horse.

To calculate a length of time for a specific age I just take the difference of the dates between the beginning of the age and the begining of the next. The maximum possible error for this length is the sum of the errors on each transition point.

Next I filter the results by dropping any lengths of time with a maximum possible error greater than a certain amount. For the output I produced I used a max error of 1.5 days. Because the error is likely non-uniform the actual amount of error will likely have a canceling effect when averaging a number of sampled lengths. There still can be anomolies so I further filter the results by dropping any lengths of time that are well outside the standard deviation.

After all this the results were

YOUNG_FOAL(Min) - 2 days 10 hours - Max Error: 0 days 2 hoursYOUNG_FOAL(Avg) - 3 days 7 hours - Max Error: 0 days 18 hoursYOUNG_FOAL(Max) - 4 days 6 hours - Max Error: 1 days 3 hoursADOLESCENT_FOAL(Min) - 9 days 13 hours - Max Error: 1 days 7 hoursADOLESCENT_FOAL(Avg) - 10 days 11 hours - Max Error: 1 days 0 hoursADOLESCENT_FOAL(Max) - 11 days 5 hours - Max Error: 1 days 8 hoursYOUNG_HORSE(Min) - 6 days 2 hours - Max Error: 1 days 0 hoursYOUNG_HORSE(Avg) - 7 days 0 hours - Max Error: 0 days 22 hoursYOUNG_HORSE(Max) - 7 days 15 hours - Max Error: 1 days 9 hoursADOLESCENT_HORSE(Min) - 16 days 20 hours - Max Error: 0 days 18 hoursADOLESCENT_HORSE(Avg) - 17 days 15 hours - Max Error: 0 days 21 hoursADOLESCENT_HORSE(Max) - 18 days 12 hours - Max Error: 1 days 2 hoursMATURE_HORSE(Min) - 13 days 0 hours - Max Error: 0 days 10 hoursMATURE_HORSE(Avg) - 13 days 22 hours - Max Error: 0 days 20 hoursMATURE_HORSE(Max) - 14 days 18 hours - Max Error: 1 days 7 hoursAGED_HORSE(Min) - 62 days 1 hours - Max Error: 0 days 1 hoursAGED_HORSE(Avg) - 63 days 5 hours - Max Error: 0 days 20 hoursAGED_HORSE(Max) - 64 days 8 hours - Max Error: 1 days 11 hoursOLD_HORSE(Min) - 33 days 2 hours - Max Error: 0 days 9 hoursOLD_HORSE(Avg) - 34 days 22 hours - Max Error: 0 days 18 hoursOLD_HORSE(Max) - 35 days 17 hours - Max Error: 0 days 23 hours
The large difference between the minimum and maximum values is likely due to truncation of the data on server restarts similar to how the pregnancy time is truncated. So the maximum values are more likely to be closer to the actual times and an above normal number of server restarts given a time period for a specific age is likely to pull it down near the minimum. Edited by Theodis
  • Like 27

Share this post


Link to post
Share on other sites

That is really helpful :o Always kind of been wondering about this.


Share this post


Link to post
Share on other sites

Are these caredfor?

Some of them are. This is built from every horse mentioned in every log event. If it has any impact at all it's being averagedin with every other horse I've encountered.

Share this post


Link to post
Share on other sites

Cool one. Some good information there Theodis. Thanks for taking the time. 


Share this post


Link to post
Share on other sites

Fantastic post, thanks very much for this info! I had been wondering for a long time about these time intervals. Awesome effort!


Share this post


Link to post
Share on other sites

Some of them are. This is built from every horse mentioned in every log event. If it has any impact at all it's being averagedin with every other horse I've encountered.

No, if some are Cared For it will not "average in". If Cared For has an effect, it will increase your value for those classes it has effect on, and not increase your value for those it does not have effect on.

 

Anyways, very nice to see some real numbers :)

Edited by Cista

Share this post


Link to post
Share on other sites

Same time awesome and same time a bit - ??

3years for something devs can see within 10seconds and could possibly share officially to us.

Wurm is quite complex, or has just developed to more and more complex game, so releasing some -old key info- (by devs) like this imo should be encouraged.

As devs arent doing that even though many of us wish for it, it's always great to see player(s) put in this kind of effort

Share this post


Link to post
Share on other sites

This is an excellent table of information.  I always worried my short term tests and exploration are not accurate, or long enough to overcome the built in #randomness that is much of Wurm mechanics. 


 


Such a long term set of data overcomes those doubts.


 


Fantastic!


 


Thank you so much Theodis :)


 


OCD edit of my typo


Edited by Onyr

Share this post


Link to post
Share on other sites

Same time awesome and same time a bit - ??

3years for something devs can see within 10seconds and could possibly share officially to us.

Wurm is quite complex, or has just developed to more and more complex game, so releasing some -old key info- (by devs) like this imo should be encouraged.

As devs arent doing that even though many of us wish for it, it's always great to see player(s) put in this kind of effort

 

No thanks. This is one way for players to make a name for themselves. Much more fun than being spoonfed the info.

Share this post


Link to post
Share on other sites

No thanks. This is one way for players to make a name for themselves. Much more fun than being spoonfed the info.

While I do enjoy recording data and figuring stuff out. It would be nice if wurm outputted just a bit more informaiton. http://forum.wurmonline.com/index.php?/topic/120379-horse-name-in-examine-text/#entry1234620 . I'd still like to get a more accurate estimation on foal traits based on the parents and it would be a lot easier if I could collect the data using a similar process.

Edited by Theodis

Share this post


Link to post
Share on other sites

Young foal		3 days		4 wurm weeksAdolescent foal		10.5 days	12 wurm weeksYoung horse		7 days		8 wurm weeksAdolescent horse	17.5 days	20 wurm weeksMature horse		14 days		16 wurm weeksAged horse		63 days		72 wurm weeksOld horse		35 days		40 wurm weeks

Totally just realized the number of wurm weeks were all multiples of 4 so they can be represented in wurm months cleanly.

 

Young foal		1 wurm monthAdolescent foal		3 wurm monthsYoung horse		2 wurm monthsAdolescent horse	5 wurm monthsMature horse		4 wurm monthsAged horse		18 wurm monthsOld horse		10 wurm months

Share this post


Link to post
Share on other sites

While I do enjoy recording data and figuring stuff out. It would be nice if wurm outputted just a bit more informaiton. http://forum.wurmonline.com/index.php?/topic/120379-horse-name-in-examine-text/#entry1234620 . I'd still like to get a more accurate estimation on foal traits based on the parents and it would be a lot easier if I could collect the data using a similar process.

 

Oh I never had seen your horse color stats before. 

Can you present anything about likelyhood for spontaneous "spawn" of the different colors? Because I am partly looking into that, but maybe I needn't bother then.

Share this post


Link to post
Share on other sites
  View hidden Post
Posted · Hidden by Warlander, March 24, 2015 - Unnecesary message, I leaved link to thread in original category.
Hidden by Warlander, March 24, 2015 - Unnecesary message, I leaved link to thread in original category.

Moved to Game Guides.

Share this post


Link to post

Any clue if this data is accurate for other animals as well?

Share this post


Link to post
Share on other sites

Any clue if this data is accurate for other animals as well?

No idea. And the lack of unique names keeps me from using the same technique.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this