San Felice
Third-Person Action-Adventure
Team Size: One
Genre: Third-Person Action-Adventure.
Setting: This level is set in the 13th-century fictional town of San Felice (Italy). The level’s setting is largely inspired by several games in the Assassin’s Creed franchise.
Time frame: The project was part of an assignment in Level Design course at FIEA (Florida Interactive Entertainment Academy). The entire project was done in 6 weeks. The first 2 weeks were dedicated to conceptualizing the idea, researching various towns in Italy, and developing the level design document. I spent the following 3 weeks only white boxing the level and the final week for blueprinting as the project required a lot of blueprints for fully realizing the vision that I had set forth in my LDD.
Software: Unreal Engine 4.27, Maya (for proxy level art)
Design Inspirations: For this level, I've drawn inspiration from the coastal towns of Italy. In particular, the beautiful town of Positano and its narrow streets, and the steep landscape with a picturesque coastline have greatly influenced my design decisions. They were the perfect match for the gameplay that I wanted to focus on - stealth and parkour. While the actual town of Positano has a very steep landscape, it did not translate well when implemented in my white boxed level.
Asset packs used: Advanced Locomotion System V4 (replaced default UE4 player controller with this), SuperGrid Starter pack (tool for white boxing and applying grid materials), Water Planes, Ships and Rocks for set dressing the non-playable space for demonstration purposes.
* The mountain terrains in the background are not part of the playable space. They were only used to provide context for a cliffside coastal town setting
Level Objective: For this level I created a scenario where the protagonist is brought to the fictional town of San Felice on a ship, along with several other people from his village as prisoners. The reason for the abduction is unknown and the level’s objective is to discover it. The sequence of events are as follows:
Visual Language and level design principles: I have used familiar shape languages for white boxing this level. Such as using round shapes for landmarks - to convey safety and subtly guide the player. All the houses are rectangular since squares and rectangles are perceived as useful and trustworthy. The fort’s bastions and enemy vantage points have pointy shapes as they are viewed as danger.
Any significant point of interests is also clearly identified by unique art and silhouettes that can be viewed from many points in the level. For the purpose of playtesting, I have also made cinematic shots to direct the players to these locations.
Color Consistency: In order to clearly communicate affordance to the players, I have used consistent colors throughout the level. Blue and Red colors are used to indicate if a house is loot-able. The doctor’s house is a special case where the door is first colored red and it changes to blue only after all the objectives are completed. The colors and number of grid lines on the material used for houses also indicate the type of house it is.
Yellow is used for ladders, stairs, ledges and platforms that aid in traversal.
Iterations and feedback: Initially, the church in the market area was isolated from the main playable areas of the level and was only considered a visual target from a distance. So, during the interim presentation of my level, our level design faculty suggested using the church as a landmark with a real purpose instead and rewarding the player's curiosity for exploring this area. After a couple of iterations, the church and its surrounding areas were re-designed to serve as a major landmark with a purpose. It can now be seen from all street levels and every corner of the playable space as well.
I've put a lot of focus on designing a level that could accommodate different playstyles. For combat, players can take a direct approach if they wish too. However, a lot of emphasis has been placed on making the stealth-based approach an attractive option. The level's design favors sneaking around and stealthy assassinations aided by objects in the environment. To demonstrate this, I've included one of many examples from the level showing how stealth-based approach is rewarded in the video down below.
In this particular example the enemy's back is against a Door. This situation can be approached in multiple ways: (1) Players can get inside the house from the roof and through the balcony, open the door and then kill them from behind. (2) Use objects in the environment as shown in the video.
Inspired by the architecture of Positano, I've placed all the buildings close to each other with narrow streets separating them. The buildings had to be perfectly positioned such that players can traverse almost every corner of the level without setting foot on the streets. I decided this was the best way to encourage a stealth-based approach while creating tense moments on street level. To make this possible, I have added access to rooftops from within the houses, ladders and an adequate number of ledges to grab on to as the players jump from one rooftop to another.
While the narrow streets were crucial in order to make all of the above possible, I had to make sure that they were also wide enough to avoid invoking a sense of imprisonment as the players walk along the streets enclosed by tall buildings. A lot of playtesting and valuable feedback from my faculty during our interim presentation helped me find the right balance with metrics.
I made my own quest system with a simple UI for playtesting purposes. Having a fully functional system helped me design the overall pacing and flow of the level with ease and maximum control. For this level, players must loot houses for silver coins as requested by the NPC. Coins spawn randomly at pre-determined locations in loot-able houses.
Even though this was an individual project, I wanted to follow good practices and pretend that I was in a large hypothetical team of developers. So, I implemented a simple, easy to read UI and proxy designer art throughout the level. The priority was to communicate clearly and get the idea across to the players and the rest of the ‘hypothetical team’.
In order to complete this project and playtest the level, I have implemented several blueprints that helped bring the white boxed level to life. I have a strong proficiency in UE4 blueprints since I have used it extensively in my undergrad program, before developing my knowledge further in my graduate program at FIEA. For this level, I made blueprints ranging from simple tasks such as climbing ladders, randomly spawning collectibles at pre-determined locations, triggering events and cinematics at checkpoints, killing enemies by sneaking up behind them to complex ones such as a quest system and a customizable AI patrolling system using pawn sensing. I included some snippets of the blueprints I have made for this project down below.
Use ctrl + scroll to zoom and right mouse button to move around the blueprint graphs down below
Click on FULL SCREEN to see the full blueprint logic
Each of the houses in the town has pre-determined locations for collectibles to be randomly spawned at. For example: at different positions inside cupboards, on tables and either in the ground floor or the first floor. These locations are stored in an array and once the player collects them, the UI widget gets updated to display the count.
The movement and rotation for the AI enemy patrolling was done using timelines. AI enemy move from their spawn point to the ‘move point’ and vice versa. These timelines are paused when AI pawn sensing functionality sees the player during their patrolling. They chase the player for 10 seconds and display ‘You have been spotted’ message and resume their patrolling between the pre-set points.
Checking if player has collected all coins to to display next objective in Quest.
For this functionality, I attached a box collision to the back of the enemy. The stealth kill option is displayed only when the player gets within range (overlap the box collision). Note: ALS_AnimMan_CharacterBP is the player chacter and the enemy character mesh’s collision presets is set to Ragdoll.