LEVEL DESIGN PORTFOLIO
This image is taken from a deathmatch map (WIP) where my goal was to create multiple levels of circular flow and ensure that all types of players had an opportunity to use their preferred method of play styles. The level consists of lifts and jump pads to get to the second level and portals exist to travel from one side of the map to the other quickly. High-powered weapons, and spots to use these weapons effectively, and special armor or abilities are strategically placed on the map creating a balance of vulnerability and advantage. Changes in verticality whether using lifts, jump pads, drop downs through holes in the floor, or dips in declines on the ground, create places for additional cover alongside of walls and cover props in the middle of the area while also changing which player has and doesn't have a height advantage in any given moment.
I began to create a style for this level by reviewing the assets available in the editor, however, there is still much more needing to be done aesthetically. I found a snowy texture and was able to create cover items in the form or large blocks of icy snow. There were also some other meshes that I was able to stick on top of each other and rotate around to create icicles or snow caps on the sides of BSP. The plan would be to scatter those throughout the map along side of walls and within the terrain to create a more natural and organic outdoor appearance. For this map specifically, I would add vfx such as light fog, cool colored lighting, and falling, along side decals of snow, mud, ice/water, etc.
This blueprint is taken from a WIP project called "Slidey Box." The blueprint shows an elevator system I created that moves when the player enters a trigger box. I am particular about neatness and organization when it comes to blueprints. I am a fan of clean lines, compactness, and re-route nodes. Depending on the situation, I collapse functions and share variable reference to keep blueprints understandable. I often make comments on specific nodes or sections of code, group together sections by color, keep consistent with color coding types of blueprints (i.e. player movements, object behaviors, etc.), and utilize print strings and live testing to debug issues. Most importantly, I try to put as limited amount of items on the event tick as possible and create situations where one blueprint can be utilized in multiple scenarios.
"Slidey Box" is a WIP where I was trying to create a Sodoku-esque game utilizing push mechanics and boxes along a track. Throughout the map, the player would solve puzzles where they would push boxes into the correct locations, which would then make new boxes available to them or open doors to the next area of the map. Boxes were originally placed on the ground freely, but I later put them lower into grooves in the floor and added pillars to keep the boxes from rotating in strange ways which caused showstoppers. As a learning experience, I realize that this is not the most effective way to go about the gameplay goals. This game would be even better if I were to cancel the ability for boxes to rotate at all, and institute a snapping mechanic where boxes simply snapped into grid-squares dependent on which side of a box the player touched.
For "Slidey Box," I also created some 3D proxy models in 3DS Max. (I borrowed the screen and keyboard images from online sources). The door frame and door was designed to allow programming in Unreal so that when the player activated the door, it would open to the left and right so the player could walk through. I intentionally utilized separate elements to allow for multiple material slots with intentions to use emissive materials for bulbs. The computers are modular in nature, designed to be used against wall pieces that I also created or in the corners of rooms. The proxy crate was originally designed to be pushed by the player, however, I realized later that it was beneficial for the player to be able to se through the boxes as they were pushing them.
The basic gameplay blueprints for Marble World were largely tutorial based as a learning challenge. That being said, I experimented with additional blueprints to create other aspects of this level (i.e. flaming ball). The design of this map was entirely my idea. Additionally, I went above and beyond the assignment requirements to create an aesthetically pleasing level, and an overall cohesive theme for the game altogether. I intentionally captured the editor view of the level in the video to show how I created the scene. I chose and connected music and sound effects for each level; this was not part of these assignment. The goal was to create an adventure theme for a simple puzzle game.
In the first level of Marble World (above), I tried to create a mysterious atmosphere that resembled a dark, cavernous, Indiana-Jones-esque feeling for the player. In the second level (not pictured), I created an island theme with music that was almost entirely slow-tempo war drums, hoping to create a sense of war-preparation for the player. The level was surrounded by ocean water and rock cliffs, and I introduced holes in the floor covered in flames (pre-war luau vibes). My intention with the third level was to invoke the feelings of chaos and energy. In gameplay, this meant that moving platforms at various speeds were everywhere and that the player could fall to their doom at any moment. In addition, the player would fall directly into lava which I created in the materials blueprint after watching several tutorials and playing with panners. I gave the lighting in this level a warm tint and added smoke particle systems for effects. The music resembles the war drums of the second level, at a higher tempo and with higher pitched percussion sounds like the triangle.
This project is an ongoing WIP. The entire purpose is to strengthen my skills in scripting through tutorials, adding modifications and elevating those tutorials, adding new elements to the game project, and expressing creativity in the process wherever possible. As a skills benchmark , I am using Fortnite's Battle Royale as a model to aim towards. My intent is to create something as close to this model as possible while also strengthening my level design skills by creating a custom map for the project. Along the way, I have learned not only about advanced blueprints, but about animations, widgets, AI, etc. I plan to make a custom map, but my priorities lie mostly in developing the components of a battle royale simulation so that I can be better prepared to create other games in the future from scratch. This video will be updated as I upload new content.
Hammer / Source
"Aperture Sciences - Plano" was designed to be a linear map experiment where the player needed to get from the rooftop to the main gate below. I would consider this still a work in progress as it still needs a proper aesthetics pass involving terrain, clutter, lighting, etc. and because some puzzle conveyance and gameplay balance could be tweaked for polish. That being said, the design of the map was carefully crafted to lead the player to a very specific goal using level design strategies. A prominent landmark in the level is the helicopter and can be seen and heard from all rooms and areas of the map. Leading lines can be found everywhere directing the player where to go next. I made use of contrast in color and lighting where ever possible, and framed important areas with a variety of props.
This aerial shot of the map shows the upper roof, outer areas, and exit goal. The player is dropped off from a helicopter onto the roof framing the exit goal; the helicopter follows a patrol path to reinforce the destination. As the player begins their journey down to the first floor, they find weapons, ammo, and health and are confronted by soldiers. Some conveyance elements were added such as carboard bread crumbs on the roof, which would blend in well with other clutter and decals. The general idea for combat in this level is to create situations for the player where they gain and lose height advantage at different times, and for the player to engage in short range or long range combat. Additionally, a few simple switches and puzzles involving access points are incorporated to enhance gameplay.
This image depicts the lower roof where I used a variety of scene elements to guide the player's flow. Looking down from the upper roof, the long pipes direct the player's eyes towards this end of the roof where they can also see the helicopter waiting just past the fence; the exit gate is near the helicopter. I intentionally used angled wall pieces to create arrows that direct the player to the room they need to enter in order to progress. Even if the player crawls through the pipe instead of walking across the roof, they will spill out into the room. The roof material and fences act as additional leader lines, and in front of the room, I created a small breadcrumb trail of rubble. Inside the room, I tipped over a vending machine for cover. To ensure that the player's eyes were attracted to this space, I created a blue flickering light on the vending machine to portray electrical malfunction through scripting a series of timed on/off meshes and lights.
Inside the building, I created a few simple gate switches with animations and feedback lights. Through the initial set of gates, I taught the player that the color on a switch matched specific gates with that color signage. Later in the level, the player would need to figure out which switch box opened a main door. The final puzzle involves toggling on a series of switches to open the exit gate. The first gate is pictured here next to a room I designed to be a storage area. Here the player uses crates and walls for cover and can pick up supplies scattered among the room. This level would be even better with some additional cables for conveyance, extra pickups inside the crates, crate signage, and some tweaking to the lighting and shadows.
This level was first designed through diagrams and extensively planned through a level design document before ever opening the editor. I included an overview map, several detail maps, and corresponding charts for each area depicting geometric shapes and dimensions, combat scenarios, cover, pickups, conveyance, puzzles, and other significant elements on the map. The document also included other aspects of the design such as, skill progression charts, aesthetic reference images, and descriptions for the high concept, level context, and narrative background. After the LDD was complete, I blocked out the basic geometry of the level and placed large cover props in the map.
This level was challenging to diagram for a few reasons. First, the outdoor space triggered various soldiers to spawn depending on where the player was located on the map, and these soldiers would engage in combat with the player even if the player was not outside on the ground yet; this created interesting vertical gameplay but made diagramming more challenging. Secondly, the building was not a perfect squared shape, and not all of the geometry inside the building included playable spaces. Combined with floors that overlapped each other, but only in specific areas, many diagrams were created to provide different angles of the building, dimensions of spaces, color-coded levels of verticality, and gameplay positioning that overlapped previously gameplay movements. In retrospect, I'm not sure the arrows do the map justice. This map might be even better if the diagram was created in 3D software instead.
My implementation goals with "The Basement" were primarily focused around making sure that the player knew what to do next while also creating the illusion of climbing up a tower. This level was built almost entirely with Puzzle Maker; during the last week of production, there were some minor tweaks made with BEEMod and Hammer. I tried to use contrasting lighting, device lines/dots, glass, and angled lines to create conveyance where it might be helpful. My process for developing this map included action blocks, diagrams, a level design document, blockouts, iterations, milestones through launch, and post mortems.
"BLT" was created with three mechanics in mind: buttons, lasers, and turrets. Conveyance was a top priority for me while designing this map. From early on, the player can see the exit goal. When standing on the second floor, the player can look below the glass to see what await them. Dots and lines are strategically placed alongside glass walls to help the player understand which objects are tied together. This map was created exclusively in Puzzlemaker. Before blocking out this level, I crafted a level design document completed with maps.
This WIP takes the player on a narrative journey to ultimately decide whether or not the protagonist in the story should be brought to justice or be given a second chance at life. After accepting the quest, the player travels to a town called Henniker (left photo). In this WIP, I have conveyed where the player should go by using pathways, framing techniques, animated NPCs, and an identifiable church. the player must first find Pastor John, but later must make their way to the top of the mountain. From the spawn point (see photo), a flag waves in the distance on top of the mountain and is framed by tree branches. The shape of the church, combined with the trees, draws the player's eyes to this flag. The only way to get to that point, is to cross a couple of bridges over a river and ascend the mountain side while facing raiders.
Before travelling to Henniker, the player meets Roger at Red Rocket Truckstop near Concord. Roger is the protagonist's father and explains his son's addiction to drugs and the struggles that this has caused his family and the local community. In this photo (right), Roger points at his campsite where he informs the player that they can borrow his gun if they can help Roger get his belongings back. Throughout the quest, I tried to create a sense of the damage left behind from a family struggling with addiction. The NPCs express emotions and animate according to their conversation and player's location. Roger, for example, often expresses sorrow as he lights up cigarettes, one after the other; butts litter the ground at his camp site, and fresh packs are located in his tent.
The dialogue in the project was fairly complex. The player had opportunities to learn more about the story or simply continue on the mission to complete the quest. I accomplished this in a variety of ways; sometimes I created new scenes that dialogue linked to, and in other cases, I created links within the same scene. In at least one case, I created a duplicate NPC entirely to solve and issue with states. Through the narrative dialogue, prop placements, and animations, the player learns how different NPCs view the protagonist, the wrongs he has committed, and potential evidences for showing him grace. The decision on what to do with the protagonist, once confronted face to face in the later half of the level, is entirely the player's. Depending on the player's choice, the other NPCs will behave differently, the scenery will have altered slightly. and while the quest can be completed either way, the outcome in the narrative does change.
When organizing my quest, I first developed an intricate Miro diagram with all of the stages and objectives I would need, along with scene triggers, and other elements of quest creation. I constructed my quest stages in the editor in tens to leave room between each stage in case things needed to be added later. I kept my objective and scene indexes correlated to the quest stage index by using the same numbering system. Many objectives and stages were triggered in the dialogue scenes, however, some were triggered based on the player entering a trigger volume, collecting an item, or defeating an enemy. Often, I would make use of the papyrus script fragments in the stage or scene windows.
For more complex situations, and for debugging, I would create properties in the editor and utilize Sublime Text to create papyrus scripts from scratch. I referenced wiki documentation or YouTube videos to figure out how to work with papyrus scripts. Often, I would use these types of scripts to move an NPC, open a door, engage enemies in combat, spawn an NPC, or set stages. I also used Sublime Text to debug quest issues.
Before I dove into Creation Kit, I created a level design document for the quest. The image to the right depicts an early iteration of an overview map from that document. The document also included art reference contact sheets, information about the game, asset management procedures and milestone deadlines. Once I started making the level, I had peers playtest my level and I took feedback notes in EOTA style. I then took that raw feedback and turned it into a prioritized action plan to tackle the root issues by matter of visibility and time sensitivity. At the end of the day, a true professional knows when to cut project elements or projects entirely, and not get too attached. This WIP is one of those projects. I plan to work on another Creation Kit quest again in late 2021/early 2022 -- maybe sooner -- in order to produce a fully playable game experience in this engine.