This is the official subreddit for 0x10c. Feel free to engage in rampant speculation, discuss new reveals, and share your creations in DCPU-16! Be sure to follow the rules of Reddiquette when posting to this subreddit.

This subreddit is and will remain an English only subreddit. While no action will be taken against comments, all SUBMISSIONS written in another language, will be removed

Exactly. The metric system makes nice easy unit conversion, but we are stuck with earth rotations and revolutions to make lousy conversions of time (and by extension, speed, and thus distances based on the speed of light).

That'd work, but we're still facing our original problem: Time units aren't in factors of ten. As ColonelError said, our only real time constraint is the 1/60 'tick', so timing might be best going from there, even if it might be a little odd getting used to at first.

Along with this, arguably, since 60 FPS is the sweet spot for our eyes anyway, this time interval has some fundamental associations with our human limits, which makes sense since we're the ones that's using it.

Now in terms of bases, Hex would be fun, making holidays around times like 0xBEEF, 0xFACE, 0xDABBAD00 and the like, but would get pretty terrible for readability when we end up with times like 0xFB C6 DD E1.

On the other hand, we could just keep those holidays for the fun of it, then if we move on to using a system like jecowa's, we could do something like this:

star date:

real-world equivalent:

000,000,000,001

one "tick"

000,000,000,010

1/6 of a second

000,000,000,100

1.66 seconds

000,000,001,000

16.66 seconds (a little more than 1/4 of a minute)

000,000,010,000

2.77 minutes

000,000,100,000

27.77 minutes (almost half an hour)

000,001,000,000

4.629 hours (almost (0.1929) 1/5 of a day)

000,010,000,000

1.929 days

000,100,000,000

19.29 days

001,000,000,000

192.901 days (0.5281 years)

010,000,000,000

5.281 years

100,000,000,000

52.81 years

...

I shifted the decimal points to match our standard metric prefixes too, just for convienence more than anything.

What you are looking for is something called the Julian day, something that is currently being used in scientific dating systems by astronomers. There are different epochs that are used by different people, sort of like the Unix time stamp. In fact, it is a simple mathematical conversion from the Unix time stamp to a Julian date where you simply multiply one number.

There is no need to reinvent the wheel here, and it includes fractions of a day.

If you want a really unusual time unit though, I really love microfortnights as a time unit. About 1.2 seconds long, somebody at Digital Equipment decided to be funny and put this time unit into VMS for a couple of parameters. Make sure you check out the Furlong/Firkin/Fortnight measurement system if you really want to warp your mind on stuff like this.

Hm. you could have a standard 'DCPU time' that starts at 0001 0000 0000 0000 [or whatever the exact date of opening the capsules is, in seconds] and counts up at one tick per second from there? keep seconds the same. maybe have one 'minute' = 64 seconds, as an 'eh, close enough' approximation, and so on up the scale. could be interesting.

Heck, you could have a basic 'clock' program of this sort come with the DCPU. it could be well documented, and possibly even act as a tutorial for the DCPU. comments like 'this is close but not right. if i changed the code like this, it would work better, but [my boss won't let me] / [i can't be bothered right now]' to act as a jumping-off point for players.

come to it, making a system that watches a planet rotate and works out a local clock for it would be fun, too. but we'd need cameras, or a ship based laser-tachometer... rambles

Playing online it would be nice to have a universal time, so what do you thing about using a fraction of the UTC day as the fraction of the day, and the numbers of the days since the release of the game for the full day number?
EDIT: for example if it was 12:00 UTC, 35 days after the game was released the date would be something like 35.5 .

Ingame and out of game it makes little sense to adapt a different time measuring tool.

Everything has been build on earth and the player was expected to come back within a year. So all the equipment still works on earth time.
These astronauts all were brought up their whole lives on earth, why would they even wish to switch to an unknown time system?

Out of game, I will have to keep an damned calculator on hand if someone indicates some point in time.

I was told the 12-hour 60-minute system was chosen because it had many dividers, and thus was easy on calculations for humans.

But this time, why not optimize the time keeping for the DCPU? Let's take the smallest game time, 1/60th of a second, and just overflow 4 words. Once you get used to time on a different speed, I figure you'll get just as good an estimation.

Our current calendar is set up to help keep track of seasons for agriculture and religious holidays (or more specifically for the gregorian (ours); spring equinox and easter).. It has very little to do with convenience in the 21st century

well... you can't really change what a second is... or a minure... or even an hour... as this is how we messure the passing of time...

it's first when we get to days, monthes and years that we can agree that it's a little uneeded... apart from how we calculate lightyears i can't see a reason for it either (other then it being easy cause we all know how long a day, a month, and a year is)

Well, seconds, yes. But minutes and hours? They're Bad, it's like "we have a decimal System but fuck it, lets take 60 seconds and minutes for the next step! And days? Yeah, 24 seems to be a nice number!"

Why not 0xFF seconds for an "hour" and 0xFF "hours" for a "day"? This would be easy to calculate! And also near the original system.

i called it "hour", not hour. And realy, I have no idea, it just made Little bit more sense for me, because i felt i had to skip one step and i had to choose between minutes an hours and picked one by random.

and yeah, i meant 0x100 seconds/hours/days. i was in an hurry while working this Thing out, i only had like 7 minutes to figur out this System and also thought about a decimal one, but there is no way to keep one base for a decimal system (10, 100 or 1000) to keep this anywhere near our original one.

You just said you wanted 256 minutes in an hour... Cut out the hex numbers and I will agree with you.
Edit: I am surprised that so many people actually think that hex is a good idea for representing time

I was talking about decimal time, not hex, but there exist advantages to either. Someone else wanted hex. The point I was trying to make is that time is already illogical. Just as illogical as using a consistent hex base. In fact, it is more illogical. 365 days a year? 24 hours a day? That's silly. It only came out that way because we orbit a sun and the earth spins and both happen just so. In space, we aren't bounded by these planetary restrictions.

If time is just a string of BCD numbers in your computer then you can have 10 or 100 minutes to an hour, 10 or 100 hours to a day, etc. It makes life very very easy. It makes the math for calculations very easy and less error-prone.

Hex time is even easier for the computer (no BCD math) and the programmer, but harder for the user. Unless the user is well versed in hex, which they will have to be to use the DCPU.

I'd probably say 0x100 seconds in a minute, 0x100 minutes in an hour, and 0x10 hours in a day. That way, converting hours to seconds in a DCPU would be as simple as a binary shift left:

SHL A, 4

0xFF would be like using 59 seconds in a minute. It's even, prime and ugly in binary. 256 seconds in an extended minute would be better. It's a power of 2, divisible by many other numbers and just 1 0000 0000 in binary.

Oh yeah I agree on the current time system.. I would actually go as far as saying that it's completely worthless in space. When people start talking about 0xFF seconds in an hour, that's where I have a problem.. A good atomic unit and SI notation is a lot better than the stupid trash undecipherable time system we use in real life...
Edit: to clarify, I do agree on your sentiment on the current time system; it's stupid.

Sure you can. Why not? we have nothing to base time/distance off of anymore, other than the clock attached to the DCPU, which only gives us 'ticks'. It would be too easy, since we are making all the software our selves, to go ahead and make time 'metric' as well.

Why not make time a metric measurement, with a base units of seconds? In space, and elsewhere, minutes/hours/days/years become purely sentimental units of measurement. 1 second = 1 second, as it is now, and then we attach metric prefixes. The measurement of a light year becomes the distance light travels in a megasecond (299,792,458,000 kilometers), roughly 3.2% of a light year.

Edit: The day people awaken in their ships is the start of a new era. I saw this mentioned earlier, so let's call this PCE (post common era). Date is measured from the beginning of the PCE in the following form: gigaseconds:megaseconds:kiloseconds:seconds. So, 24 hours after everyone wakes up is at time 0:0:86:400. Yes, you could just say 86400 seconds, but it is a little bit more legible this way. Also, you wouldn't really need gigaseconds until 30 some years after people wake up, but it would theoretically be needed eventually. Also, if you were planning, say, a meeting, you wouldn't need the entire date. If you were planning a meeting within the same megasecond (which is almost 12 days, iirc), you could just say "Want to meet at 820:000?"

Edit 2: Now that I think about it, it might be wiser to have the date form like this: gigaseconds:megaseconds:hundredkiloseconds:kiloseconds:seconds. Why? 1 hundred kiloseconds is 1.2 days. Thus, time in the short term, rather than being planned within the current mega second, it would be within the current hundred kilo second, to make more sense. And since the term stardate is so popular, why not call it that?

Our stardate right now is (not including leapyears, and account for time zone change, and also my calculator gave 2011 years to seconds as something e10, but w/e, it'll be in accurate) 63:449:1:78:000

Years, months, weeks... all of these are earth specific and aren't really needed in space. However, being still humans we are on a 24 hour cycle no matter if we are on earth or in orbit. See sleep issues caused by people who live in areas with 2 month long days/nights. Below is a good article "from how stuff works" that highlights some of the issues of sleeping in space with no proper cues from the normal day cycle. If you want something to look simple and be easy to count you can use 300, 300 second intervals to count a day which would come to exactly 25 hours. 24 hours is normally 288 of these, give it the extra 12 to make it even and pretty. I usually break up my actual days into 3 parts, 8 hours of work, 8 hours of me time and 8 hours of sleep. Split the day up into even 100 5 minute blocks. This way, everyone in space can sleep in 20 minutes extra.

But, if your in space there's no actual "days" per se because there's no suns revolving around us or anything else natual to go off easily. Can't we just make a time program (with it's own time system) for DCPU and use that to keep track? Edit: ? insdead of .