Metro
Design Overview
Introduction
Metro is a First Person Shooter (FPS) multi-player map done using Unreal Development Kit over the course of 3 weeks in 2013. This was my second multi-player level. The first one was a UT3 mod done many years ago. In this page, I will describe my goals, the design choices I have made and I will end it with some hits and misses.
Unreal Development Kit (UDK) is a Game Engine which the famous Unreal Tournament game is based on. UDK features many advanced features such as AI, Pathfinding and the editor is powerful. The main advantages of using UDK to build FPS multi-player map are that it support bots, pathfinding system (node based), level editing (terrain and BSP), collection of high quality free-to-use meshes, built in FPS system and high end graphic renderer.
Goals
Since this was a school level design assignment, I have a tight deadline to meet.
-
Have to be completed in 3 weeks
-
Available man-days are around 5-6
-
A 16 players Team Deathmatch level
-
Indoor level
-
Symmetrical level with one main combat zone
-
Take no more than 10s to move from spawn points to reach the main combat zone
-
Demonstrate Line of sight and covers
Personal objectives.
-
Create a nice looking level that sell the space and its purpose
-
Try to build the level using BSP instead of modular static mesh to reduce the time needed to model, unwrap and build light
Setting
Looking through the available collection of decorative meshes in UDK, I was kind of limited to building:
-
A forested temple or cave
-
A factory
-
A out of the world necropolis styled structure
-
Non of the above
So, in the end, I went for the "Non of the above" and started brain storming for ideas. In the end, I settled for metro station because it is fine for it to be symmetrical, the escalators and stairs allow vertical spaces, it is compact and who does not like trains zipping around?
Layout
So, with the goals and setting settled, I went to google for references. I drew a few layouts with the references in my mind and combined various elements into one final layout. Then I proceed to do a rough layout in 3DS Max.




Spawn Points
The team will be spawned at the opposite ends of the level. There will be 2 main paths that lead from spawn point to the gantry area.
There is a plan to include multiple spawn points for each team to prevent camp-kill but at implementation stage, I have problem controlling which team spawn at which area.
Gantry Area
From the gantry area, there will be 4 paths that lead all the way to the main combat area:
-
Straight corridor with little covers
-
Curved corridor
-
Staircase leading down to train platforms
-
Escalator leading straight to the center of the train platforms
Escalator offers the most direct path to action but it is also the most risky. Speed and evasive action is vital.
Staircase offers a hidden path to the extreme end of the train platforms. Good for stealth but slow.


Straight corridor
The most direct route to reach the Garden In The Air. It offers little cover and a unbroken line of sight. Good for sniping or a direct push across the map.
Curved corridor
The curved corridor help to break up the line of sight. Good for close range combat and stealth. You never know who will come around the corners.
Rest Areas
There are 2 Rest Areas at the mid of each corridors. They provide resupply of ammo or health. Since they are connected to the Garden In The Air, they served as a flanking base. Holding these 2 key areas will detetmine the fate of whoever is guarding the Garden In The Air.


Garden In The Air
The main combat zone is accessible from 3 path from the 2 Rest area. There are 2 drop points for players to jump down or snipe. There will also be 1 jump pad at each end of the drop points for players to jump straight up into the Garden In The Air.
On the mid top of the area, there will be a sniper weapon for player to pick up. Holding this area provide the team with a good vantage point but it is hard to defend as there are 5 points of entry.
The jump pads at each end offer a very dynamic ways to attack. A direct jump will land directly on the sniper weapon and offer a good view of targets in th area.


Train Platforms
Mostly open area with small walls, billboards and benches as covers. The train platforms offer another dimension for combat or sneaky attack. It is possible to sneak past Garden In The Air and go straight across to the other end, especially via both the staircases. There are also 2 jump pads on each end of the platforms to allow quick access to the Gantry Areas. Jump pads really add some nasty surprises!
References
With the little amount of time I have, I settled for a more sleek and modern feel as it is easier to texture and build. Most of the assets are built using BSP except for the escalators as it is too complex. I resued the plants and waterfall from UDK.






Conclusion
Hits
Overall, I recieved positive feedback on the look and feel of the level. The lighting, textures, moving billboard and the glowing signs added realism into the level. I even added train announcments over the PA system to break the monotonous ambient sound and inject some realism and humor.
The jumping pads leading to the Garden In The Air are great and add a very dynamic and surprise ways to attack. Jumping right into the heat of the battle and shooting targets down below is just pure chaos and fun!
Misses
Although building assets using BSP is a time saver, but having to manage BSP brushes at such a scale is a nightmare. Any changes will require a rebuild of all the BSP and the time slowly started to add up. A better balance has to be found between using BSP and static meshes.
The biggest misses most likely have to be the bots. Despite setting weight to the path nodes, the bots seem to dislike using the staircase and the curved corridors. The most common paths are down the escalator and the straight corridor. Most probably is due to the strong draw of the sniper weapon at the Garden In The Air. Due to time constraint, I could not fix it in time.
Another miss is knowing the direction. Since the map is symmetrical, the layout is too similar and it is hard to tell which side the player is on. I was thinking of using color code (red and blue) on the lights or the sign but for some reasons, UDK does not spawn the team at the same spawn points. So, for one minute, Blue team spawned at blue spawn points and the next minute, it went to the red spawn points. Again, most probably it is due to some default UDK anti-camp-kill spawning AI so the spawning is randomised overtime. Another solution is to use custom texture on each side or put some unique meshes such as statues or paintings/banner.
Lastly, due to time constraint. I cut out a section of the level that I would love to add in and that is to make the train track accessible. The initial plan is to have a electrical room at the middle side of the track and the room will have a rocket launcher. The trick is that a train will zip past the track every 45-60s so if you are caught on the track while going to or from the electrical room, you will be PANCAKED.
Last words
I will conclude the overview here. You can watch the bots and me in actions on the level using the link below. Until next time!

