![]() |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| News & Developer's posts Here you'll find the latest updates for UO and posts by EA/UO reps from Stratics |
|
|
Thread Tools |
|
|
#1 | ||
|
Administrator
![]() ![]() Join Date: Mar 2006
Shard: Europa/Snowbourn
Posts: 5,543
Blog Entries: 3
Thanks: 86
Thanked 76 Times in 34 Posts
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Britannian Calendar Calculations
source
Trying to program the Britannian calendar for postings on my guild web page, I ran into problems. I started with the information on http://uo.stratics.com/content/basics/datetime.shtml. I am going to use BT as abbreviation for "Britannian Time", and RT for "Real Time": My approach was to get the number of BT days elapsed since the start of the calendar, and dividing this value by the number of days, a BT year has, which should result in number of years elapsed. As far as I know, UO has been released September 25, 1997. I assumed this day, 0h00 GMT as January 1st, 289 BT. One RT day is 12 days in BT. The following shows my implementation of this approach in javascript: Code: // // some constants // var MS_PER_DAY = 1000 * 60 * 60 * 24; // Milliseconds var RT_RELEASE_DATE = new Date( "September 25, 1997 0:00:00" ); var BT_RELEASE_YEAR = 289; var DAYS_PER_BT_MONTH = 73; var DAYS_PER_BT_YEAR = DAYS_PER_BT_MONTH * 12; // // calculate elapsed RT days since the release of UO // var CurrentDate = new Date(); var CurrentDateInMS = CurrentDate.getTime(); // getTime gives Milliseconds elapsed... var ReleaseDateInMS = RT_RELEASE_DATE.getTime(); // ...since January 1st, 1970 var RealDaysElapsed = (CurrentDateInMS - ReleaseDateInMS) / MS_PER_DAY; // // calculate BT Year // Elapsed_BT_Days = RealDaysElapsed * 12; Current_BT_Year = BT_RELEASE_YEAR + (Elapsed_BT_Days / DAYS_PER_BT_YEAR); // // display the result // document.write( "RealDaysElapsed = " + RealDaysElapsed ); document.write( " Elapsed_BT_Days = " + Elapsed_BT_Days ); document.write( " Current_BT_Year = " + Current_BT_Year ); For the current date, November 7, 2007, the result is: RealDaysElapsed = 3695.47927037037 Elapsed_BT_Days = 44345.751244444444 Current_BT_Year = 339.6230037037037 Year 339? The stratics page shows August 43, 364! The difference of 25 BT years is 2 years RT. How is the date to be calculated? How does the stratics page do it? ~~~~~~~~~~~~~~~~~~~ actually ... both are correct ... disorienting to be sure ... but correcttime dilation is what is missing in your calculations. your "math" is [uel=http://en.wikipedia.org/wiki/Accelerating_universe]fixed [/url]to a "real" accelerating rate of expansion (your math is "here" relatively) and the "virtual" calendar of Sosaria is not subject to the same expansion rate ....disorienting to be sure but Easily verifiable by asking an NPC what the date "now" is ... and then comparing it to "stratics" now .... the NPC doesn't answer you ... yet ... because... for him .... its a question actually posed in the future for him .... though it is NOW (in this thread) in OUR past ...(just a few words back ... remember? ) .... ![]() Any "Player" that might hear you, and "knows his stuff" will give the same answer you'll find on the stratics site.... cause... "The Player" IS in your relative time frame (via the internet .... regardless of "actual" sun dial readings for BOTH of you .... HERE... in an accelerating universe) Got it? No? Well I tried ![]() ~~~~ Draconi has once stated: Quote:
This is an interesting topic indeed. Though my level of education won't allow me to make statements, I am itching to pose questions. I view the link on time dilation, very interesting. I can grasp the idea of time passing by at a faster rate in UO as oppossed to RL but it woukd seem that the ratio should be consistant, e.g. 12 UO days to 1 RL day. From a purely numerical standpoint(from my current PoV) the numbers given don't seem to add up correctly. Using whole days, via Julian Date, approximately 3726 RL days have passed since Aug 25th, 1997. That calculates to 44712 BT days(3726*12) or 51.04 BT years since Aug 25th, 1997, which would put the year total at 340.04 (289+51.04). The Stratics date given is 364: 75-BT-years/15-RL-years from the given start date of BT year 289, or 24 BT years/close to 5 RL years off from our calculations from the numbers provided by stratics. I could only account for about 1 year of time due to the 1+ hours of server down time, and that might not even come into play if the servers don't count total time up(it may be calculated from RL time. Anyhow, I wonder if some of the numbers given are incorrect, whether it's the ratio of BT/RL time or if it's the BT starting year or if the BT starting year didn't occur when I assumed that it had(Aug 25th 1997) and it actually occured 4-5 years before when the game was first being developed. ~~~~ One also has to consider the effects of system downtime (planned, unplanned, reverts, etc.) Remember that 5 seconds after a shard comes up is only ONE BT MINUTE after the save point before the downtime. That's a loss of about 6-12 BT hours each RL day, even without factoring in server downtimes for crashes, long server upgrades (hardware or software), etc. ~~~~ I ran into this same problem. The answer is that UO was released in the year 314, NOT 289. I'm undecided on whether or not the real launch day was the 24th or the 25th. It seems that the end of beta was the 23rd, and that supposedly the lucky few who had a box on the 24th could log in. I did some research on this subject a couple of years ago, but unfortunately I lost my notes and can't seem to find them again. Does anyone have any evidence pointing to one or the other? John "Wilki" Wilkinson, UO Designer - Electronic Arts ~~~~ Sorry but you guys are nuts , I would go with the day the game was actually live in beta test or public use.. Or we could go with the amount of time wilki hasn't spoke with us( must be locked up in the UO Dev Dungeon) ![]() ~~~~ ![]() *whines* "I forgot human error factor !" ~~~~ I always figured that the 12 Britannian years to a real year was a fallacious simplification. Since a day+night is 2 hours, then there are technically 12 days in a real day. This would expand to 12 years in a real year. Since there are 12 months in a year, it can be simplified to a real month equalling a Britannian year. That goes by the assumption that Britannia uses the same calender as the real world, which it doesn't. ~~~~ well ... aside from Wilki's "missing notes" conspiricy theory .... things just took a turn for the worse My above "Doh!" might have been premature Though YOUR expansion theory does come closer to explaining the "extra 25 year" (we had 10... they had 12years) ~~~~ If the time Stratics has is correct, and the progression of time between Sept 23, 1999 and today did not change... that would make the 300th anniversary of Mondain's defeat as being year 325. Which would make sense. I don't think it was ever clearly defined when year 0 was. ~~~~ sept 23 1999 was the 300th anniversary of Mondain's defeat, our only definitive timeline point in UO at the moment. ~~~~ Here is the source information that I have: Quote:
So, since 2 years earth time is 10 years in UO, that gives us 314 for UO's launch. Since I don't have any reason to believe that the source of this information is not Richard Garriot, that's what I went ahead and used. However, I'm not sure exactly what the year 0 signifies. I'll see if I can't get some first hand information myself. If I do, I'll let you guys know. John "Wilki" Wilkinson, UO Designer - Electronic Arts ~~~~ Oh, one more thing... The method I used was to count the number of actual seconds elapsed in earth time from September 24th, 1997. Unless I'm mistaken, leap years in our calendar will slowly cause the two date systems to diverge over time, which might explain some of the minor differences you'll find in the exact date displayed: it will depend on exactly how the date is converted. ~~~~ I'm curious where the figure of 2 years earth = 10 years UO came from -- but I'm strangely frightened that it might also be Eidolon. Seriously, that guy was a bit strange when it came to time mechanics. Worse than a time lord. ~~~~ Oh my dear, what did I try to do? I started this thread in hope, that the Britannian date would be a simple function of the real time. I even tried to ask NPCs for dates, but had no luck so far. This would have possibly led to a solution, I thought. Assuming that server down times have to be included in the calculations, I seriously doubt, that this can be done without help from the developers, because these down times are unpredictable. The only solution would be requesting the current date and time from the servers. This also means, that every shard will probably have another date! What's more, I found out, that time flow in Britannia is not constant! For some reason, the servers do not use their built in real time clock as source for time, but instead they either use a simulation-tick-counter, which is influenced by server load, or they use a random generator. I found this out, when I was trying to make a tool, that would visualize time of day and the sun's position on the sky. Trying to synchronize my clock, I measured time abbreviations ranging from zero to 20 BT minutes per RT hour, while standing on the same place. I already gave up on finishing that daylight tool. In my opinion, a calendar showing the date according to the actually elapsed days in Britannia can only be done server side. So, if I still don't give up on wanting my (and your) web site showing Britannian dates of posts and events, how could we find another calendar system, that would make calculating the dates possible? My suggestion is implementing a straight forward formula: Every RT day is assumed to have 12 BT days, period. Time after server up should always be reset to, for example, midnight. Thus the date (and the approximate time) would be a linear function of real time. If they change the server program for using the RTC, even precise calculations of times would be possible. Maybe there is some dev around reading this, who has some time left over for a tiny hack, hmm? Just kidding, am I not? ~~~~ So, since 2 years earth time is 10 years in UO, that gives us 314 for UO's launch. Since I don't have any reason to believe that the source of this information is not Richard Garriot, that's what I went ahead and used. okay 314 for UO's launch September 24 1997 to be exact (I'm undecided on whether or not the real launch day was the 24th or the 25th. It seems that the end of beta was the 23rd, and that supposedly the lucky few who had a box on the 24th could log in. I did some research on this subject a couple of years ago, but unfortunately I lost my notes and can't seem to find them again.) using Kiminalities "straight up" conversion (if 1Earth day = 12 Brit days) (Since a day+night is 2 hours, then there are technically 12 days in a real day. This would expand to 12 years in a real year) 10earthyr = 120 brityr 314 + 120 = 434 ... 434-364= off by 70 Strat is at 364 .... hmmm backwards? S364-K120= 244 ....mmmm off by 70 .... lessee S364 - W314 = 50so yrs ... ... closer 50so yrs = 10 Earth yrs .... (One Earth year equals five Britannian years.) closer still SO ...substituting Wilkis revised start date 314 for the stratics "release date of Ultima Online was in the Britannian year 289." NOW hows them calendars work? *pulls out the modulo calculator* *slides the M-branes equations under keyboard*
__________________
![]() Last edited by Tabbitha; 8th November 2007 at 02:35 AM. |
||
|
|
|
|
|
#2 |
|
MoongatesWiki Curator
![]() Join Date: Sep 2006
Shard: Europa
Posts: 288
Thanks: 0
Thanked 2 Times in 2 Posts
![]() ![]() |
Re: Britannian Calendar Calculations
This is great news. I'm going to try it out later. I've been looking for something like this for www.moongates.org for a long time. I once started an implementation in PHP, but I never had the time to finish it. A JavaScript solution might be just as good. It does however require the user's computer clock to be correct.
![]() |
|
|
|
![]() |
| Thread Tools | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Let's use UOForums Chessy Calendar, shall we? | Winfield | PaxLair Statehood OOC | 1 | 25th September 2007 07:33 AM |
| The Calendar Option | Gwen Irima | Europa RP General | 9 | 10th August 2007 01:39 PM |
| Britannian Time vs Real World Time [for those who dont know ] | Tabbitha | News & Developer's posts | 4 | 21st February 2007 09:15 AM |
| Ultima Online Featured In 2007 Calendar Charity! | Tabbitha | News & Developer's posts | 0 | 10th January 2007 10:21 AM |
| Royal Britannian Guard (Bloodguard Div) Urgent Meeting | Tabbitha | Europa | 53 | 18th August 2006 03:33 AM |