top of page

City of Thieves

City of thieves was my graduation project at the game assembly and was the only project we worked 100% of our time on.

The game was made in Unreal engine 5 and was my first full scale project in the engine, so a lot of time was spent by everyone to simply learn the engine.

​Some stuff I did:

Mission system & setup

The structure of the game is a fairly open world with missions that pop up around the city that the player can start by approaching them, the missions consists of many different goals and scripted events that can chain together. I created a bunch of small segments that could be connected in blueprints to form the full missions and there were two different kinds of segments.

​

Informational/scripted segments:

  • Dialogue stating objectives and reactions

  • Camera sequences, often at the start or end of a mission

  • Spawning of enemies or items specific to the mission

  • Activating beacons in the world indicating a target area

​

Goal segments that the player had to complete to progress:

  • Reach a specific point in the world

  • Steal objects such as keys from enemies

  • Pick up specific items

  • Unlock a door

​​

During the implementation of the mission system I talked a lot with our designers and partook in design meetings about what we wanted the missions to be on a narrative level and what I would need to create to realize those ideas. These discussions also informed a lot of level design decisions for the world layout and I also ended up working with them to actually set up the missions in the game.

​

Another requirements of the system was support for failure conditions such as dying or killing key enemies. For that to work I also created support for checkpoints in the missions so the player wouldn't have to redo the whole thing if they failed.​​

Early mission about getting into the city

Upgrade system

Throughout the game the player can purchase special tools that gives new abilities which can be assigned to different buttons. I created the system for handling equipping and using the abilities and I also implemented the abilities themselves. 

bottom of page