An open world game in a hostile environment
Propädeutikum ZHdK | Interaction- & mentored project | 2022
The core idea for this game project started one year prior, where I came up with the idea for a custom post processing shader for Unity. It would desaturate an entire scene while preserving the color in specific areas through the placement of point sources in the scene.
Once this was done, I started asking myself:
What if this unusual effect became a mechanic for an actual game?
Process
From early on I settled on the idea of making an open world game, where the player’s goal is to restore
the colors of the world. This is done by collecting the various colors scattered throughout the world, which have been separated and turned into crystals.
the colors of the world. This is done by collecting the various colors scattered throughout the world, which have been separated and turned into crystals.
The opportunity to actually start making the game came a year later during the Propädeutikum, starting with the shader that I had already made and trying to design a large open world around it.
During the first four weeks working on the project I focussed on getting a minimum viable product (MVP). The following four weeks were spent on visual improvements, making the grayscale / blackness effect more dynamic, as well as adding a puzzle mechanic to unlock certain areas. I also implemented some improvements that were suggested during the first exhibition after the first four weeks.
Just like all my other projects, I usually code everything myself, often resorting to my own Unity package library or taking existing code from previous projects.
The Dark
The cause for this strange phenomenon is an effect called “Corruption”, which consumes all colors and life forms. If not contained, it will proceed to consume all light in the area, leaving it completely black. Only the more powerful elements are able to reverse, let alone withstand this effect.
Game start
The game begins with the player waking up in their apartment, quickly noticing that everything around them has lost its colors. On the table lies a mysterious note, written by an alchemist. Demanding help, the alchemist explains that The Dark has spread across the land and needs to be stopped.
The player is then asked to follow a safe path towards his home base, the "Coloratorium".
The Coloratorium
Located in the center of the map lies the wizard’s tower, where the player receives the majority of quests and crafting equipment. It serves as the main hub for the player to begin exploring the world from.
The first version used a vagely modeled textured graybox for the building. During the second half of the project, I spent over a week modelling the tower in Blender.
The observatory on top of the tower provides an overview over the majority of the map and allows the player to track the progress of the surrounding darkness.
Quests
The quests given by the Grandmaster introduce the player to the science of colors, various points of interest around the map, and to the basics of crafting.
As part of the first set of quests the player is tasked to visit the Caves of Eternal Fires, a place where red crystals (Fire) are found in abundance. Through mining, the crystals can be collected.
In a later quest, the player is tasked to combine the previously gathered red with green crystals. This is done at a crafting station located inside the tower.
To create the quests I coded a simple questing system, consisting of triggers which have specific conditions and actions. They player can also check their progress using a quest book.
Future quests that still need to be implemented would include introductory quests where players get to know about the locations where the other (green & blue) colors can be found.
Crafting
Through crafting, the player can combine the collected crystals into more powerful elements, each having unique properties and uses.
The shapes of the different elements are based on the theory of the five platonic solids, each of them being associated with a different element and a unique shape.
While the first level colors (red, green and blue) can be found throughout the world, higher level elements need to be crafted. The colors yellow, cyan and magenta can be made using a device called the Combiner, a crafting station available from the start of the game. To craft an element the player needs all of its respective lower tier colors.
Higher tier elements would then require their own set of crafting equipment, which the player must assemble themself by finding the needed pieces scattered around the map.
Puzzles
During their explorations, players may stumble upon a triangular tablet on a pedestal, the first type of puzzle in the game. By placing the right combination of elements in the grid, they can unlock new areas. The player however might not yet have the required resources to solve the puzzle on their first visit, incentivizing them to come back later.
Spreading
From the very start I wanted to have the darkness to spread based on the player's actions. While the initial shader already had dynamic saturation (by simply changing the point's positons and radii), the darkness coming from the edges of the map was not.
Since it was generated using a texture, I had to create a set of scripts which can generate the texture needed for the overlay in realtime. Because it needs to be updated every frame, a lot of optimization was needed. Eventually I got away with a mere 32x32 texture resolution for the whole terrain, without a noticeable loss in quality.
To make the whole effect an actual threat, I made the corrupted areas inflict damage to the player, based on the intensity of the darkness / grayness in that area.
Terrain generation
The world's terrain was created using World Machine, a node-based terrain generation tool.
The generated heightmap is then imported into Unity, where it is converted into a terrain object. An additional weightmap controls the texturing as well as the distribution of trees and grass on the ground.
As part of the second iteration I reworked the entire layout of the world, placing the Coloratorium in the middle of the map and arranging the more important locations closer to it. This allows easy access to the most needed resources, while other elements and higher quantities are scattered closer to the more dangerous areas of the world.
To make the world map (which can be accessed by the player at any moment), I modified the generated terrain maps in photoshop and traced the paths and locations. I also added the ability to place a marker on the map, as suggested by another student during a presentation.
Player analysis
As part of the first four weeks of the project, I wrote a simple script which automatically recorded a player’s movement.
A subsequent analysis of the playthroughs from the exhibition shows that the game’s objectives were not communicated clearly enough and players often didn’t know where to go.