Lone Wolf Development Forums  

Go Back   Lone Wolf Development Forums > Realm Works Forums > Realm Works Feature Requests
Register FAQ Community Today's Posts Search

Notices

Reply
 
Thread Tools Display Modes
storeyl
Member
 
Join Date: May 2014
Posts: 33

Old December 20th, 2014, 09:23 AM
I was playing around with Timelines yesterday, and couldn't get over how poor that feature seems. Note that whilst I also want custom calendars, this isn't about calendars but the timeline, which would apply no matter the calendar.


1) I've raised a bug already - but it doesn't seem to support order by date. I mean sure you click the date column and it says order by date, but it doesn't seem to work. I had 3 dates:

EDIT - sorted, I had the wrong era!

2) Date formats. Why can't I choose my date format? I don't want US format. I want to specify my own format.

3) Date format. Why must I have the full date. This may be part of the above, but I'm putting it separate, as this isn't about Locale etc. I really wanted to show a History where many 'dates' are in fact just years (or even centuries). So I could have had the first dates in a timeline, as a date long ago, where something happened with no specific date. I would like to enter dates that are just years (just as we can enter a date with no time, I want a year with no date). I could live with entering fuller dates, if I could then specify the timeline format only displayed the year.


4) Event description. At the moment I only appear to be able to display a 'name' of the event, which will also include an annotation if there is one. For a long timeline history I don't really want lots of hard to determine names for entries, that will be too short to convey what happened. I want to be able to choose what data gets displayed - e.g. Description/overview etc

Last edited by storeyl; December 20th, 2014 at 10:41 AM.
storeyl is offline   #1 Reply With Quote
Chemlak
Senior Member
 
Join Date: Aug 2012
Posts: 432

Old December 20th, 2014, 11:19 AM
Well, since 1 is sorted, I'll hit the rest.

2) The game calendar has been built using the custom calendar tool, and was constructed using US date format. Until we get the custom calendar tool, we're all stuck with it. As soon as the custom calendar tool is out, you can bet that a fair number of us will be designing alternative real world calendar formats (European and Military spring to mind).

3) This was part of the survey, listed as something about having "circa" options for broad timeframes such as months, years, decades, etc. If this feature arrives (please!) you'll be able to create different "circa" options for your calendars, which most people will probably use to just enter days, months, years, decades, etc, rather than the full date/time.

4) I'm not entirely sure what you're asking for here. Looks like I need to fiddle with the timeline feature, myself. I've completely ignored it for now, because I don't want to have to convert all of my date snippets to both Euro and Harptos formats (and since my adventures span both Earth and Toril, I will need both in my realm). Just to be clear, are you specifically using the Event topic category?
Chemlak is offline   #2 Reply With Quote
storeyl
Member
 
Join Date: May 2014
Posts: 33

Old December 21st, 2014, 01:01 AM
2) is nothing to do with the underlying calendar.

I don't know which database they are using. But whatever it is the data base stores a date. How you display it is entirely up to you. The app has been developed in .net from what I gather, it is pretty easy to take a date object and display it in any format you want. It doesn't have to any locale format, you can define any format pattern you want.

e.g in .net.
DateTime somedate = ???; // assume came out of datebase as '4400-01-13T13:45:30Z' which would be ISO UTC format.

somedate.ToString("yyyy MM dd"); // would give you 4400 01 13.

Note that whilst the date as it came off the database had the time we didn't display it. Also note we have already changed the order of date elements.

somedate.ToString("yyyy"); // would give you 4400.

Just displays the year.

NB - There are probably proper date formatters in .net, but I'm not familiar with that language so much so the above may the simplistic way of doing it.

The point being the timeline functionality I am asking for is totally independent of calendar model and date storage (unless they have failed to keep those things separate which would be like really bad from an engineering POV) it is purely a display issue.


4) I currently see in the timeline:

ABCDEF 01/01/440.


where ABCDEF is the hardcoded to come from a particular field on a topic. Name (of topic) or label (of date) from what I can deduce. Both these fields are a bit small, which limits what my timeline can convey, and forces me to come up with lots of good names for events, which is not easy.

I want to put:

Lord dark assembles his armies and heads north to fight the Good Guys. 4400 AD

Then I'm struggling, as the fields used by the timeline are not allowing me to nicely get in all that text. I have to come up with a useful name/label and annotation. The problem is that it is hard to come up with short meaningful names for things like this over a long timeline.




PS yes, I have now seen the survey and filled it in. Yes I saw the above circa feature, and other calendar/date/timeline stuff
storeyl is offline   #3 Reply With Quote
Chemlak
Senior Member
 
Join Date: Aug 2012
Posts: 432

Old December 21st, 2014, 02:25 AM
I think you missed my point on 2). While the game session tracker uses the system clock, the date snippet was built from the ground up using the calendar tool. It does NOT use any standard date format pulled from anywhere else. It uses a format, chosen at the time it was made by the devs, which just happens to match US standard. It cannot be altered, changed, or moved around, because it is a custom calendar, which we can't yet modify.
Chemlak is offline   #4 Reply With Quote
storeyl
Member
 
Join Date: May 2014
Posts: 33

Old December 21st, 2014, 07:56 AM
I was having to rush out of the house and couldn't really type out a proper explanation of what I was trying to say.

It shouldn't matter what the underlying calendar is, standard or custom. Almost all programs you use are probably storing dates in 1 format and displaying them in another. They are often stored ISO and displayed according to user time zone/locale standards. But you can often configure that. I can still pull out a US format date from a database and convert it to any other format, time zone etc. Note that even though we use the same calendar in the real world the formatting of dates varies, that should be a big clue that calendar and formatting are largely independent of each other. Your point earlier about alternative real world calendar formats (EU or Military) is a misunderstanding. They are not alternative calendar formats, they are alternative display formats, they all use the standard Gregorian calendar.

Both the likes of .net and java and other languages have this built into the language.

Most modern programming languages use the same formatting semantics- abstracted to things like M for month, Y for year etc. Often with things like 2 digits (MM) is a short format and 4 digits (MMMM) is a long format. Different calendars may interpret these differently - e.g. there may be no short format year for example if it uses names so you always get 'long' format. A custom calendar in Realm Works may or may not allow further formatting definitions. But I would see that as optional and not needed straight away (if at all).

For the most part datetimes are represented (programming language wise) as an amount of time (e.g. milliseconds or even nanoseconds) from some reference point, it is for the calendar to decide what that number means. If I pass number X to the Gregorian calendar I might get the date '01 03 1970 AD'. If I pass the same X to a fantasy world calendar I might get '26 GodsMonth, Year of Dragon Third age'. If I say I want display format MM-dd-YYYY then I get '03-01-70' or 'GodsMonth-26-Year of Dragon' (or maybe '12-26-year of Dragon' if 12 was the short form of the month). If I say YYYY I get '1970' or 'Year of Dragon'.

Most worlds (earth or rpg) have multiple calendars. So there are good reasons for the above system (time from reference point). So long as I know how to convert reference points between calendars then I can use any datetime object with any calendar. That would allow me to easily see that 01 01 1970 (Gregorian) is 23 Adar I 5730 (Hebrew) or '26 GodsMonth, Year of Dragon Third age' (my custom calendar), and hence show timelines using different calendars having only entered one of those dates. God forbid we have to enter each calendar date separately for a topic.

As we can see there is a clear separation of concerns. Display | DateTime Object | Calendar Object | db storage. How the devs stored dates, or are implementing custom calendar definitions has no clear impact on how I choose to format the date.

From a feature request aspect therefore my request has no obvious link with custom calendars, it is purely a timeline (or even general date) formatting feature I want. Gregorian or otherwise. Custom calendars available or not. We shouldn't need to be waiting for custom calendars as a pre-requisite for this feature. That of course is not to say it is higher priority or anything, just that I am not seeing any dependency issue.

Now it may be that they have got their date formatting and calendar stuff overly intertwined and hard to split up, and hence it is hard to change. Maybe you know more then me on that? I'm not sure whether you have some inside knowledge on the code/devs etc.

Last edited by storeyl; December 21st, 2014 at 08:33 AM.
storeyl is offline   #5 Reply With Quote
storeyl
Member
 
Join Date: May 2014
Posts: 33

Old December 21st, 2014, 08:23 AM
Quote:
4) I'm not entirely sure what you're asking for here. Looks like I need to fiddle with the timeline feature, myself. I've completely ignored it for now, because I don't want to have to convert all of my date snippets to both Euro and Harptos formats (and since my adventures span both Earth and Toril, I will need both in my realm). Just to be clear, are you specifically using the Event topic category?
If they have done custom calendars correctly (or as I would think of as correctly ) then you should be able to add in your Gregorian dates now and the Toril dates will just work when custom calendars arrive. See above post, but..

Say the Gregorian reference date is 12:00 midnight, January 1, 0001 A.D (that is the docs I'm seeing for .net datetime, so that might still be the case for standard Gregorian). If you then set the Toril reference point as whatever that corresponds to then all other Toril dates are readily deducible. The timeline should be able to show all events using either calendar no matter which calendar you entered the dates in.

1) Get date/calendar from topic (gregorian).
2) Convert to date time object (.net ticks since reference point)
3) Get other calendar.
4) Ask other calendar for date for that datetime.
5) As they have a synced reference point it works it out correctly.
6) Display Toril time.

Switching to EU format for Gregorian dates is not a calendar issue, but a display formatting issue (as above). You shouldn't be having to enter Euro date format to later see Euro date format. You should enter the date and then see it in any format, change it on the fly etc. US players and EU players should be able to look at your stuff and see it how they want to.

Last edited by storeyl; December 21st, 2014 at 08:39 AM.
storeyl is offline   #6 Reply With Quote
davidp
Senior Member
Lone Wolf Staff
 
Join Date: Jun 2011
Posts: 1,090

Old December 21st, 2014, 10:40 AM
Quote:
Originally Posted by storeyl View Post
I was having to rush out of the house and couldn't really type out a proper explanation of what I was trying to say.

It shouldn't matter what the underlying calendar is, standard or custom. Almost all programs you use are probably storing dates in 1 format and displaying them in another. They are often stored ISO and displayed according to user time zone/locale standards. But you can often configure that. I can still pull out a US format date from a database and convert it to any other format, time zone etc. Note that even though we use the same calendar in the real world the formatting of dates varies, that should be a big clue that calendar and formatting are largely independent of each other. Your point earlier about alternative real world calendar formats (EU or Military) is a misunderstanding. They are not alternative calendar formats, they are alternative display formats, they all use the standard Gregorian calendar.

Both the likes of .net and java and other languages have this built into the language.

Most modern programming languages use the same formatting semantics- abstracted to things like M for month, Y for year etc. Often with things like 2 digits (MM) is a short format and 4 digits (MMMM) is a long format. Different calendars may interpret these differently - e.g. there may be no short format year for example if it uses names so you always get 'long' format. A custom calendar in Realm Works may or may not allow further formatting definitions. But I would see that as optional and not needed straight away (if at all).

For the most part datetimes are represented (programming language wise) as an amount of time (e.g. milliseconds or even nanoseconds) from some reference point, it is for the calendar to decide what that number means. If I pass number X to the Gregorian calendar I might get the date '01 03 1970 AD'. If I pass the same X to a fantasy world calendar I might get '26 GodsMonth, Year of Dragon Third age'. If I say I want display format MM-dd-YYYY then I get '03-01-70' or 'GodsMonth-26-Year of Dragon' (or maybe '12-26-year of Dragon' if 12 was the short form of the month). If I say YYYY I get '1970' or 'Year of Dragon'.

Most worlds (earth or rpg) have multiple calendars. So there are good reasons for the above system (time from reference point). So long as I know how to convert reference points between calendars then I can use any datetime object with any calendar. That would allow me to easily see that 01 01 1970 (Gregorian) is 23 Adar I 5730 (Hebrew) or '26 GodsMonth, Year of Dragon Third age' (my custom calendar), and hence show timelines using different calendars having only entered one of those dates. God forbid we have to enter each calendar date separately for a topic.

As we can see there is a clear separation of concerns. Display | DateTime Object | Calendar Object | db storage. How the devs stored dates, or are implementing custom calendar definitions has no clear impact on how I choose to format the date.

From a feature request aspect therefore my request has no obvious link with custom calendars, it is purely a timeline (or even general date) formatting feature I want. Gregorian or otherwise. Custom calendars available or not. We shouldn't need to be waiting for custom calendars as a pre-requisite for this feature. That of course is not to say it is higher priority or anything, just that I am not seeing any dependency issue.

Now it may be that they have got their date formatting and calendar stuff overly intertwined and hard to split up, and hence it is hard to change. Maybe you know more then me on that? I'm not sure whether you have some inside knowledge on the code/devs etc.
Date/times in Realm Works that are "Game dates" (e.g., the Gregorian date/time value included in snippets) ARE NOT standard .NET DateTime values. They cannot be that type as it is too inflexible to support the wide variety of RPG game calendars available. So everything you list here is very much NOT applicable to the Game Dates. You have made some assumptions about the system that are very much incorrect.
davidp is offline   #7 Reply With Quote
storeyl
Member
 
Join Date: May 2014
Posts: 33

Old December 21st, 2014, 11:13 AM
I wasn't necessarily saying they were standard dateTime objects. That was more a general description of dates and calendars in modern languages.

I'm not sure how they are not flexible enough to handle any calendar though. Whilst I am more familiar with Java than .net, it appears to be similar. All they are is a number representing some measure of time since a reference point. It is the Calendar object that provides the flexibility regarding dating of that DateTime, and formatters that handle display and parsing strings. I would half expect them to not use the standard calendar interface (there are a couple of extra functions I might want for RPG calendars - lower order fields like hours per day, minutes per hour etc), but the datetime concept seems fine, albeit you may need a wider range than the system one can handle, and the overall principle of keeping those things all separate. Still if you know more about what has been coded then so be it.


But you have intrigued me now. What are the things that wouldn't be supported by such a system, be it the in built libraries or a dev produced version. When I was pondering over it earlier nothing jumped out at me that wouldn't fit. Maybe I haven't seen enough RPG calendars and am not thinking of something more 'bizarre'.

Last edited by storeyl; December 21st, 2014 at 11:30 AM.
storeyl is offline   #8 Reply With Quote
AEIOU
Senior Member
 
Join Date: Jan 2012
Posts: 1,147

Old December 21st, 2014, 12:28 PM
We assume days, months, years.

But perhaps THIS campaign world measures time as a never ending continuum with no weeks, months or years, just days. Or a cycle of eras with days and centuries but no weeks or months. Or maybe the hours of the day vary by the amount of light available so instead of 60 minutes/hour it's (60 minutes x distance from sun adjustment) so that an hour is proportional to the amount of daylight and there are always the same number of "hours" for each light period. Or years are defined by the passing of comet's (it's always good luck to be the first to see a comet and welcome the new year) rather than fixed seasons. Or there is no light/dark period so there are no days? Or it's a binary system with two stars? Or day/night are controlled by how faithful worshippers of various factions are rather than being based on physics/astronomy?
AEIOU is offline   #9 Reply With Quote
storeyl
Member
 
Join Date: May 2014
Posts: 33

Old December 21st, 2014, 03:48 PM
I'm not saying this is easy, it isn't. I tried playing around with custom calendars sometime about the turn of the century with Java.

But I don't assume Months days years etc, Just unit -> bigger unit -> bigger unit. Most Calendars though do have something that maps pretty closely to day month year. Hence standard formatting semantics works quiet well, but as I said above each calendar could provide its own formatting keys if really needed.

DateTime (abstract thing, may or may not be the .net one) has a reference point and a count of ticks since then. Nanoseconds, milliseconds or seconds would do. But if you wanted you could just treat them as minutes/hours/days or some other unit if time.

If you want no ability to convert between calendars then ticks can be left totally abstract and different per calendar, if you want to convert then you have some common meaning to tick, either defined by the system or your realm. So for the post above (Earth/Toril) you may define a time tick to be minutes as you don't see anything ever needing to be defined lower than this, but might want single minute granularity. Your Earth and Toril calendar will then be based on minutes as the underlying time from each calendars reference point.

For many calendars (like Gregorian) you have a 'fairly easily' defined set of rules, and from that you can take any number e.g. 123456789 and quickly calculate a date, which you can then format.


There are indeed some systems that are a lot harder. On earth the Islamic calendar, based on actual observation of the moon is one. A month has 29 days, and may have 30 if no one of correct standing could see the moon rise (or was it set, I forget). The days per month changes each year just because there were clouds or other such factors. The varibale hours or comet observation you mention are others that are harder to define. But they all just have something that exists in the Gregorian system, variable length units. Gregorian has variable length months (leap years), Islamic style has variable length months (via GM whim) and the variable hours is also just a variable length unit, but based on a formule like leap years (but more complex, e.g. (20 *(sin(minutes/X) + 2)) for 20 - 60 minutes per hour, with X determining how fast the change.

I don't see these as insurmountable for a game system. Nothing you have said, or I have seen, would worry me much if I was writing such a calendar for an RPG. Dealing with the above is conceptually quite easy if you know that is what you are dealing with. However, I can see where the devs here have an issue, they are not writing a calendar, they need to work out what properties you can set and how they use them. It is the useable defintion of a very flexible calendar system that is difficult, not implementing any given one.

It almost feels that I'd like a hook that calls into a calendar written by a user, and I provide my own calendar implementation. That would obviously be no use to a lot of people, but might be something to consider as an advanced feature so that others can provide such calendars and even share them.

I'm trying to think what odd calendars I have seen in RPG. I've played an awful lot over the years, though mainly Fantasy so may not have seen more Sci-Fi based calendars. I have never seen anything like your variable hour one. I'd expect a simple Gregorian style with different unit lengths and names for each unit would cover a lot of bases. A hook for user written code to be called could be used to handle real oddball ones (content market?, what about calendar market!).

From what davipp and Chemlak was saying I get the feeling that we won't end up with a calendar sytem that understands time flow across it or other calendars, just 'strings'. I hope I'm wrong. Though I can probably live with such a system for what I'm GMing, it will still feel a bit of a downer. For example in your constantly varying Hour length world how would you know what length of time between 2 points in the calendar? Is 3 days to save the world actually 1440 minutes or 4320 minutes, how long did it really take to cross that desert etc?


At any rate, I have totally derailed my own thread. To go back to my OP. I would like the ability to define which parts of a date are viewed, and in what order, no matter the calendar. Certainly on the Timeline, and also really any where I view a date.

Last edited by storeyl; December 21st, 2014 at 03:53 PM.
storeyl is offline   #10 Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -8. The time now is 08:48 PM.


Powered by vBulletin® - Copyright ©2000 - 2024, vBulletin Solutions, Inc.
wolflair.com copyright ©1998-2016 Lone Wolf Development, Inc. View our Privacy Policy here.