top of page

Game Project - Hundred Floors

This is a Unity game I created for the game project, this is a cartoon-style game and developed for PC platforms and for single-player.

This is a grid movement puzzle game, a Sokoban game. It looks like an isometric game, but I tend to build in 3D.

Throughout the game, players need to reach the target through various traps and mechanisms, and then advance to the top of the tower.

Game Design

In this project, we use the Unity Engine as a common tool for game beginners, easy to use, quick to master, and those rich online learning resources. Besides, Autodesk Maya, Photoshop, Illustrator, and Audacity are used for creating game assets.

I create all the models using Autodesk Maya, since we are going to create a cartoon-style game, we tend to use Non-PBR and painting texture in Photoshop.

I have created 5 different animations for the playable character using IK and FK handles.

Idle

Walk

Push

Injured

Death

For the scene, all the units are built as a square. (It is because in most isometric games - gameplay/character movement is moving 1 square.)

There are hundreds of scenes in this game since the game is called Hundred Floors. We design different mechanisms for the game level, - traps and switches with different combinations.

Besides, each tenth floor has a different room theme - lava, forest, and river.

Level Design

There are also special mechanics that are unique to certain themes, for example, low visibility in Mist Forest and Dark Cave, players need to light a torch or find other light sources to get a bright and wide view; The wind acts as an obstacle or even changes the player's position in the Highland area; Ice caps allow players to slide or crack after stepping.

Mechanisms

- Arrow traps -

- Rockfall -

- Spike traps -

etc.

I designed a lot of mechanics for this game, starting with the main function of Sokoban. To open the door, players need to push boxes over the switch, the gate will be open when the count reaches 0. However, in some situations, boxes can also be used to fill holes, or rivers to create a path through.

In addition to pushing boxes to open doors, there are multiple doors corresponding to a switch, when switching, one door opens, and the other closes. And even multiple switches, controlling a group of doors with different switches at the same time.

Except for those mechanisms, traps are also a challenge in the scene, such as arrow traps, rockfall, spike traps, etc. that can hurt the player. When the life value becomes 0, the game is over.

Shader

There is only an Albedo map created for models, while the Standard Shader is not suitable, and the Unlit Shader cannot cast and receive shadows.

Standard Shader

Unlit with a Shader(script)

URP with Shader Graph

Unlit Shader

I ran various tests, from Standard Shader on the left, Unlit Shader, Unlit Shader with a script, and on the right - using Universal Render Pipeline.

During development, the Unlit Shader with a script can cast shadows, but it still cannot receive shadows.

I finally ended up using the Universal Render Pipeline to implement the toon shader by creating a simple shader graph.

Using World Position and World Space Normal to calculate the directional light, and using a ramp texture to divide the surface into 2 to 3 parts.

Unlit Shader

URP with Shader Graph

Here are the results before and after using the shader graph.

Developers:

Producer - Kim Yeung

(Everything except UI)

User Interface - Dio Fan

vv (Click to download the game DEMO.) vv

bottom of page