A Chinese teenager takes a mission to retrieve their family’s roots through seeking a long-lost family heirloom, Ba Gua mirrors. Traveling back in time with the power of Ba Gua spells, they found that his family’s genealogy is longer than he thought…

Tale of Bagua is created during the 2023 Global Game Jam in 48 hours by my team of three. The project is currently a demo but consistently being developed. You can play the demo in browser by clicking the button above.

Ongoing Project   Started: Feb 2023
Unity 3D, WebGL, PC, Mac
Role: Creative Director, Level Designer, Producer
Responsibilities: Mechanics, Puzzles, Stories, Production tracking

Process: Mechanic Design

Dimension crossing

I always wanted to incorporate time/dimension travelling in puzzle games. In Tale of Bagua, I achieved this through the stencil function of Unity.

Each of the bagua mirror can create a dimension which reveals the past. The player can walk in and out of these dimensions. The landscape now and the past is vastly different, each having their own obstacles. By covering a obstacle in the present with a Ba Gua mirror, the player can bypass obstacles by hopping back and forth in between dimensions.

Dimension stacking

When 2 or more dimensions stack on top of each other, their effects increase exponentially. A single dimension travels back by 8 years, so their overlay area will do 64 years. Three layers do 512 years, four layers do 4096, etc.

Since only one Ba Gua dimension can be moved at a time, the player always travel to either one layer before or after. So even when an objective 512 years ago is theoretically over lapping with the player’s position in present, they still need to reach it step by step.

Avoiding no-clipping

What if a player travels back/forth into a wall? Will they get stuck inside, or will they be squished out from the collider? Neither!

To make the game fair and enjoyable, when a player is about to leave a dimension into a collider, the mirror “hooks” the player forward until they leave the collider. If this mechanic hooks the player into new collider, then the dimension will be forced to stop moving.

Process: Level Design

The mechanics introduced above (dimension crossing, dimension stacking). When designing the levels of Tale of Bagua, I follow these rules:

  1. Every layer should have >3 shared vacant spaces with the layer above and below. This gives the player more options to cross dimensions.
  2. Any 4 layers in a row cannot share any vacant space. This stops player from crossing multiple dimensions without moving, encouraging them to relocate.
  3. Each layer’s vacant spaces should follow a pattern (lines, scattered, spiral…)
  4. Each layer should have its own theme pallete and be as iconic as possible.

For example, here is the first and second layer in the game, from 2023 and 2015. There are 6 shared spaces, more than enough for the 3 crossings needed to get to the goal. The shared space at the bottom of the map is a dead end, but it enables more options later in layer 3 and 4.

Here are the top-down view for each layer (graphics yet to be fully rendered in the demo):

Full Gameplay

Credits

Congzhou (Nicky) Du

Creative Director
Level Designer
Producer

Tianyou (Alex) Wang

Technical Game Designer
Programmer
Technical Artist

Cecil Boey

3D Artist
Techinical Artist
Environment Designer