Defusing Cogsmore

Defusing Cogsmore
Defusing Cogsmore” is the main project born from my studies at Rainbow Academy. In this game, developed over a year, I put to good use all the notions learned: from game design to 3D modeling, from level design to programming, from UI to VFX.

Game overview

High Concept

Defusing Cogsmore is a sort of adrenaline-filled treasure hunt, in which the player must find and defuse bombs before time runs out, being careful not to get killed by robots in the process.

Game Details

Genre: action, puzzle
Platform: PC
PEGI: 16
Number of players: single-player
Look: third-person view, high poly 3D, steampunk aesthetic
Pipeline: HDRP

Gallery

(Click on the images to enlarge them)

Development overview

Game Design

During the Game Production course I attended, the Academy provided some assets for the development of a demo that would then be the core of the thesis to obtain the diploma. There were no obligations regarding the genre of the game nor other specific characteristics, but one of the requirements for the project was to use at least one of those assets.

I therefore decided to make the most of the resources provided and based the game design on the characteristics of those assets, rather than adapting the assets to any game. In particular, the entire combat system was designed starting from the already existing animations of the characters available.

I also tried to create an original gameplay based on two of the elements that I like most as a player: logic and exploration. Thus, a steampunk version of a classic treasure hunt was born, with clues to decipher, bombs to defuse, and robots to fight.

3D modeling

However, one of the key elements of the game was missing among the assets provided: the bombs to defuse. Needing a model with very specific features (steampunk style, display, full keyboard and password sheet) and obviously not finding any that already exist on the internet, I did it myself.

As a reference I used “The Heatwave” by Alex Williams, I created the model with Maya and I textured with Substance Painter.

Steampunk-looking bomb.

However, one of the key elements of the game was missing among the assets provided: the bombs to defuse. Needing a model with very specific features (steampunk style, display, full keyboard and password sheet) and obviously not finding any that already exist on the internet, I did it myself.

As a reference I used “The Heatwave” by Alex Williams, I created the model with Maya and I textured with Substance Painter.

Steampunk-looking bomb.

In addition to this, I used my modeling and texturing knowledge to optimize some assets with too many polygons and to create texture atlases in order to improve the game’s performance.

Level Design

Among the various assets available there was “Steam City” by IL.ranch; starting from the modular elements, creating a terrain with Unity, and adding some other models external to this package, I built the game level consisting of an entire city (the Cogsmore of the title). This city is spread over four floors (one of which is underground and one on top of some buildings) and has 12 main points of interest where bombs to defuse can appear.

Since the game is timed and the level is very broad, the player does not only have the classic minimap (visible in the screenshots in the gallery further up this page), but also an entire map useful both for orienting oneself and for creating a strategy based on the amount of enemies present on the path.

Below you can see a small overview of some glimpses of the city, created from video clippings recorded for a possible teaser trailer when the game was still in development.

Programming

Having developed the game in Unity, I used C# as the programming language.

Two were the main challenges: randomizing all the key gameplay elements and in-game saving.

In order to increase replayability as much as possible, in each game the following randomly vary: the player’s starting position, the position of the hints that lead to the bombs, the position of the bombs themselves, the passwords to defuse them, the position of the bonus tokens, and the position of the robots (which in turn have random paths).
In order to prevent some elements from being generated in invalid positions, I decided to use predefined arrays from which I could then randomly select the required information.

Precisely because of the large amount of random elements present, it was essential to ensure that everything was saved accurately, since the game provides the possibility of completing a game in different sessions. In addition, the best three scores achieved locally are also saved, visible in a scoreboard that can be accessed from the game menu.

VFX

All the VFX in Defusing Cogsmore were created with Unity’s VFX Graph. To create them I used two different approaches depending on the desired effect.

For the effects linked to objects that are fundamental to the gameplay such as bombs, clues, emergency boxes, and bonus tokens, I chose a functional style with colors that make the object evident even from a certain distance to direct the player.

For all the other “outline” effects useful to embellish the scene (smoke from the chimneys, leaves falling from the trees, steam coming out of the robots, sparks from collisions and so on) I instead chose a more realistic style that would match the surrounding environment.

For the effects linked to objects that are fundamental to the gameplay such as bombs, clues, emergency boxes, and bonus tokens, I chose a functional style with colors that make the object evident even from a certain distance to direct the player.

For all the other “outline” effects useful to embellish the scene (smoke from the chimneys, leaves falling from the trees, steam coming out of the robots, sparks from collisions and so on) I instead chose a more realistic style that would match the surrounding environment.