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 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.

Presentation video created after the first four weeks (at the end of the "interaction" project)

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".
Overview of the player's apartment
Overview of the player's apartment
Living room with the mysterious note
Living room with the mysterious note
Home town with a path leading to the Coloratorium
Home town with a path leading to 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.
Bird's eye view of the Coloratorium
Bird's eye view of the Coloratorium
View from the player's perspective
View from the player's perspective
Entrance hall
Entrance hall
View from the observatory
View from the observatory
Model in blender
Model in blender
Detail shot of the observatory
Detail shot of the observatory
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.
The letter from the Grandmaster, the first note in the game
The letter from the Grandmaster, the first note in the game
The Caves of Eternal Fires, source of red crystals
The Caves of Eternal Fires, source of red crystals
A nearby forest, source of green crystals
A nearby forest, source of green crystals
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.
Chart showing the different elements and their relations to each other
Chart showing the different elements and their relations to each other
Crafting interface
Crafting interface
The combiner, the first crafting station in the game
The combiner, the first crafting station in the game
Inventory & crafting UI
Inventory & crafting UI
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.
Spreading corruption by drawing a linear gradient on top
Spreading corruption by drawing a linear gradient on top
Disabling bilinear filtering to make the actual resolution visible
Disabling bilinear filtering to make the actual resolution visible
Terrain creation in World Machine
Terrain creation in World Machine
Item form of the world map
Item form of the world map
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.
Back to Top