Role: Level Designer
Tools Used: Unreal Engine 5, C++ Blueprints, GitHub, Photoshop, Jira
Timeline: April 12th - April 14th 2024
Responsibilities Included:
Took photographs and looked at the area around O'Connell Street on Google Maps to identify key areas of Dublin City.
Used personal Jira to identify and organise tasks.
Used Photoshop to identify the key expected player paths in existing Overwatch Push maps.
Used Photoshop to sketch an early concept for the Dublin Push map while using Google Maps of Dublin City as a rough guide.
Created and then committed the Unreal Engine 5 project to GitHub for version control. With the ability to revert to older versions of the project if anything went wrong.
Used Unreal Engine 5's modelling mode to create a prototype level.
Used C++ Blueprint scripting to create similar mechanics to Overwatch and other shooters.
To create an Overwatch map set in Dublin City in Ireland using Unreal Engine 5.
Having played Overwatch for several years, something that I enjoy about Overwatch 2 is its diverse range of maps set in areas based on real-life locations.
I wanted to create an Overwatch "Push" map set in Dublin using Unreal Engine 5. Not only would this help me learn about shooter map level design, but it would also encourage me to learn Unreal Engine 5, and show what I can create in a short time period.
In the game mode "Push", the goal is to escort a robot onto the enemy's side of the map, so that it can push your barrier onto the enemy's side before they push their barrier onto yours.
I began my process by taking photographs of O'Connell Street and the surrounding area to identify key features of Dublin City. I knew going into this that the map would not be able to be accurate, but I wanted to take a lot of inspiration from the City.
From these photos, what struck me was how open O'Connell Street was compared to the rest of the city, and how long the streets were. This was something I noted for when I would be designing the level later.
In addition to photographs of Dublin. I decided to take screenshots of the three Overwatch push maps (Colosseo, Espercança, and New Queen Street) to identify the expected player path that follows the push robot, the possible flanks the player can take, and the spawn areas.
I decided to go with a push map due to its mirrored-level design. With a short time frame, creating a push map meant I would have less risk of over-scoping the project.
Using Photoshop I sketched out multiple layouts over a map of O'Connell Street and the surrounding area.
Once I had a rough shape of the level, I sketched areas of the level.
I started with the push-bot path, then the surrounding buildings, player flanks and the spawn areas.
I didn't spend too long on this process as I knew I'd have a better idea once I started to work in the editor.
Using the Modelling Mode tool in Unreal Engine 5 I began to model the level.
I only needed to create one side of the level as it was a concept of an Overwatch push map, which are mirrored maps. This prevented me from over-scoping this project.
I started with the verticality, then I added the buildings and additional details like sight lines, spaces in buildings, and the forward spawns.
Once I had one side created I could mirror the level.
After the level was mirrored I added the center.
Finally I added some sightline cover and checkpoints.
The left side was create first.
Using Unreal Engine's mirror function I quickly mirrored the level.
I added the center after, knowing it would need a bit more detail.
A push map concept would need a push-bot. So I decided to use Unreal Engine's C++ Blueprints to create one similar to those in Overwatch.
The push-bot would need to walk alongside the player when they would be close by.
The C++ Blueprint is broken up into three parts.
Checking if the player is inside a collider
Moving the push-bot along the Spline path.
Making sure the push-bot is in the correct rotation.
Using a Spline mesh Blueprint I created a path for the push-bot to follow.
When the player is in the collider a timer on an event graph begins (plays). If the player leaves the collider the graph pauses (stops).
A static mesh with the collider is then moved along each point of the Spline, by having its location set on the Spline based on a float from 0 to 30. 30 is the end of the Spline.
To prevent the push-bot from rotating on its own. The static mesh with the bot has its rotation set to the same as the Spline path.
Adjust long sight lines with new forms of cover - Many Overwatch players dislike long sightlines that favour sniper characters.
Adjust the verticality of the map - Some Overwatch characters can fly and climb. The map would need playtesting and adjusting to accommodate this
Adjust the level to suit various characters - Overwatch has a variety of characters. Various spaces could be changed to accommodate larger character sizes.