Level Design - Game Systems and Testing

Since my last update and completing the block out of my level quite a bit has been accomplished..

  • Prototype; movement system, camera system, enemy detection and path finding.

  • Play testing and iteration on the blockout.

  • Analysis of feedback and self-critique of work so far.

  • Scouting assets

  • Level Assembly (In Progress)

This post will focus on some of the mechanics I have designed and coded for this case study in level design.

Movement

The player moves a character around via a camera based movement system controlling in the third person. With the player's singular action being able to explore I wanted to devise a simple method to allow nuanced control. The player can alter the way they move by holding one of two buttons, which toggles the player's movement state. Alternating between three modes, standard, running, and sneaking. Gameplay revolves around situational awareness and toggling the right state for the right situation.

Additionally, a player also has a detection state which is not controlled by player input and instead controlled contextually by the environment. To give an example a player in the sneaking movement state in a bush would be camouflaged. Detection states have different properties that allow simple ways for me to design new challenges and areas.

Camera

The camera is a third person camera controller which orients around the player. Since most of my gameplay revolves around stealth, I felt it essential the player be able to accurately asses their surroundings. It is also worth noting that I use the player's movement state and detection state to alter the camera. The effects placed on the camera will replace a more traditional UI. For instance, when running, I tighten the player's field of view and add some wind lines. Sneaking adds a slight vignette to the screen that darkens when fully camouflaged.

The above effects have two purposes one is to communicate to the player, that their movement is enhanced. The second purpose is I want each effect to convey the feeling you would have if partaking in those two actions. Each one obstructs your view in a different way attempting to simulate the real-life counterpart.

Interactions

In addition to movement, the player can also perform interactions with the environment. In the beginning, this will be limited to specific to reinforce concepts of when and how to use the interactions. Interactions are bright yellow sturdy looking geometry in the current version.

From a tools standpoint, I set up each point to take in a series of objects and a marker for a type of interaction, which allows me to design large or small scale interactions in an intuitive manner.

Thematically this mechanic is being used to alter time, decaying objects, or restoring them. Eventually, this mechanic is uncoupled from the points and given to the player to use freely. It is my hope with excellent level design practice players will feel challenged but always manipulate the environment to their advantage.

Enemy Pathing

I designed a simple node-based pathing system. That can take in a trigger event to alter the path if needed. Additionally, the pathing system can create a new node and insert it into the path in the event of an "Enemy" seeing the player or hearing a noise the player generated. These new nodes can interrupt the path at any point and will also send a message back to the animator to yield appropriate animations.

With all of these mechanics implemented in a rough and unpolished form I moved on to play testing the blockout. I started with testing the level myself numerous times to examine my own feelings about the level. Following this session I compiled my own personal notes and begin allowing others who I trust to give honest feedback on the level. I observed each session and added both their feelings and my own personal observation.

My next task will talk a little about my changes to the block out scouting out assets, and discuss my notes on the level. Thanks for reading.

Level Design - Main Challenge Detailing

 

After Reflecting on my last two posts, I felt the final Challenge area needed to be further detailed. I revised the original slightly to detail the enemy path.

The three enemies all operate on their path that intersects 1 of 2 barricades that along the perimeter. These barricades are currently crumbled allowing the player to progress.

1.) The first goal is to pass the barricade. The left barricade highlighted as the ideal path. The timing of the enemy path is more natural for the player to slip thru. Additionally, there is more cover provided along this path allowing for slower pacing.

2.) To reach their second goal the player needs to move up the small ramp to the top of the platform and activate the ruins. This device represented by the gear will rebuild the barricade. It is important for the player to use their elevation to observe where the enemies are to trap them on the other side. It is worth noting the player can reverse the barricades into a crumbled state allowing them to try again. If the player can trap the enemy closest to their next goal, they will have an easier time proceeding.

3.) Depending on how many enemies are trapped the player will have a level of challenge that scales. They must simple activate the second time ruin to rebuild a bridge leading to the way out.

Alt.) A skilled player may opt for a more direct approach utilizing a small window in the enemy path. If the player moves right and straight for goal 3, they can bypass the second objective. This optional route is essential to give players a sense of choice and make the section more meaningful.

Based on the following revisions I want to re-approach the block-out of this area and make some adjustments to better clarify the multiple routes thru the area.

Level Design - Block out

Block out, the sequel to 2D Layout now with 600% more images! In this entry of the blog we dive into the block out process and I talk about the choices I’ve made along the way.

When blocking out the level my first steps were to build the mountainside so I could carve my level sections into it. I took this approach to make sure the level had a very natural feel to it. From here I used simple geometry to plot out all the major areas and detail areas I would use for narrative purposes.

I also chose to colorize all my block-outs to help convey texture and what should be the focal point of each area.

  • Yellow = interaction area

  • Green = player guidance

  • Red = danger

  • Brown = traversal

Top Down view of the forest

When I started blocking out, I immediately realized I needed to communicate to players early on what areas are safe and help frame their expectations going forward. I created a decayed / burned tree mesh with jagged edges to contrast the round softer edges of the healthy trees. In the first section, even though the path is linear, I placed these decayed trees by the enemy to begin our association. That way later on when areas are more complex the player will be cautious when approaching these objects.

In the above screenshot, it is clear the player’s path is past the enemy. I use the decayed trees as a warning to the player to not move forward. There is no cover and the enemy will immediately spot the player. I frame the new object on the left with our green and soft bushes to guide the player's eye towards that direction. The small ruined altar has an opening and solid look to imply its usability. This event will re-grow the foliage which will reinforce these are safe shapes and provide affordance to the player.

As the player emerges from the cave at the beginning of the game. I try to frame the way forward underneath a massive landmark at the top of the mountain. This landmark establishes the player’s goal early on as it contrasts the rest of the level. Once again I use solid looking geometry to provide a sense of usefulness and stability. The opening will be shown to the player as they try to obtain a better glimpse of the landmark. As the player proceeds up the mountain they will see vistas of the landmark, reaffirming their progression.

All and all I’m pleased with the outcome of the block out. There are several areas I would like to embellish on, adding better lighting to improve and better guide the player's eye. Set up simple breadcrumbs in the more complex areas to provide hints to the players. However my next steps are to program the mechanics and test-play what I currently have.

It’s crucial in the test-play phase for me to gauge its fun factor, but even more important for me to poll colleagues and friends for feedback about the level and see what works as intended or doesn’t work. With that said I plan for several more revisions before I begin to detail out the level.