By the time I put the final touches on Lazio as a Day of Infamy map, it had gone through several incarnations, including 3 different versions built for 3 different games, 3 different names, and numerous layout iterations.
Lazio can trace its roots as far back as 2005, when a much younger me made a multiplayer map called 'Ambush' for a fantastic little game built on the Quake 2 engine called D-Day: Normandy. This map, titled 'Ambush', would eventually serve as inspiration for the central area of Lazio.
Fast forward to early early 2015: I had decided to make a new map for Day of Defeat: Source ("DoD:S"). When I began sketching the layout, I ended up incorporating the central area from Ambush into the map, because it fit perfectly with the layout that I was developing. I had a solid groundwork for the map, but I ended up tabling the project when I got busier at work.
Fast forward again to Summer 2016: I had just discovered Day of Infamy ("DoI"), a new game by New World Interactive, which in many ways is a spiritual sequel to Day of Defeat. The more I played the game, the more I loved it. In my eyes it improved on DoD:S in every way, offering much more realistic and dynamic gameplay, but most importantly immense new options for map design. I immediately began porting the map to Day of Infamy, and thus the project entered what would become its final form.
Below is the full evolution of the map: from 'Quake 2: D-Day', to 'Day of Defeat: Source', and finally to 'Day of Infamy' (if you can't tell, I'm a fan of WWII games).
From the outset I knew there were some specific design goals I wanted to achieve in the map:
After sketching numerous different layout ideas I finally decided on a core area that would be based off of my original Ambush map, but extended in each direction. To the south would be a coastline, to the north and west would be farmlands and rolling hills, and to the east would be a tightly packed urban area.
I wanted the defenders to have the high ground, where the attacking team must move up from the lower farm grounds and climb their way into the city.
I also wanted the map to gradually blend from the rolling hills and farmland into the tight, claustrophobic urban areas.
With these ideas in mind, I made several different sketches, finally settling on one as a rough guide for the blockout. I took care not to sketch things in too much detail, but just enough to generate an idea of what the space should be. Since finer details will always change during production, detailing your ideas too early can often lead to wasted time.
(early sketch of the map's layout, with attack routes highlighted in red and objectives in blue)
(the final layout, screenshot taken from the map overlay in-game)
Before I start any detailing on a map I like to focus entirely on playtesting and iterating on my layout until it plays exactly how I want it. However, I find that it can be very helpful when building your base geometry to have a rough idea of the style you want to ultimately go for, as it can influence the general shape of your early geometry and the general layout of buildings.
Because I wanted to build a tight urban area juxtaposed against the sea, I began gathering reference photos for Italian coastal towns to get a rough idea of the shape and makeup of the coastline I wanted to build.
For the coastal references, there were a plethora of photos to get inspiration from, but I tried to stick to the style I wanted; primarily dense urban areas.
I also knew the church tower would be an important central landmark in the map, and so I gathered many photos of typical Italian church towers and courtyards.
Since the western portions of the map would consist of farmland, I also needed some rural reference photos. I collected many photos of typical Italian farmhouses, villas, and stone buildings. These would provide a rough idea for the size and shape of my buildings as I began building out the basic geometry of the map.
Because I knew I wanted the attackers to start on the low ground and the defenders to start on the high ground, I made sure to capture this verticality early on in the blockout.
This is the hill that the Axis have to advance up in order to attack the first objective.
Another element that is very important to work out in the blockout phase is line of sight. Especially for games with long range weaponry like DoI, it's crucial to think about all the possible defensive spots and to make each area balanced for each type of weaponry.
The bell tower is a foremost feature of the map, so I took care early on to make sure that someone sniping from the top of the tower would not make the gameplay unbalanced. To do this I made sure that the sniper can not see too much contiguous land. Although they can see several areas of the map, each of these angles has been carefully thought out to allow players on the ground to have plenty of cover and hiding spots to counter-snipe from. Although a player in the tower has a dominant view on the battlefield, they can also be easily countered since they are somewhat of a sitting duck.
(the sniping angles on the main attack routes are much narrower, giving players on the ground more chances to avoid enemy fire.)
(view from the bell tower from the finished map. A person sniping from the tower has blind spots between each patch of land in the form of buildings obstructing their view)
During the blockout phase I also incorporated some parts of unfinished maps of mine. On the left is a cafe that I had started in a separate map. It turned out to be perfect for a street corner I was building, so I decided to incorporate it in the blockout. Adding little details early on helps me develop a mental model of what I want the map to eventually look like in its final form. On the right is the cafe in the finished map, where I ended up flipping it around to better serve the layout.
Another area I wanted to define early-on was the coastline. The narrow path along the rocky shore is designed to introduce a trade-off to the player: if they take this path they have the possibility of getting the element of surprise over the enemy, but by taking it they are traversing a narrow bottleneck that can be camped with relative ease.
Because of this trade-off, I made sure that both teams would have strong defensive positions. The defenders can defend from the boat house on the right, while the attackers can defend from the 2nd story of the house on the left. As with many parts of the map, the gameplay is effectively symmetrical, while the layout is not.
When I was happy with the blockout, it was time to playtest. I was very excited at the prospect of sharing the map with real players and getting their thoughts, and I naively expected universal praise. Thankfully, keeping my ego in check, I was wrong.
While the general feel of the map and its hectic close quarters battles received good reviews, players were quick to agree on 2 gameplay issues:
Each of these issues had to be addressed before I could finalize the map's gameplay and move on to the detailing phase.
After discussing the feedback with testers, I was able to identify and address the biggest issues on the map that were contributing to the cramped gameplay.
First, I decided on an approach of "less is more". In the below screenshot, the tan colored building on the right is objective A, and the green building in the middle doesn't really serve any purpose. Although I had done some initial detailing on the interior and was quite proud of it, I realized this building wasn't really contributing anything to the gameplay, and was making the defenders' path to the objective more convoluted, so I decided to remove it altogether.
By removing the house entirely, I effectively gave the objective A building a back yard. This ended up improving the gameplay immensely. First, it provided an open space to the area, giving more strategic importance to snipers and machineguns. Second, it gave the defenders a clear path to the objective, just as the attackers have on the opposite side. Lastly, the short wall skirting the perimeter of the yard provided crucial cover for both teams when attacking or defending in this area.
(view of objective A from a defensive position - after removing the building, the defenders Allies are able to fire onto A just as the attackers can)
Another Area that players felt was too cramped was the yard of the northern house, which is another flanking route for the attackers. Again I had a structure whose interior I was proud of - a greenhouse. In the end though, I opted to remove this building as well, which made the yard more wide open and improved gameplay dramatically for both teams.
(original version, with greenhouse)
(final version, with greenhouse removed)
(original version, with greenhouse)
(final version, with greenhouse removed)
The 3rd objective or "control point" on the map is the church. From early playtests the bulk of the feedback I got said that the objective was too hard to capture. This was largely due to a single entrance on the front of the church. I realized the church needed to be more accessible, with entrances on multiple sides. In addition, players said they felt restricted when they were inside the church.
My solution here was to blow up the church. By taking the intact church and remodeling it to be a partially collapsed church, I was able to give new life to the area. Players could now enter on multiple sides of the church, or climb over the rubble to reach the 2nd level. I also added a basement entrance to get into the crypts of the church, giving yet another attack option.
With these major changes done, I continued with further rounds of playtesting, making smaller and smaller tweaks until I was happy with how the map played with every round, paying particular attention to first time players of the map and their initial impressions and learning curve.
By addressing the feedback incrementally and making these changes, I was able to dramatically improve gameplay, as proven by the positive feedback I got in my subsequent playtests.
Although many of the changes I made from the playtest feedback were subtle, in the end they added up to give the map a dramatically more open feeling, solving one of the main complaints I had gotten.
As an example, below is a screenshot from an early version, showing the primary attack lane which leads into the town center, and the 2nd photo is a screenshot from the same area in the final version of the map.
Now that I had the gameplay to a point where I was happy with it, it was time to begin detailing.
When I began gathering reference photos for the look I wanted to achieve, I was a bit overwhelmed by the amount of great ones that I found.
However, as time went on I found myself repeatedly drawn to a certain subset of the photos that I had collected. Out of these photos I gradually realized the style that I wanted to go for.
All of these photos consisted of warm sunlight at either early morning or late evening, and long, cool shadows covering large areas.
I decided to emulate the feel of these photos by creating a sunlight source on the map with a dramatic angle, for an early dawn look. I also iterated a lot on the shadow colors and fog effects to create a cool feeling for the player while in a shaded area.
Another advantage of the dramatic sunlight angles was that I could inform the gameplay from it by giving directional cues to the player. For example, most main attack routes in the map feature bright sunlight, whereas many of the safe spots and flanking routes are cast in a cool, grayish-blue shade.
Below are some examples of how I used sunlight and shadows to provide hints to the player for which buildings are important, and which paths can be taken.
(one of the alternate flanks for attacking objective A, hinted at by the sunlight and cast shadows)
(the beach, which is largely covered in cool shade, serves as a safer attack flank to the first objective (tan building), which itself is easy to spot due to the bright sunlight on it)
(Neptune leads the way)
With this project, I made a conscious effort to test the map early and often, with real players. I'm quite happy with how these test games went and the amount of useful feedback I got from them. Thanks to my first few playtests, I discovered important flaws early in the map's design, and was able to address them in ways that ended up helping the gameplay even more than I expected.
Since this was my first map for Day of Infamy, I had a bit of a steep learning curve early in the project, as it turns out the Day of Infamy SDK is not very well documented. I had to spend a lot of time getting help from the DoI community on how to implement all of the game modes properly, but I now feel very comfortable mapping for the game, which I'm happy to use on my future projects.
Lastly, I'm quite proud of the lighting I achieved on the map. I really wanted to create a unique feeling with the dawn setting, and I'm very pleased with the mood that the map conveys.
The biggest thing I want to focus on improving is being more efficient with my time. As you'll see in my stats below, I spent a huge amount of time on this project, and I'll be making a renewed effort in future projects to time-box each phase to better keep myself on a schedule. With Lazio, I ended up iterating too much on certain aspects, when I should've taken more time to step back and look at the big picture.
With the Source engine, much care has to be taken to optimize a map to ensure a smooth framerate for players. One mistake I made with Lazio was starting this optimization too late in the map's production. To keep the framerate on the map at an acceptable level, I ended up having to jump through some hoops with my areaportals, and I wasn't able to make much use of hint brushes due to my map's layout. In the end, I got the performance to acceptable levels, but on my next map I'm going to make sure to start optimizing as early as possible.
For any major project I'm working on, I like to track all of my time in a spreadsheet. For each day that I work I track the date, hours spent working, and any relevant notes. It acts as a timekeeper, but also a journal of sorts, to jot down my plans, thoughts, frustrations, etc. It also gives me the benefit of having some fun metrics at the end of a project:
Thanks for reading!