A Mapper’s Roadmap

Introduction

This post will be a summary of my upcoming plans for my personal creative project. I have been developing a map for the aging multiplayer first person shooter game Team Fortress 2. This project of mine started in January of 2021, and has gone through just about every possible twist and turn you could imagine since then. In the depths of the CoVID-19 pandemic, I decided I wanted to pursue an old creative interest of mine, level design. I never took the time to learn the Hammer editor, the level design software for Source engine games like TF2, but suddenly with the pandemic I found myself with plenty of extra time on my hands, the perfect situation to learn this frankly archaic and frustrating software. As much of a struggle as this software can be, I still regularly work with it nearly two years later, believe it or not I find level design genuinely enjoyable despite the struggles.

redacted & early failures

My first project went by the name koth_redacted, and it showed all of the roughness you would expect from a first attempt at a creative project. It was a map for the King of the Hill (koth) gamemode, which prefers smaller maps. Redacted was massively oversized for a koth map, and it showed in more ways than one. In fact, Redacted got so oversized and complex that the Hammer editor struggled to even load the project to be worked on, and this is all on the development side of the project, to say nothing of the actual product in game. After about ten months in on-and-off development, I decided to shelf the Redacted project. I wanted to take the many lessons I learned from it, and begin my second project.

resurrected & Optimization

This second project was a Halloween themed map, as Halloween always brings with it the much anticipated yearly Scream Fortress updates. Scream Fortress always adds in some of the most creative and unique maps I have seen, and I look forward to it year after year. I wanted to try my own hand at a more creative style, and I wanted to improve upon Redacted, thus began my second project, koth_resurrected. Resurrected had its own roughness and it too will likely never see the light of the Steam workshop, but we’ll get there. While I finally nailed the scale of a koth map, with Resurrected coming in much smaller and more compact than Redacted, I failed to properly optimize the map. In the Source engine, the map is rendered as a series of “rooms”, even in outdoor maps, the engine relies on the mapper telling the software what the player can and cannot see from any given “room.”

This image from an interlopers.net guide to Source engine optimization shows what I mean. The players are represented by the pink rectangles, with props represented by the teal lines. In game, this room would be one large space with the players and props separated by a small wall, the players cannot see the props through the wall, and our goal is to make sure they are not rendered to save resources. Without proper optimization, the Source engine would think the players can see the props through the wall. With proper optimization, the Source engine will divide the large room into three smaller rooms, represented by red, blue and green rectangles in the picture. Now, because the engine believes that the players and props are in two different rooms, it will not render the props, successfully saving resources for the players and improving the map’s performance. This was my major fault in Resurrected, because I did not help myself to optimize the map. It was not made at a fundamental level with Source engine optimization in mind, and thus became too complex and problematic for me to optimize. Again, the solution I chose was to shelf Resurrected and move on to my third attempt at a koth map.

rusted & creative limits

Finally, we get to the fun stuff, this part is about my third map, koth_rusted, which owes a lot of its strengths to the previous failures of Redacted and Resurrected. Rusted combines the core gameplay elements of Redacted with Resurrected’s compact size, and this time, Rusted was designed with Source optimization in mind. These factors combined for my best project so far, though not without its faults. I had to contend with balancing my development of Rusted with School and Work, which at times has been difficult. There are days where I have woken up early to find all of my classes cancelled, and then I promptly sat at my computer working away on my project for upwards of 9 hours with few breaks. Of course, nobody was making me do this, this was my project and I was voluntarily working on it until I finally tore myself away from it to eat. This demonstrates the biggest challenge for me in Rusted’s development, contending with my own creative limits. Once I figured out the fundamental limits within the medium of level design, I had to figure out my own limits. It is simply not healthy or viable to routinely work for over 25% of the day on a project which has me sitting at my desk doing nothing more.

On top of that, since moving on from Resurrected in November 2021, I have been poking at and tweaking Rusted’s layout for a year now, I recently came to the conclusion that if I kept doing so, kept changing small things and never actually releasing the map to the public, I’d be working on it until I was gray and old. So, I made the choice when I was confident in the layout to change nothing more. I would do the textures, detail work and make the map feel like a real place rather than a simple, solid colored arena, and release a final version to the Steam Workshop where hopefully it would find players, and if I get really lucky a spot in the game itself. As of now, I have nearly completed the detail work on the BLU team’s side of the map, which I chose to complete first and then replicate the changes on the opposite RED team’s side. Once I complete that, it will be time to render the final version of the map once and for all, upload it to the Workshop, and move on to my next project.

Looking forward to the future

I do not have a timeline for when Rusted will be completed. Unfortunately, I find that I work best when I work at my own pace, and sometimes this means I will stop working on a project for days at a time due to many factors, such as school, work, leisure or simply burnout. What I do know is that Rusted is well on its way to completion, and that I personally want to see it through to the finish line, after all the effort I’ve put in, it would be a shame for it to never reach a final stage of completion.

After Rusted, I would like to move on to some of TF2‘s more complicated gamemodes, koth is fundamentally very simple. It involves two teams battling for to take and hold a central control point, and then hold it for several minutes. The first team’s timer to reach 0:00 wins the round, and the game resets. Since koth is so simple, the maps are too, they tend to be small, compact and often very arena-like. They are symmetrical, balanced maps built with even one-on-one engagements in mind. This is not the case in the more complex gamemodes, such as the massively popular payload. In payload, BLU team is tasked with pushing a cart to the end of the map, capturing similar control points along the way as checkpoints. They have a specific time limit which they need to advance to a checkpoint by, on the other hand, RED’s goal is simple, slow down and delay BLU at all costs. If BLU makes it all the way to the end of the map, they are declared victorious, if RED stops BLU long enough to run out the timer at any point, they are declared victorious. Payload maps are fundamentally much larger than most other gamemodes, and are asymmetrical so as to give each team strengths and weaknesses tailored to offense versus defense. Naturally, this large, asymmetric style is much more difficult to manage than a small, symmetrical style. I am eager to take on this challenge, I feel like I have a good understanding of the fundamental game. I would sincerely hope so anyway, I’ve only been playing it for nearly 10 years and 8000 hours. My experience has directly led to Rusted’s success, and I hope that Rusted’s success will directly lead to the success of a payload map.

A note on Theming

You may have noticed at this point that there is a consistent theme with my map names. Simply put, I named Redacted because my idea for the map’s theme was an abandoned industrial complex being used to hide illegal caches of weapons and spy equipment, hence “Redacted.” Resurrected is a fairly obvious one, it was a Halloween map, and the term Resurrected certainly fits a Halloween theme. Rusted was named because I wanted to take the abandoned industrial complex theme of Redacted, and combined it with the same rusty, dirty industrial themes of my hometown. I have lived in greater Pittsburgh for 21 years, and my grandparents used to say all the time that “You could wear a white T-shirt downtown and come home wearing a black T-shirt.” Pittsburgh’s industrial history is evident in everything from the architecture to the sports teams, and I wanted to channel that history into my map. Thus, I thought “Rusted” perfectly captured the theme of rusting, rotting industrial sites. In a similar vein, I have not picked a name for my Payload map yet, but I am considering names like “Blasted” and “Corroded” leaning into that same industrial theme.

 

A short video demonstrating the process

NFL Season Predictions, 2022-23

With football season beginning as I write this, I have a yearly tradition of making predictions for every NFL game in the upcoming season. It’s really quite simple, it is based on my own opinions of each team and who I think will win any given matchup. I repeat this process for every game until I have completely predicted the season. Usually, I am wrong, but I do this for fun mostly. I usually use this NFL predictor website which I have found to be a good tool for this particular purpose.

Having said all of that, my predictions for the season are as shown in these two images, the first being my ranks for the AFC, and the second for the NFC.

Since these contain a lot of information to digest at once, I will summarize. For the AFC, I have the following seven teams making the playoffs: Buffalo (15 wins), Tennessee (13 wins), Kansas City (13 wins) and Cincinnati (12 wins) as the division champions, with Los Angeles, New England and Baltimore taking the three wild card spots with 11 wins each. In the NFC, I have Green Bay (13), Los Angeles (12), Tampa Bay (11), and Philadelphia (9) as your NFC division champions, with San Francisco (12), Minnesota (9) and Dallas (9) taking the three Wild Card spots.

What I do not do, at least at this time of year, is make playoff predictions. I feel that the projection of a team as they are at the beginning of the year and as they are in the playoffs are too different to make it meaningful to predict the playoffs as the year starts. I save my playoff predictions for when the playoff picture is set and we have a better idea of what these teams are, don’t worry though, I’m still painfully wrong when it comes to predicting the playoffs.

The rest of this post is going to be focused on my team, the Pittsburgh Steelers. I have us finishing with 9 wins and 8 losses, which is a respectable record, though nowhere near good enough to make it to the playoffs in a loaded AFC. I have three teams finishing in wild card spots with 11 wins, three more teams out of the playoffs with 10 wins, then us at 11th place in the conference with 9 wins, well out of the AFC playoff picture. It is an interesting contrast to the NFC, where three teams make it into the playoffs with that same total of 9 wins. I simply think the Steelers are not quite as good as the rest of their competition, we are a talented but young team with work to do before we are ready to contend. Notably, we are in a transition period at the most important position on the field, our quarterback is Mitch Trubisky, a free agent pickup from Buffalo who is most like a serviceable stopgap until our first round draft pick Kenny Pickett is ready to take the reins. Furthermore, our offensive line is an area of major concern, and likely a reason we are not starting Kenny Pickett over Trubisky. Trubisky, as a veteran quarterback, is better equipped to deal with a deficient line than Pickett will be, and thus it makes sense to protect Pickett by letting him learn and develop in practice rather than in live games.

Factoring all of this in, I do not think the Steelers will be able to claim one of the seven playoff spots given that the AFC is loaded with talented teams. I have the full Steelers schedule broken down as follows:

This record of 9-8 has us finishing 3rd in our division, again, not good enough to clinch a playoff spot. This is fine, we are a young team building toward contention rather than a team that must win now. We have work to do before we are ready to seriously contend for a Super Bowl championship, but we will be there sooner than you think. I have had Renegade blasting over my headset with a Steelers jersey on my back and a Terrible Towel in my pocket on my walks to class all week for a reason. We’re coming for our 7th championship, HERE WE GO, STEELERS HERE WE GO!