top of page
CITY OF SORROW (1).png

INTRO

City of Sorrow is a 3D action role-playing game (ARPG) set in a mysterious medieval fantasy world. In this game, players will take on the role of a brave adventurer, with a heavy responsibility, to step forward to save the castle shrouded by the dark forces.

Dev:SOLO

Type: 3D ARPG

Platform:  PC

Video

Inspiration

capsule_616x353 (1).jpg
capsule_616x353.jpg

Level BlockOut

微信图片_202403081451231.png
微信图片_20240308145232.png
V`DPX4B}LMW_~P~T]()QA5N.png
RDU%W`F7(E_~$D[7$_%9_6D.png
LJD3XE8L_0)HSQ]Q8~Y4JOE.png
2DE}TX$QHX3~ITK[9%0_Y(S.png
L9(2X_1R7F%8%0(CTTOTBM7.png
N6UEZXS0F%OQ7LVYUGK_C3R.png

Shortcuts & Respawn Point

NPC&Enemy Dev

ALL The Art Asset and Animation is resource online

NPC

__CK6_WHMFM0F1AB_QG1MCG-removebg-preview.png
VV3S__8_MDD_QG88HMP_UTQ-removebg-preview.png

I put this character at the beginning of the level, and by talking to him the player will know the story of the castle and he will give the player basic instructions.

When the player defeats the final BOSS, the air wall leading to the Duke's room is disabled, and the Duke congratulates the player on completing the game and saving the castle. Also, when the conversation ends, the scene automatically jumps to the end.

Enemy

微信图片_20240308160636-removebg-preview_edi
微信图片_20240308155940-removebg-preview_edi
8NGE628___01OON27_RA6HD-removebg-preview
微信图片_20240308155005-removebg-preview_edi
微信图片_20240308155422-removebg-preview (1)
微信图片_20240308154514-removebg-preview_edi
EV_EI__H6MW_E_00LYM_XTN-removebg-preview.png
微信图片_20240308154807-removebg-preview_edi
39SZ_V___NIDI_YQ___5TWN-removebg-preview.png
微信图片_20240308155136-removebg-preview_edi
微信图片_20240308154107-removebg-preview_edi

In the game, I set up 12 types of monsters, the difficulty increases according to the level, their size is large and small, small monsters only the height of the player's legs, medium-sized and similar size of the player, and there are huge monsters. I placed them all over the level, and as the player explored, they would sometimes appear in unexpected places and attack the player.

Difficulty Level

IMG_1363.PNG

Script

6L)_U4QY}QRK87L4R[RY2$3.png

I tried a lot with scripts.
In terms of enemies, I set up three basic attack modes for monsters, such as archers, and she will only stand in place and attack from a distance. For each melee monster, I set up two attack modes for them, tap and continuous attack, and will trigger randomly according to the code. There are also monsters with both ranged and melee attacks, such as the Elite Monster on the Watchtower, which when the player enters its attack range will strike at long range when it is far away and close range when it is close. Monsters also have different ways of moving, some monsters will stand in place or hide in a corner, while others will automatically find their way within a range.
In terms of levels, I set up triggers that pop up the level name when the player passes through certain sections to remind the player of the next level. The shortcut elevator also took a lot of effort to set up, the first time the player touched the elevator will show that it is not available, and can only be used when opening another high lift.

Sample

Summary

This was the first game I made, and when I was preparing to make a game, I was very confused and didn't know what genre to choose. I asked myself, why do I make games? It's more of a passion from my heart. Let's copy one of my favorite games, so I started working on this project.
In the process of making this game, I encountered a lot of difficulties, from the initial entry function of the complex game engine, I once made a very low-level mistake in the game playback mode to build the scene for two or three hours, and finally it was nothing. After that, I also spent a lot of time learning about wiring in animation controllers, how to optimize character movements and animations to make them coherent. Of course, the most challenging is the use of C# language in unity, throughout the development process, I often found that the monster's bow and arrow failed to shoot the player, or the monster still follows the player after death, the monster attack wayfinding is not accurate and so on, I am glad to have fixed them after a mistake.
In this project, I learned the use of game engine, scene construction, lighting, character animation, modeling, binding bones, scene transformation and the application of C# language in game engine. Whenever I have some progress, I will share the game with my good friends to play, developing the game brings me infinite fun, I really enjoy the process.

bottom of page