“A Dreamer’s Journey” is a 2D platforming game for PC / console set in an oniric world where the main character (A Dreamer) heart rate is controlled by every action performed: being idle for too much time or performing too many actions may result in defeat. Will our hero climb to the top of the castle and escape or will they be trapped in the realm of dreams forever?

Character

A kid trapped in the oniric world who can’t wake up.

A silent character who will be an avatar for the player.

They radiate a white aura and wear an orange silk scarf that contrasts with the mainly green and blue environment, leaving an orange trail behind, always easy to spot on screen. The scarf was a gift from their grandparents for a child prone to catching colds quickly.

When their heart rate is too low, the aura slowly fades and they fall asleep, resetting the checkpoint. When the heart rate is too high, the aura glows too strong and some red, alert lights appear, making them collapse and resetting the checkpoint.

The animations are child-like and since they won’t speak, animations need to convey lots of emotion.

Character references

The proportions, colours and mood of Sky: Children of the Light will meet the 2D art style of Rayman Legends.

Controls

Gameflow

The gameplay is a 2D platformer where the player must remain within a certain heart rate threshold. Jumping or dashing will increase the heart rate, moving or staying airborne will freeze the current value, staying still will decrease it. The player will need to use those abilities to overcome the platforming challenge, while keeping a safe heart rate: a confident, steady stream of actions is the best strategy.

More complex challenges will require the player to chain the abilities to complete it: jump from a platform, dash into a wall, bounce, double jump, glide on the next platform and so on.

The game is divided into episodes, with different numbers of levels in each one (episode number - level number).

  • Each level consists of a series of platforming chunks, which the player will have to overcome.

  • Each chunk will have a checkpoint at the start and one in the end.

  • Each chunk will have a short duration (some seconds).

Touching the next checkpoint will make it active - only one can be active.

If the character dies, it will respawn in the active checkpoint.

Touching the last checkpoint of the level will make the player complete the level and return to the level selection screen.

Goals

Short term

Keep the heart rate stable.

Advance to the next platform avoiding hazards.

Advance to the next checkpoint, completing a platforming chunk.

Mid term

Complete the level, reaching all checkpoints.

Long term

Complete the episode.

Complete all episodes.

Complete bonus hard levels.

Complete all achievements (e.g. beat all levels without dying)

Mechanics & Systems

Heart rate threshold

One of the main mechanics of the game is keeping the heart rate of the Dreamer within threshold.

Actions that affect the current heart rate value:

  • Jumping, double jumping or dashing will increase the heart rate.

  • Moving or staying airborne will freeze the current value

  • Staying still will decrease it.

A moon in the background will show the current heart rate as a UI display. Every time an action is performed, a new pulse will be seen, followed by a soft bass sound.

A range, known as “healthy threshold”, will let users play in a steady but not frantic way.

Being below or above that range for too long will result in player death and respawn in the previous checkpoint.

  • Dying below will make the character sleep.

  • Dying above will make the character faint.

Checkpoints

At the start of a level and in between longer levels, a checkpoint, displayed as a lantern in-game, will act as a beacon for the character to reappear after death.

Approach the lantern to activate the checkpoint.

Being near one will stabilise the heart rate of the character.

Non-active checkpoint/lantern vs active lantern.

Dream wings

Special item that will unlock the ability to double jump.

Astral wings will appear on the character back when used and remain open until landing, then fading out.

Hazards

Hitting an environmental hazard will instantly kill the player.

Most of the hazards will be environmental:

  • Falling into the void.

  • Spiky climbing plants that may grow in the most unexpected places.

  • Lava rivers and waterfalls that defy gravity.

Area of Effect hazards will affect the heart rate of the character:

  • Purple Myst areas that decrease the heart rate.

  • Red Myst areas that increase the heart rate.

Enemies

In some special levels, enemies or “nightmares” may appear.

They will mainly have patrolling behavior but some of them will react to the player's heart rate: chasing them if the heart rate is too high or too low.

Hitting an enemy will instantly kill the player.

Story and World

The main character is trapped in an oniric world, where architecture and nature doesn’t work as usual: ships sail through the clouds, cities are built on top of giant trees, waterfalls in floating islands, animals are combined with plants and musical instruments and so on.

A distant castle in the sky seems to be the only way to escape.

The Plot Twist™

The more the game progresses, more hints appear that something is wrong outside the dream. Some distant adult voices, machine noises, the sound of a heart beat monitor. This is not just a dream but a coma. Now the heart rate mechanic makes sense! It’s not about escaping a dream anymore but holding on to life!

The game will end with a climatic, emotional struggle where the kid is moving between both ends of the heart rate and both worlds collide.

Game World References

Rayman Legends 2D art style combined with oniric and surrealist paintings/photos.

Game references

Celeste (Platformer)

Rayman Legends (Platformer)

Sky: Children of the Light (Social adventure)

Ori and the Blind Forest (Platformer metroidvania)

Inside (Plaftormer inspired by music)

Crypt of the Necrodancer (Rhythm roguelike)

APPENDIX - Heart rate implementation

The Dreamer has a heart rate system. The player must balance the amount of actions they perform to stay within the “healthy heart rate” range or the character will die and respawn on the previous checkpoint.

Actions that affect the current heart rate value:

  • Jumping, double jumping or dashing will increase the heart rate.

  • Moving or staying airborne will freeze the current value

  • Staying still will decrease it.

  • Myst areas may increase it or decrease it.

Being below or above the “healthy heart rate” threshold for too long will result in player death and respawn in the previous checkpoint.

  • Dying below will make the character sleep.

  • Dying above will make the character faint.

A moon in the background will show the current heart rate as a UI display. Every time an action is performed, a new pulse will be seen, followed by a soft bass sound.

The main goal of the “healthy threshold” is to make the users play in a steady but not frantic way, not using more actions than needed and vice versa.

Programming requirements

All of the variable names are suggestions, if you’re the programmer in charge of this feature, feel free to choose a better one but remember to edit it here! Also, the default values are orientative and will surely change when we play the prototype.

A system to take care of the heart rate is needed.

The heart rate is a bar that ranges from 0 to 100%.

0% (or less) and 100% (or more) will mean death for the character and respawn on the active checkpoint.

Main variables:

Increasing the heart rate

Performing a jump, double jump or dash will increase the current value of the current heart rate.

These values need to be variable for each action for balancing purposes and must be changed by the designers on the editor (make them serializable, please!).

Every time an action is performed, a new pulse will appear on the heart rate UI and a soft bass sound plays.

Note: These actions can be performed in milliseconds, so we may need to show the pulses with a “fake” delay and avoid breaking the UI. We need to test it ASAP and decide.

Decreasing the heart rate

While the character is still on the ground, the heart rate value will decrease according to the following variable (serializable): 

Healthy threshold heart rate

Two values segment  the “healthy threshold” area (also serializable): 

When the player’s current heart rate value (heartRateCurrent) is outside this range, the following behaviours will trigger:

Above healthy range

If between top healthy range (heartRateHealthyMax) and heart rate max (heartRateMax)

  • The main character's aura slowly turns red, more intense the higher the current heart rate value.

  • The soft bass sound of each pulse changes into a distorted bass sound.

When top heart rate (heartRateMax) is reached or surpassed:

  • The character dies.

  • The character’s aura has the most intense red value.

  • “High heart rate death” character animation plays once.

  • “High heart rate death” sound plays for a couple of seconds (until respawned in checkpoint).

Below healthy range

If between bottom healthy range (heartRateHealthyMin) and heart rate min (heartRateMin):

  • The main character aura fades out according to the current heart rate value.

  • The soft bass sound of each pulse changes into a hospital heart rate monitor sound.

When bottom heart rate (heartRateMin) is reached or surpassed:

  • The character dies.

  • The character’s white aura completely fades out.

  • “Low heart rate death” character animation plays once

  • “Low heart rate death” sound plays for a couple of seconds (until respawned in checkpoint).

Area of effect or Myst areas

Myst areas have an area of effect value that affects the current heart rate value.

When the main character enters the area of effect and every second it stays within, these values are applied (serializable):

Art requirements

2D assets

Character animations

Effects

Sound requirements

Previous
Previous

RTS Balancing

Next
Next

June’s Journey Memoirs Machinations