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

Level BlockOut



![V`DPX4B}LMW_~P~T]()QA5N.png](https://static.wixstatic.com/media/29049e_82c10d2808034d1e962435d04af46234~mv2.png/v1/fill/w_468,h_218,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/V%60DPX4B%7DLMW_~P~T%5D()QA5N.png)

![LJD3XE8L_0)HSQ]Q8~Y4JOE.png](https://static.wixstatic.com/media/29049e_04370a4422c246a88485d2a8bc9510fa~mv2.png/v1/fill/w_476,h_232,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/LJD3XE8L_0)HSQ%5DQ8~Y4JOE.png)



Shortcuts & Respawn Point
NPC&Enemy Dev
ALL The Art Asset and Animation is resource online
NPC


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




.png)







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

Script
_U4QY%7DQRK87L4R%5BRY2%243.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.












