Small Update

Haven’t updated in a while due to being overseas as well as having a general lack of stuff to write about. The time I’ve spent since I got home in early September has been spent dabbling in GTKRadiant for Quake 2 as well as learning some C++ in preparation for a Half-Life 1 mod my friend and I have planned. I’ve also been doing some layouts for a full sized Titanfall 2 conceptual level, the first non Live Fire level I’ve made. It’s taking a bit longer than I thought as there is much more to consider as opposed to Live Fire levels. If all goes well it should be done by the end of October/start of November.

More recently however I’ve decided to participate in the latest RTSL mapping challenge. We have roughly 3 weeks to create a level with the theme of teleportation, and I’ve spent the first week trying out different ideas and testing them in various ways. The idea I ended up going with was kind of inspired by Blink from Dishonored, where the player could aim at a spot within a certain range and teleport to that spot instantaneously. As I’m limited to hammer (we’re not allowed custom code and I wouldn’t be able to program something like that anyway) my mechanic is pretty different, but similar. I’ll show this video instead of giving a direct example.

Teleportation Mechanic Example

As you can see in the video, you can move the teleport pad around to reach places you normally wouldn’t be able to get to. It also has uses in other situations, such as combat.

Teleportation Mechanic Combat Example

There were many different issues I had creating this mechanic, from keeping it upright (which was easily solved) to the issue where if you went through the teleporter while the pad was on an angle (usually while flying through the air) the player’s vision would be stuck at that crooked angle permanently until they went through the teleporter again while the pad was upright. This was fixed by having the trigger_multiple which controlled the particle system/sound/etc send a message to a point_clientcommand which would reset the player’s angles. While this means that the player will always appear on the pad facing one certain direction as opposed to the direction the pad is facing, it beats having your vision severely tilted due to bad timing.

Anyway, that’s all I have to write about for now. I’ll likely write another update once my level is finished and the ville has been released.

Until then, peace.



G-Mare was my entry to Cromulentville, the second 50 hour mapping challenge run by RunThinkShootLive. The theme of the challenge was as the name suggests; “Cromulent”, which was explained as:

Your task is to create a perfectly cromulent map.

Is your map silly? Absurd? Weird? Hilarious, crazy, or a complete joke? Great! These are all cromulent maps and they’re exactly what we’re looking for.

Use this opportunity to embiggen your creativity.

If your map leaves players saying, “WTF did I just play?” – perfect!

Make players laugh, make them cry – but make them FEEL something. You have 50 hours!

I’ve never made a level of this sort before, so I knew it was going to be an interesting challenge from the start. It actually turned out to be a bit more difficult than I expected, as I had some trouble coming up with interesting gameplay mechanics in the time frame that made sense with my idea.

My idea was essentially something that would leave Gordon Freeman tossing and turning in terror.


Yep. For whatever reason, there are some HL1 g-man textures lying around in the HL2 files so I decided to use them for my level. I created some cubes out of brushes, applied the relevant textures to them, made them func_illusionary and assigned them to the relevant attachment points on some NPCs (Metropolice, Hunter and Gunship). I came up with this very early on, and started making a house to support the my first idea – a dream, or rather, a nightmare. Initially I wanted the entire level to take place in the house so I made it rather large for the first grey box. It didn’t feel like there was much of a use for the g-man enemy in this situation though. Nothing I tried to do sat well with me so I decided to change my idea, aiming for a comical rescue mission where you have to rescue Dr Kleiner from the evil G-Man corporation. I started on this idea but stopped for the same reason, with the additional issue of the time constraint. I then started on my third idea, where the player would fight through a small space ship where citizens were getting turned into G-man monsters. I stayed with this idea for a while before I dropped it as well. All of these ideas felt like they were either trying a bit too hard to be random or nonsensical, or would take longer than I had to complete to a reasonable degree.

Eventually at the end of the first day I decided to revert back to my original idea, but change it so the meat – the dream part of the level, would take place in a more surreal environment instead of the house. I only had about 32 hours left at this point so I locked in this idea and told myself I wasn’t allowed to make any more major alterations, regardless of how it turned out. I removed a portion of the house to make it easier for the player to find the bedroom, locking irrelevant doors and adding an Easter egg to the bathroom as a treat for players who bothered to check every door.

Doctor Freeeeeeeman…

The dream itself was in a temple setting, with lots of stone and flame illuminating the large G-Man faces that would cover the walls. I chose the temple setting because it felt strangely fitting, like some disturbing place of worship for an equally disturbing deity. I also chose it because it required simple brushwork that didn’t eat up as much of my remaining time.

First area of the dream.

The first area of the dream was designed with the intent to have as much playable space in one large room as would be considered appropriate. I didn’t want to have lots of hallways and corridors, as they’re boring to make and not very interesting to play through. I initially had issues with the enemies above the player being a bit overwhelming once being unleashed (for lack of a better term, explanation incoming), but some careful wall and cover placement solved that issue. When you first entered the room the only threats present were the ones in front of the player and the ones on the bottom floor. The player had to move to the bottom floor to find a button to remove a series of pillars blocking the player from progressing along the upper walkways. When the player presses the button however, it would also cause a series of G-Man cubes to disappear revealing a new series of enemies. This was done out of necessity as I couldn’t spawn them in with monster makers, as the G-man body part attachments were dependant on each metro cop having it’s own name. It also added a little something more to the “strangeness” of the level, so I was happy keeping it instead of finding a more hacky but correct way of achieving the same goal.

Second area of the dream.

The second area of the dream is a simple arena where the finale of the dream takes place. After leaving the first area, the player follows a short corridor to a prep room where they can arm up and heal for the coming fight. Once they step into the arena, 3 hunters spawn which the player has to fight and kill. If the player has gone out of their way to collect all of the items in the previous parts of the level then this fight is a breeze, if not, then they’ll have to do some work with the SMG. The level caps off with a fight against a gunship, also G-manified, which appears after pressing the button on top of the G-man head in the centre of the arena. They’re provided with an RPG and an ammo crate, as well as multiple item crates located in the safer spots in the arena. After the gunship is destroyed the dream ends and the player wakes up, marking the end of the level.

I finished the level at around 4:30am, with around 2 and a half hours to spare before the deadline. I’d spent around 18 hours straight on Hammer at that point and I was more than ready to sleep.

Ultimately I’m happy enough with the level, given the time frame we had and the amount of time it took me to come up with my final idea, but of course there are things that I think I could have done a better job on. For starters, the gameplay, while featuring a unique looking enemy, is typical and rather average for Half-Life 2 as far as combat goes. It doesn’t really bring anything new or overly interesting to the table and I feel like more could have been done with my idea. I’m also fairly disappointed with the house that the player starts and finishes in. While it isn’t bad as far as a layout for a modern house is concerned, it’s bare, uninteresting and was a bad choice for the Half-Life 2 universe. The brushwork is very very simple, the textures don’t fit in at all and there is barely any furniture. I’d considered earlier on remaking it into a smaller but more detailed log cabin or something fitting the Half-Life 2 aesthetic but ultimately did not have the time. I keep telling myself that the house was a product of the time constraint, but it still bugs me immensely.

On the other hand, I’m happy with how the layout of the level turned out and how the gameplay I did manage to implement performed on that layout. It might have been a little easy, but for these challenges I prefer to make combat less of a challenge so I don’t have to spend more time than I have to fine tuning it.

The feedback has also been favourable, which is always a good feeling.

You can download G-Mare as part of the Cromulentville mod here.

Next Steps

Now that I’m done with the LFC maps and Primus is slowly trucking along I’ve started thinking about what I’m going to do next.

Finishing Primus is a priority but I’ve been running into some issues caused by a lack of knowledge on how things in Black Ops 3 work. There is no documentation that I can find and scripting tutorials for BO3 Mod tools are almost entirely zombies focused. I’m having some trouble figuring out how to create the scripting required to get certain things working, such as aerial score streaks. I’ve investigated the example map Combine, so I know what entities to use and what user-defined KVPs to add, but I still feel like I’m missing a lot of context around what the chains they’re placed in do specifically and what their purposes are.

To explain further, so far I’ve added  around 5 different entity chains to the level which I can only assume are related to aerial score streaks. I’m presently either recreating the chains based off of what I am seeing from Combine or copying them directly, and so far all score streaks aside from the Wraith, the Mothership and Raps work. I’m assuming these last three score streaks are dependent on the last chain I have to add, but when I add this chain and compile I can no longer start the map, instead experiencing an infinite load screen. Clearly something is wrong, but I’m still unsure as to what and am currently trying to isolate the problem within this chain specifically.

The troublemaker.

Aside from this though it’s been smooth sailing. The optimisation is about as complete as I can make it and I’ve done additional polishing to make gameplay in some areas a bit more smooth and natural. My next major steps after figuring out the score streak scripting issues are to fix up and create more nodes for bots and to go through the process of creating a mini-map (a guide was provided, thankfully). I also might see what other game modes I could include, but at the moment the above things are my priority.

In other news, I’ll be starting a new project alongside Primus. I’ve been thinking about what to make over the past week and have come up with a number of ideas, and have ultimately decided to continue working on a Half-Life 2 level I started around the beginning of MinimalismVille. It will have the aesthetic that I came up with for my alternate version of what ended up as Abstraction (and ultimately was used for LF5), but with gameplay elements proposed in my LDD of my level for BridgeVille, a project which was never truly started as I decided to continue to learn Radiant to work on Primus instead.

An older picture of my alternate idea from the day I did Minimalismville. My new level will be sharing this aesthetic.

That’s all I have for now, have a great day folks.





Stuff I’ve done in the past – Part 2

The last post was getting a bit long so I’ve decided to continue it in this new post.

End of Humanity – Student Game (Unity)

End of Humanity (EoH) was the result of an assignment given to us for our scripting class at Uni. We had 6 weeks to create a 3D FPS of any sort from scratch by ourselves in Unity. I was given the second highest grade possible for this game, although it was meant to be the highest grade but I was penalised for the upload finishing an hour past the due date.

The game itself was a wave based shooter where the player would have to try to survive for a set amount of waves against a variety of enemies, while searching the level for weapons they could use to assist them in their fight. The “Story” of the game differed depending on which of the two arenas you choose to play in. The themes differed between a supernatural apocalypse and a machine uprising apocalypse.


This game was a huge challenge for me at the time as my knowledge of 3D asset creation and programming in C# was still very much beginner level. This game did help me improve both to an extent, though while I continued to develop my 3D skills afterwards I did not continue to develop my programming skills outside of where it was required.

The level design in EoH was relatively simplistic, with one level taking place in an underground bunker and another taking place at an outpost. The underground bunker level was a winding series of tunnels and rooms on multiple floors, with each area having multiple ways in and out. Weapons were placed throughout these areas and players could find and use as many as they picked up. The outpost was the opposite, a large, open area with multiple buildings and obstacles acting as cover for the player. Due to me not knowing of any specific tools that could assist with level design in Unity itself, and not really knowing enough about 3DS Max to do them in that (at the time), I built the levels in Hammer and ran them through 3DS Max before exporting them for Unity.

The enemies in both scenarios only differed in appearance, with each level having three types of enemies which would spawn in during the waves. These three types were;

  • Melee – Basic melee enemy, would hunt player down and strike upon getting close enough, causing massive damage.
  • Hitscan – Enemy that would fire laser at the player upon visual contact with the enemy (as long as they were within a certain range). Would move relatively close to the player and stop when they hit that distance.
  • Projectile – The enemy has a similar behaviour to the Hitscan enemy, however it fires slow moving projectiles at a slow rate which deal massive damage to the player. Can be deadly if caught out unaware.

There were also 8 different weapons I scripted for the game, these were;

  • Pistol (Bunker) – Hitscan pistol dealing moderate damage.
  • SMG (Bunker) – Hitscan SMG dealing low damage, but has a high ammo count and fire rate.
  • Shotgun (Bunker) – Hitscan shotgun dealing high damage with low fire rate.
  • Airburst Grenade Launcher (Bunker) – Projectile heavy weapon that fired explosive rounds.
  • Pistol (Outpost) – Projectile plasma pistol dealing high damage.
  • Laser Rifle (Outpost) – Hitscan rifle dealing extremely low damage fixed update fire rate.
  • Plasma Rifle (Outpost) – Projectile rifle dealing high damage with moderate fire rate.
  • Rocket Launcher (Outpost) – Projectile heavy weapon that fires rockets that explode on impact.


Virion – Student Game (Unity)

Virion was a student game that was developed by me and three others as a part of our Studio class at Uni. It was a very successful project with playtesters and tutors alike enjoying it thoroughly. Our small development team was extremely talented and capable, and we all worked well together throughout the development process.

Screenshot of gameplay from a WIP version of the game.

The game was a top down strategy game where two players would compete to control as much territory as possible. Players would move their pieces to hexagonal grid spaces on the board, and would capture a varying amount of grid spaces upon moving depending on which type of unit they would move. Different units could capture territory in different ways, and units could capture the territory that enemy units had captured previously. If a unit was able to move onto an enemy unit, the enemy unit would be destroyed and all of the territory that was captured by that enemy unit in the previous turn would be turned over the the friendly unit. A player could win the game by capturing a certain total percentage of all tiles on the board.

Each team had was comprised of 3 types of units amounting to 5 units in total per team. These units were;

  • Spyware – A “fast” attack unit that could move up to 4 tiles. In trade for it’s long reach, it would only capture the tile it landed upon while moving.
  • Malware – A medium range unit that could a maximum of two tiles from it’s position. It would capture all of the tiles it passed over to reach it’s destination.
  • Trojan – A heavy unit that could only move 1 tile, but would capture the tile it landed on as well as all of the tiles surrounding it.

I was responsible for a number of different things in Virion, including level design, particle effects, modelling and animating the spyware unit as well as some miscellaneous UI and 3D asset creation tasks.

The two levels I made that were placed in playable versions of the game for playtesting were called Chasm and Duo. A screenshot of Chasm can be seen above, and a screenshot of duo can be seen below.


Our initial level editor was actually Microsoft Excel, something I never thought I would be using for level design. Later on, our extremely talented programmer made a proper Level editor for the game in Unity itself, which simplified the process greatly.

If you want to read more about Virion, click here.



Stuff I’ve done in the past

I’ve decided to make this post just to write about the other stuff I’ve made. I’ve been pretty busy this year with level design stuff and it’s been a blast. Some stuff I’ve made has been neat, some not so much, so I’m gonna talk about it all.

Complex – Half-Life 2: Episode 2

I guess a decent place to start would be near the end of last year with Complex, a level I made for “HardVille”, a Half-Life 2: Episode 2 mapping competition where the goal was to create a hard level that was still fun to play. This was the first “ville” I entered, but it probably wasn’t a good decision considering the theme. The way I interpreted the theme was to make a level that was hard on all difficulties, and I took it very seriously. I was unable to find playtesters so I ended up balancing the difficulty around myself, a huge mistake considering, at the risk of sounding narcissistic, I’m very much above average at FPS.  The result was a level that was simply too hard, very frustrating to play and simply not enjoyable. The feedback was largely negative with players feeling that the level was very unfair and frustrating.


The level was set in a nondescript industrial complex (hence the name) where players would come across a new challenge in each area, each increasing with difficulty and mainly focusing around combat. Some of the challenges included;

  • Weaving through Zombines in a narrow series of hallways, weaponless.
  • Moving from cover to cover to avoid 3 highly accurate and lethal snipers while being fired on from above, whilst only having a pistol.
  • Avoiding 2 rollermines while being fired upon by a turret in a relatively open room.

And there were more, but I’d rather not spoil it all.

These challenges might have been fun if I had paid more attention to the balance, making them a bit easier and a lot less unforgiving. It taught me the absolute importance of playtesting, the hard way.

Good luck.

One of the biggest mistakes I made with this level was only creating difficulty in the form of combat. There was only one non-combat related puzzle and it was very simple to solve. Creating truly difficult but fair combat scenarios in Half-Life 2 is extremely tricky, and a combination of a lack of experience and some dumb decisions caused me to fail at this task quite spectacularly.

Complex was a valuable learning experience, if nothing else. It drove me to put my best into my next Half-Life 2 level.

You can download Complex here.

Abstraction – Half-Life 2: Episode 2

Abstraction was a level I made for Half-Life 2: Episode 2. It was my entry into MinimalismVille, a 50 hour mapping challenge where players had to create a minimalist level over the weekend. It received very positive feedback and was one of the two winners of the competition.

The theme of this challenge interested me greatly. Due to me being busy over that weekend however, I only had the single day to work on the level from paper to completion. I knew from the start that I wanted the “minimalism” of the level to be in the aesthetic so it would be easier to create in the time frame I had, and I had a general idea of what I wanted the level to look like. As soon as I heard of the theme I looked into the concept of negative space. From this I decided the aesthetic I wanted to go for. Two flat colours, red and black, with black being objects and enemies and red being the environment. Like that iPod commercial. I accomplished this by creating custom solid colour textures which were self-illuminating. Every object in an unlit room would stand out against these textures, appearing to be pitch black.

First test room for Abstraction.

Unfortunately, it took about 3 seconds of playtime in this space for me to get a headache.

I dulled the red colour significantly but it still felt like a bit of a strain on the eyes, so I showed it to the guys on the Source Modding Community discord asking what they thought and they suggested changing the colour entirely. This led to me making it a lighter shade of grey, arguably more boring but a lot easier on the eyes. With the colours sorted out I moved onto my next issue which was being able to figure out where exactly the walls were. I solved this by creating black lines on the edges of the ceiling and the floor.

What Abstraction looked like in it’s final version.

The gameplay of the level was simple. In the majority of the rooms you would need to collect a glowing blue sphere to open the door to the next area. Each area would also contain multiple enemies, guarding their room’s blue sphere. Upon completing the level you would be treated to a short but vague scene, showing you why you were collecting the blue spheres.

This level, while relatively simple, was still very satisfying and fun to make. I was able to adhere to the theme’s requirements in both gameplay and aesthetic, while also delivering a level that was enjoyed by the community.

You can download Abstraction here.

The Live Fire levels (Conceptual, Titanfall 2)

The Live Fire levels were a labour of love by me as a tribute to my favourite franchise, Titanfall. As Titanfall does not have a level editor available to the public, I created each level in Hammer, doing a lot of guesswork and estimation as to what would work and what wouldn’t for each level I made.

I was even contacted by the Lead Designer at Respawn Entertainment, which was absolutely awesome.

I have made 7 so far, and am currently in the process of making more.

LF 1-4

You can check out LF 1-4 here.

I’ve written about each level under the relevant pictures.


LF5 was my attempt at creating a Live Fire map that got rid of any semblance of symmetry, while focusing on verticality and “swiss cheeseyness”. It was a strange level, as it didn’t really end up feeling like a Titanfall map as much as it felt like a Halo 5 or Call of Duty map. As a result of this, I decided to port it over to Black Ops 3 and continue working on it.

Album of LF5


The Sixth Live Fire level is probably never going to be finished, simply because I’m honestly lost at how I could complete it. LF6 is essentially a reverse Rise sort of deal, with the playable space being on top of the large wall running corridors instead of underneath.


I feel like the idea works, but making a playable space within that idea would take a lot of careful thought.


LF7 is the first Live Fire concept I made in Radiant. There was no special theme or goal aside from making something that I think would work in Live Fire. adddInitially I had planned the so that there would be three lanes, with the left spawn having faster access to the top lane and the right spawn having faster access to the bottom lane. It would take both teams roughly the same amount of time to get to the mid lane. While I feel like this design was sound, it felt a bit too big for a live fire map. So I ended up removing the bottom lane altogether and shifting the right spawn.


I also added paths through the large blocks in front of each team’s spawn so they could go through them and reach the mid building via the bridges.


LF8 is the last conceptual map I’ll be making as I’m redirecting attention to some other projects.


This concept is a lot smaller than most of the other concepts I’ve made so far, and would encourage fast, aggressive matches where players come into contact with each other seconds after the game starts, regardless of which route they decide to take out of their spawns.

Destruction of Innocence – Doom (2016)

This was my first and only Snapmap level, created with the goal of making something that would be fun and challenging for Doom Veterans to play through. The level could be played solo or in co-op, though only 5 lives would be available between players. The level is mostly wave encounters and arena fights, with the finale being a fight between you (and your friends, if you brought any) and a lot of Barons.


I made this the weekend after Doom came out, and found the process to be easy but interesting. I’ll never be a fan of the jigsaw-style method of building levels but the scripting system was actually pretty intuitive and extensive, considering that Snapmap is an in-game tool created to be utilised by all platforms. People have made some really impressive stuff with it and I’m glad that Id spent the time and effort required to make it instead of leaving a level editor out completely.

In The Dark – Half-Life 2: Episode 2 Mod (Dead)

This was my first attempt at a Half-Life 2 mod, which ultimately died due to over ambition. It was going to be a horror mod in the style of Silent Hill, with the player trapped in an alternate version of our world filled with monsters and littered with the corpses of the unfortunate souls who had been trapped beforehand. I did create a few levels for the mod, using the default Half-Life 2 zombies and assets as well as other assets (created by me and others) along the way.

The specific reason for the mod’s death was my lack of knowledge in 3D modelling and animation, as well as programming. I was unable to find anyone willing to help and my own forays into these areas would only be met with limited success. You can’t become proficient in these things over night, after all. I wanted a new set of enemies with specific behaviours, instead of the default Half-Life 2 zombies or alternate, headcrabless zombies with the same behaviours as the default ones. I don’t think my goals were foolish, but my lack of preparation and forethought was. I did manage to make some headway in the 3D modelling area at least, with me creating, texturing and partially rigging one enemy character, the puppet.

It would walk around on it’s wooden legs, forever following the player once alerted.


–Post 2 Coming soon–

Primus Update

So I’ve decided on calling my Black Ops 3 level “Primus”, because that means first in Latin according to Google Translate and it works a bit better than “First” in English.

As of this update I’ve completed all of the major alterations to the geometry of the level in my attempt to make it suitable for Black Ops 3. The last area that I had to change in a significant manner was called “Pillars”, a troublesome part of the level which has rarely been used by both players and bots.

For reference, here is what Pillars looked like before the changes.

Picture 1
Picture 2

The issue with Pillars was that it wasn’t very good for either wall running or combat. While it was primarily made to be an area for wall running, it severely lacked flow, outright stopping players that were heading towards catwalk, forcing them to ground themselves to walk through the doorway. The opposite route that wend towards Glass was better but pointless. There was no real reason to go there, as there are plenty of ways to go between Catwalk and Glass without using this area. It was only really optimal for going between the two while avoiding conflict. In the early play tests against other people I noticed that even if people did choose to take that route they would stop and use the entrance to long seen in Picture 1 instead of going all the way along the outer wall. It wasn’t interesting to fight in either, especially the area seen in Picture 1. The ground throughout Pillars is flat (aside from the pits) and there is very little cover.

After taking a look at the area and reflecting on some feedback I decided to make some much needed changes.

Picture 1
Picture 2

The area shown in Picture 1 was previously completely flat with the exception of the crate. There was no reason to go there, and no compelling path that players would want to consciously or subconsciously take. By adding an elevated path and replacing the second pit with a ramp leading to that path I’ve made the floor space a bit tighter and increased the accessibility to both Long and the other part of Pillars. Previously the player had to choose whether they wanted to mantle up to Long from the ground or jump over the pit to get to the other part of Pillars. Mantling up to Long from the ground would leave them exposed to players in Long as well as Players in parts of Glass, while jumping over the pit would lead them to another bare area with no cover. If someone was waiting for you on the other side of the pit, it was difficult to jump back before dying. Replacing the second pit with the ramp helps with this issue as it’s a more friendly method of traversal, and players are able to use the corners of the walls on either side of the ramp as well as the corner leading to/from the ramp as cover depending on the situation. They are also easily able to escape to the tunnels from the ramp if things are getting heated.

The area shown in Picture 2, the left side specifically, has been modified to better improve the flow of people wanting to quickly pass through Pillars by method of wall running. They are able to run straight through, jumping to and from the pillars if need be, before seamlessly traversing into Catwalk where they can continue their wall run for a fair distance. This also works in reverse, as players can now enter Pillars via wall running from Catwalk instead of having to halt their run and go through a door on the ground.

That’s pretty much all there is for now. The next steps are setting up some more game modes, navigation for bots and optimisation. I’ve also started prettying things up, though that isn’t a priority at this point.

Until next time 🙂

New blog, new stuff

So I’ve started this new blog as a way to record my thoughts and experiences with the various level design related things I’m working on at present and will be working on in future. I was going to use my old game design blog but I really wanted to start fresh, as a lot of the stuff on that page is old and somewhat different to the kinds of things I’m doing now.

Anyway, on to the meat.

Near the beginning of the year I decided to make some conceptual levels in Valve’s Hammer Editor for a certain game mode called Live Fire for Titanfall 2 by Respawn entertainment. Live Fire is a game mode where two teams of Six have to compete to wipe each out completely before the timer hits 0. Alternatively, they can pick up a flag and win the game by being the team in possession of the flag when the timer hits 0. It was mostly for fun, but also to try my hand at designing the type of stuff I would have personally liked to play in that game mode. I’ve made 5 in total so far, and I’m planning to make more in the next couple of weeks. I received positive feedback on the first four and was personally more or less happy with how most of them turned out, despite their flaws my inability to actually play test them.

The fifth was created a couple of months after the first and was my attempt at creating a more “arena-ish” live fire map with an increased focus on verticality compared to the previous four I had made. Unfortunately close to the completion of the level I had come to realise the map wasn’t exactly appropriate for Titanfall. Only one area in the level really supported wall running, with the other two lacking any real flow to them and mostly forcing the player to remain grounded due to the lack of wall running potential, excluding the surrounding walls. But still I finished the level and posted it to the Titanfall sub-reddit, receiving some useful criticism and feedback.

I didn’t instantly go back and recreate the level due to lack of time caused by end-of-semester work, and so I let it go for a while and have only recently decided to pick it back up. After finding out that the Call of Duty Black Ops 3 Mod Tools were available I decided to attempt to port the level over and continue it as a Black Ops 3 map. The Black Ops 3 level editor is a version of Radiant called Radiant Black Edition. I had previously used GtkRadiant during my first foray into Quake 3 Arena mapping earlier in the year so I was able to transition smoothly enough after a quick refresh in the form of some tutorials. There have been and still are some rocky areas that I’m unfamiliar with, the lack of proper documentation doesn’t help, but I’m slowly but surely getting the hang of it.

Current window layout I copied from a tutorial video, has been working well for me so far.

The level, LF5 now creatively titled “mp_test”, was ported straight from Source to a WaW .map format that Radiant Black was familiar with. I did this to save time, as I only had to clear out all the missing custom textures and replace them with some default Black Ops 3 ones before I could load up the map for the first time and perform a play test with some bots to see how the map played, still completely raw in its first version.

The very first play test was simply me alone in the level, running around and seeing what felt good and how well wall running worked in various areas (BO3 wall running is inferior to Titanfall’s but it’s wall running nonetheless). I then loaded up the map with bots in a Team Deathmatch setting, with four players on each side. The thing I immediately noticed was the complete lack of cover, most notably in Catwalk. It was also an issue in glass, but that area felt a bit too open by default. At Glass and Catwalk we were able to shoot each other in almost any position. Pillars was only used as a spawn area, and bots would immediately leave after spawning and only come back to turn away at the bottomless pits. I’ve tried adding nodes and volumes for wall running based on the provided example map (mp_combine) but it is an ongoing effort.

The next step was bringing in humans for playtesting. First me and my friend Kaeys played FFA both against bots and then against only each other. His feedback led to me splitting Glass up into two smaller areas, via a large wall that you could see still partially see through. This addition made the glass space a lot more interesting and fun to play in.

Afterwards I tested the level with three other people in a 4 player FFA setting. They gave some great feedback on the level as well as suggestions on what to do with Pillars, as it was still the least used area in the level. Each play tester reported that they found the map in general fun to play which is encouraging, especially as this is my second attempt at a multiplayer level after my initial Quake attempt.

This leads us to now, where I’m making further additions and alterations to the level based on the feedback I have received and am attempting to make Pillars an interesting area to play in which people will want to use.

To finish the post, here are some in-editor screenshots of the level in its current state (with majority of tool volumes hidden).

Catwalks with added cover
Glass side A
Glass side B
Ramp at the end of Long
Entrance to Long from Pillars
Recently added tunnel which connects Pillars, Catwalks and Glass