MAZE OF GRAVITY

Experience a unique twist in puzzle-solving with Maze of Gravity, an innovative indie game where gravity isn't just a force—it's your key to finding a way out! Maze of Gravity is a game where flipping gravity is at the heart of gameplay. Players have the power to turn their world upside down, manipulating not only their own gravity but also that of specific objects, or both. This gravity-altering mechanic opens up a myriad of possibilities, transforming traditional puzzles into exhilarating challenges.

If the videos are unavailable, please try refreshing the page a few times.

INTRODUCTION
INSPIRATION

My inspiration for creating this independent game stems from my deep admiration for titles like "Mirror's Edge" and "Control." What fascinates me about these games is the way they break the conventional constraints of movement in many FPS games. Instead of limiting player mobility to a flat plane or a few planes, these games introduce a rich set of actions, combinations, and even levitation, allowing for a wide array of player-driven navigational choices.

Mirror's Edge's early concept art, showing the complexity of it's level design and player dynamics

Hovering allows players to explore environments from different perspectives and to fight in different ways

Another Mirror's Edge's early concept art, demonstrates different options for players to reach the end of the level

Dynamic and changing scenes provide a unique player experience, forcing player to think and interact with the environment

Game Design

The core mechanics of this game are centered around gravity reversal, where ceilings and floors swap places in the blink of an eye when players trigger those gravity-flipping devices.

1. Core Mechanics

1. Core Mechanics

A fence which is seemingly impossible to get over

Became no longer a obstacle after flipping the gravity

In this game, players have to interact with energy cubes, to manipulate gravity. By placing these cubes onto gravity gravity-flipping devices scattered throughout the levels, players can then flip their gravitational orientation. This mechanic transforms the game environment, opening up new pathways and creative solutions to seemingly impossible puzzles.

An energy cube in the game, essential to interact with triggers. There are many different types of them

As you progress, the complexity of puzzles increases, requiring more cunning and creativity to manipulate gravity to your advantage. There are also more different types of mechanics introduced to the later stage of the game, including but not limited to cranes, ropes, lasers, and more types of different triggers. The game's design challenges players to think in multiple dimensions, literally turning their perspective upside down to navigate through intricate levels.

A gravity-flipping devices in the game, they will flip the gravity of the player and other certain objects

A crane in the game, some devices may seem useless under normal gravity, but they will become the key to escape under reversed gravitational environments

2. Design Process

While designing the gravity mechanism, I encountered several problems. One issue was determining the outcome when another gravity flipper is triggered after one has already been activated. My initial thought was to require the deactivation of the previous gravity flipper before activating another, but this design proved to be less intuitive and inefficient. It required players to find and deactivate the active gravity flipper, often necessitating a return to their original path, which led to a repetitive game experience. Eventually, after a few more iterations, the design was modified so that the most recently triggered gravity switch renders the previous one inactive, streamlining the game flow.

The current activated gravity flipper and the energy cube on it will be highlighted with an outline effect. The energy cube will not be affected by gravity when attached. When another energy cube interacts with another gravity flipper, the previous one will disconnect with the energy cube attached. The outline effect will also disappear. The new gravity flipper and its energy cube will be together and have the same outline effect.

The blue energy cubes are not affected by the gravity flippers but their gravity can be changed by the player. Purple energy cubes, on the other hand, cannot have their gravity changed by the player but are influenced by the gravity flippers. Both types can be lifted by the player, but to enrich level gameplay by limiting the player's ability to lift objects in some scenarios, dark-colored objects were added to the game. Dark blue and dark purple follow the same rules as their lighter counterparts, but the player cannot lift them and can only influence them through gravity.

To further enrich the game's content in the future, expanding and refining the mechanisms mentioned within brackets will be crucial. The seesaws, cranes, and elevators in the game represent an expansion of mechanisms. Meanwhile, the energy cubes of different colors exemplify the refinement of mechanisms. More options will lead to more combinations, significantly enhancing the game's playability.

Energy cubes of different colors represent different gravity attributes. Items in light/dark color indicate if they can get picked up by players

Another issue I encountered is the relationship between gravity flippers and energy cubes. Despite the interdependence of the gravity flippers and the energy cubes, this also creates a paradoxical combination. If all energy cubes are affected by gravity, it means they can only exist on one side of the scene (usually the top or bottom), making it very difficult to activate multiple gravity flippers in different locations. To address this, I introduced various types of energy cubes in the game, differentiated by color.

3. Game Loop

The game loop is relatively simple and direct. Its core involves players finding their way to the exit by activating gravity flippers, reversing gravity, properly placing items, or using a combination of these methods. Gravity reversal is a key element of the game, but players need to locate energy cubes to activate it. The act of gravity reversal, in turn, changes the positions of certain energy cubes and objects, making them a pair of interdependent elements in the gameplay.


4. Future Work

In the early stages of game design, the game's mechanics were quite simple. At that time, players could not pick up or move objects; they could only simply change the direction of an object's gravity to trigger gravity switches. This meant that the energy cubes (which were spheres back then) could only be influenced by mechanisms within the scene. As a result, the gameplay often involved the player merely changing the direction of gravity for one energy sphere, which would then move on its own to the gravity flipper. Players hardly needed to perform any additional actions, making the game very boring.

One of the early levels was made with old mechanics. Players only need to flip the gravity of the energy ball twice(Once before the red arrows at the start, and another one before the green) without having to move. Making the gameplay very predictable

(The transparent orange object can push energy balls to a certain direction, The object pointed by the green arrow is the old gravity flipper)


I subsequently experimented with various methods to give players more control, including but not limited to allowing players to place local gravity overrides. However, in the end, the most straightforward and effective approach was to enable players to move the gravity cubes, thereby interacting more flexibly with the gravity flippers.

Currently, the content in the game is somewhat limited. To further enrich the game's mechanics, I can think of additions like lasers, ropes, magnets, and horizontal gravity reversal. The right combination of these elements could improve the game's gameplay to a new level.

5. Level Design & Visual Style

The unique feature of the level design in this game is the constant need to consider the player's path under different gravitational conditions, making the design complex. How can players trigger the gravity switches? Where will they fall after triggering these switches? Does the path after the gravity reversal bring the player closer to the exit? How can players be guided to prevent getting lost? These have become key questions to ponder when making those levels.

Following the above approach, I usually start by determining the mechanisms that a level should contain, and then I draw some drafts based on this. Initially, these drafts are often not perfect, but through step-by-step iteration, the final level usually manages to meet the intended design goals.

In this game, where gravity inversion is the core gameplay mechanic, we've embraced a bright, minimalist, and monochromatic art style to enhance the player's experience in multiple ways. This choice is not merely an aesthetic one; it's a strategic design decision that serves several purposes.
The simplicity and clarity of the art style ensure that players can easily distinguish between different elements within the game. As players navigate through levels by flipping their own gravity or that of specific objects, the monochromatic palette helps in quickly identifying interactive elements (e.g. energy cubes, gravity flipping devices). Each object's color indicates its function, allowing players to intuitively understand their role in the puzzle-solving process (e.g. blue vs purple, dark vs light).

Even in early stage where all items are placeholding cubes , players can easily tell the functionality of objects marked by different colors

Brutalism architecture style used in the game

GAME DEVELOPMENT

In the game, I completed the majority of the development work in both programming and art. In the programming aspect, I utilized various suitable design patterns as much as possible to ensure that the game's code is reusable, maintainable, readable, and robust. The game emulates an event system similar to that of Half-Life, allowing users to edit events easily and conveniently without editing the code or writing code for every unique level.

Trigger and Multi-trigger components and other trigger class compositing event systems to avoid writing scripts for most of the events

Well-designed Inheritance ensuring good reusability

Proper use of base classes and interfaces to ensure polymorphism and good decoupling

Programming
Art Assets

Here are some objects I made in Blender for a game. Their simplistic design allows them to blend into the scene better and remain consistent with the preset artistic style.