Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Ah I forgot to describe the time dimension part!

With one spacial dimension x, and one time dimension t, you can roughly describe motion like this:

    def move(speed, delta):
        x += speed*delta
where `delta` is the change in time. In a 60fps game, delta = 1/60. Some games play with the `delta` for a "bullet time" effect. SuperHot is a game that employs this to great effect.

With 2D time, I imagine it as red-time and blue-time. It might look like this:

    def move(speed_red, speed_blue, delta_red, delta_blue):
        x += speed_red * delta_red + speed_blue * delta_blue
(This can be written more succinctly of course).

A mechanic of this game involves switching between red-time and blue-time at will. Most elements would only move in red time or blue time. But some elements might move in a mixture of both.

You can have arbitrary time dimensions, but I think two are plenty for this game. You can get real interesting with this mechanic. Velocity is preserved within a time-dimension, so you can "save" your momentum for later. You can have gravity with different strengths and directions for each time dimension.

There's a lot of reasons this won't work for a realistic simulation. I had spent some time thinking of a fan-sequel to Outer Wilds which utilizes two time dimensions, but I don't think I can write a physics simulation where that would make sense. But for a lil platformer it can be fun



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: