Rift Dimensions

The Rift prototype a small group of SCAD students and I produced was the tip of the Rift iceberg. The game we produced was episode 1 of an epic journey across space and time and an exploration of parallel and perpendicular dimensions. The mechanics of time and dimensional travel are based around theories by Rob Bryanton in his Imagining the Tenth Dimension project. Rob’s model of the Omniverse, which incorporates the Everette-Wheeler Many-worlds interpretation, and observed effects of quantum physics like quantum superposition, allows for travel through time, alternate timelines, and other dimensions with differing laws of physics. Rift plays with the idea that humans from another dimension (an alternate evolution of humans) discover techniques for transporting matter and energy across dimensions. This allows the story to take the player through time, to alternative and alien dimensions while exploring concepts of theoretical physics and making them interactive.

Here is an excerpt from the Rift design document I have been writing. In this section I explain (rather briefly at the moment) the structure of the dimensions in the Rift canon. Note that these are my fictionalized definitions of dimensional space and are not representative of the theories proposed in Imagining the Tenth Dimension.

Dimension 1 | 2 | 3

These are the only spacial dimensions we humans can directly observe and navigate within (so far).

Dimension 4

This is a single line of time. We cannot perceive any more of the 4th dimension than a single 3D point along the 4th axis at any moment.

Dimension 5 | 6

The 4th, 5th and 6th dimensions describe potential states of 3-dimensional matter. Every possible state of our universe resulting from our initial conditions of the Big Bang is contained within these dimensions. Every point on our 4th dimensional timeline branches off into every possible new state this 3-dimensional point could take.  These branches of probable states fill the 5th and 6th dimensions and the 4th dimensional path of a 3rd dimensional object twists and turns in the 5th and 6th.

The farther one travels from their current point along the 5th or 6th axis, the more dissimilar the past and present circumstances become, compared to the traveler’s origin. Take a short hop along the 5th dimension and the traveler will find themselves in a time-place that shares the same 4D path up until 1 hour prior. At this point a single event had a different outcome, turning the 4D path in a different direction on the 5th axis.

Take a significantly longer leap across the 5th dimension and a traveler will find themselves in a time-place that deviated from the original 4D path a few thousand years ago.

Dimension 7 | 8 | 9

This plane considers all possible universes from our initial conditions as a single point. Deviation from this point in the 7th, 8th or 9th dimensions finds the observer in universes with different initial conditions. The farther a traveler deviates from his native point in this plane, the more dissimilar the dimensions will be.

Dimension 10

This plane is non-physical (as we know it). All matter in the lower dimensions is the shadow of the movement and activity in the 10th dimension. Some believe the 10th dimension is the source of pure imagination.



I’ve come up with the absolute simplest way to implement a skill-based randomization for training. The function works as follows:

If a random number between 1 and 15  is greater than the creature’s current stat, that stat increases.

With this formula, it becomes less likely to succeed at increasing a stat the higher it is. It also creates a level cap at 15 because the highest possible “roll” is 15, which can not be greater than 15.

A more complex version of this training system could roll against the cumulative values of all stats, so that one creature could never have more than a certain sum of attribute points. Experience points could then be earned in battle which would add to the creature’s roll score, increasing the likeliness of gaining higher skill points in more stats.

From Here to the End

Ok, folks. It’s officially crunch time. The presentation of the completed project is next Tuesday. In my case this will be a relatively polished prototype of a single player version of the Chimera game concept. Here I will outline what I hope that prototype to include (in order of importance):

  • Interface PrototypeFluid Interface

I’m basing the interface around a radial theme, trying to make it feel like a scientific readout with information radiating out from each creature. To the right is the current prototype for the interface. I hope to get more polished graphics by the final iteration, but that is of lower priority than completing the flow of gameplay.

  • Combat

Random combat without engaging animation is boring and impersonal.  As an alternative I will be emulating a typical Pokemon-like battle system. Creatures have a set amount of energy, determined by stamina, and each attack takes a certain amount of energy.  An amount of energy is regained every turn.

In addition to attacking, the player has the option to defend against the enemy’s next attack which will reduce the amount of damage sustained by a successful attack. Defending costs no energy.

  • Training

This will soon get its own post, as I’m trying to come up with a training/level up system that doesn’t simply rely on gaining points that the player allocates to the skills they want to advance. Instead experience  earned in battle will increase the probability that a creature will gain a skill point when training a particular skill.

  • DNA combination machine

Forced mating is a little risque…  Especially because most of these creatures look male. The solution? Artificial DNA combination. When you win a battle you receive a sample of that creature’s DNA. You can then take that DNA to the combination machine and combine it with one of your creatures to produce a selection of offspring.

  • Parts variety

My goal is to have at least 4 distinct variations for each part set. I believe this will provide enough variety to make each creature look different from the next.

  • Selective randomization

Eventually the creatures the player will be presented with will not be 100% random, but randomized from specific sets of parts that fit well together. This will also be used to provide difficulty scaling, as the initial creatures generated will have low level parts, and as your creature gains experience, more powerful parts will be used in generating opponents.

The Chart Must Flow

The first step I chose to take in improving the battle system was to design the interface. As you may have noticed, little to no care has gone into the UI if the previous prototypes. Now that I have a clear view of what the program will eventually require, I can tackle interface design. In mocking up the UI, I outlined 5 screens that the player will move through when playing the game: Select, Inspect, Train, Combat, and Combination (Select and Inspect may eventually be made into one screen if it feels more intuitive).

Though I’m still roughing out the design itself, I have drafted a new gameplay flowchart with everything the player will do in the final prototype, and which screens each activity takes place on. Interface shots to follow soon.Gameplay Flowchart 2

State of the Prototype

Battle prototype, though a bit behind schedule, is well under way. I have the basic structure for combat in place, involving two randomly generated creatures throwing and evading attacks based on their genetic traits. I need to add a simple training mechanism and some (really) simple animations for each attack. I’m hoping to have this prototype published next Tuesday. After that, I’m planning to start working on the aesthetic treatment of the UI for the final game prototype.