Level Design - Terrain Features for Prototype Designs

Level Design - Terrain Features for Prototype Designs

For the prototype level, a key goal was to test various terrain feature types against existing enemy AI behaviors to see if they were suitable for interesting combat scenarios. To do this, a number of common terrain features were developed and specifically adapted to work with the Unity NavMesh system-based path-finding, and for NavMesh system-based simple navigation.

Unity NavMesh System Considerations

Unity’s NavMesh system is a powerful A* (a star) path-finding based system that uses a simplified generated mesh in place of the basic grid style system of the original. The generation of the simplified mesh will used the “tris” of the mesh as the cells and use these cell edges to determine adjacency.

Because NavMesh Agents can only travel along the NavMesh, adapting terrain features primary entails two key considerations:

  1. When creating paths with discontiguous boundaries, it is helpful to ensure that the generated mesh doesn’t result in unintentional traversable and non-traversable areas. For example, at the foot of a ramp, it is possible that the base of the ramp is unintentionally constricted if non-traversable islands form around the base of the ramp.

  2. When creating large open areas, some seemingly flat terrain will generate a high density mesh cluster where larger planes intersect and can be optimized down into proportionally larger triangles. Smoothing these intersections, or placing some deliberate feature in these dead spots can prevent issues where visibly open terrain might behave as if it were impassable.

Additionally, the newer Navigation System’s implementation has a number of still-experimental features, including creating obstructions and zones more easily with Modifier Volumes and Obstruction components. Knowing that edges of NavMeshes are often more jagged than a player might believe, building terrain for the NavMesh System requires that the level designer recognize these hazardous boundaries and guide players accordingly.

Design Goals

  • Tutorialization - The game contains different types of environmental assets including:

  1. Decorations - Objects with no impact to locomotion (e.g. grass, debris, etc.)

  2. Hazards - Objects that will slow the avatar’s speed when traveling through them and limit player view by blocking their flashlight (e.g. tall grass, bushes, etc.)

  3. Obstructions - Objects that can prevent movement through them (e.g. trees, large rocks, buildings)

  • Testing - Include the following terrain features to assess for future use:

    • Bottlenecked ramps

    • Narrow corridors

    • Wide corridors

    • Flat open terrain with few hazards

    • Flat open terrain with with many hazards

    • Flat open terrain with spotted (uniformly distributed) hazards

    • Flat open terrain with clustered (spaced groups) of hazards

    • Flat terrain with sparse obstructions

    • Flat terrain with clustered obstructions

    • Navigable terrain that terminates at telegraphed dead ends

    • Navigable terrain that terminates at blind dead ends

    • Navigable terrain that terminates at cliff edges

    • Navigable terrain that terminates at beaches that become increasingly hazardous (i.e. beaches)

    • Areas with objects of interest that are externally illuminated vs not externally illuminated

Tutorialization Implementation

The various types of environmental assets were laid out around the starting area in a deliberate way to expose players to the different types before they would have to engage in combat.

The starting area had various illuminated interactable objects that would guide the player through all three different types of environmental asset.

The players start on top of the most common type of decorator - short grass. The short grass, like the paved walkable areas, allow the player’s avatars to move at full speed.

While exiting the area and approaching one of the two available flashlights on the ground, players will move through one of two different types of hazards - the tall grass and the shrubs. Both of these will make a noticeable impact to the avatar’s movement speed, with the shrub making the larger impact and being accompanied by a sound effect while moving through it.

Also in the path of the players are a number of obstructions that they would naturally attempt to maneuver around like trees, vending machines, and guard shacks, but in case they choose to test it, they will see that they will be unable to move through them.

Internal Testing Insights

  1. Ramps bases need flaring -> non-pathfinding enemies will frequently hang on the way up ramps because ramp bases create local minima that adjustments in steering cannot overcome.

  2. Ramp tops should terminate at funneling regions -> similar to the reason above, ramps were placed such that the top of the ramp accessed areas of elevated terrain that formed natural funnels so that enemies would be less likely to get trapped.

  3. Various style of buffering around cliff edges were attempted. The first draft being tested is the use of dense hazards that form an increasingly dense gradient as it nears the cliff edge.

  4. Using only ground textures, environmental decorations (flora), hazards, and obstructions, the level is not very “chunkable”. How this will be assessed and addressed moving forward is described below.

Level Design - Starting Area for Prototype

Level Design - Starting Area for Prototype