Search Instagram Twitter Facebook Spotify Grid Tag Date Folder Chat Pencil

Development Update – Water Design Process

The main design challenge I’m working on is the water mechanics in Relativity. Specifically, what are the rules of its behavior. Because this is a puzzle game that’s heavy on logic, the behavior of the water needs to be really predictable. Think of it as the light bridges from Portal 2, except they respond to gravity. I need the player to be able to plan out everything in their head, knowing that if the water falls off here and hits that, exactly which direction it will go.

I’m planning on introducing the L-Shaped blocks later in the game that lets the player bend streams of water. Below is my thought process for deciding how water should behave in Relativity. Please excuse the crudeness of the drawings. These are all from a top-down perspective.

When you place the L-shaped block this way, you bend the water stream to the left (the water’s left). The arrows indicate the direction of the water.

water_right

And when you place the L-shaped block the other way, you bend the water stream to the right (the water’s right).

water_left

These are the basic starting rules.

So then, what happens when water approaches a block like this (perhaps 2 normal blocks placed side by side)?

water_straight_01

 

There are three options.

1) water splits and continue in their new directions:

water_straight_02

This seems logical enough, if not a tad bit unrealistic. However, the problem here is that it renders the L-shaped blocks useless. Why choose one direction, when you can basically get 2? It also makes the puzzles way to easy, since you don’t really need to think of how to redirect the stream, you can just keep splitting it bidrectionally until you’ve got the stream you need.

2) water splits, but then continues in original direction:

water_straight_03

 

Ok, so then water happens after the block? Do the streams re-merge into one?

water_straight_03B

or continue as two separate and independent streams?

water_straight_03A

The problem with keeping the 2 separate streams is that one of the streams is pretty much useless. It doesn’t add anything to the puzzle, since the other stream is going in the same direction and is right beside it.

The problem with water re-merging is, what if I have a much wider obstacle, which can be formed by players putting multiple regular blocks in a row.

If it’s really wide, it would look weird for water to continue in the original direction:

water_straight_03C

This seems more natural, but I’m back to my original problem of creating bidirectional streams and making the puzzle solving to easy:

water_straight_03D

This leads me to the final option:

3) stopping the stream: 

water_straight_04

It’s not the most realistic option. However, it solves a lot of the problems with the earlier options. For one, it’s really predictable. You know if you don’t have an L-Shaped block lined up correctly, the water will just stop. Also, it doesn’t allow the player to create bidirectional streams. So, I think this is the option I’m going to go with.

What do you guys think? Of course, this doesn’t handle all the cases. For example, what if the block is shifted and only touches half the stream? I haven’t worked this out now, but these are just the basics of the water behavior rules.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.