Level creation tips

From DF21 Wiki

When designing a level it can be a challenge to get it finished. There’s always a new area to work on or details that can be improved in earlier sections. The following advice is intended to help bring focus to your level design, and to provide some tips to more quickly bring detail to your level.

General

Aim to finish what you are working on at all times - including geometry, scripting, texture alignment, necessary custom assets - before moving on to something new. Too much work-in-progress leads to the more tedious work being postponed, which tends to be postponed further by creating yet another new area and even more work towards the end.

Focus on getting the smallest possible thing done, before moving onto the next thing. This helps you to consistently move forwards towards a release.

Do get feedback early on and regularly. This helps you to address issues early on, again limiting the amount of fixing or redesign needed at the end of your project.

Layout and flow

When designing or creating parts of your level, consider whether you are creating an enclosed arena, open hub area, or connector.

  • Arena. Typically enclosed area, with limited entries/exits, for more scripted combat, puzzles or platforming. Examples: the boss fight in Robotics, the vault in Imperial city.
  • Open hub. Multiple entries/exits, with few constraints on player movement; may link multiple arenas/hubs together. Reward player exploration. Examples: the ground floor of Secret Base, the unlit area in Talay, the exterior of Fest.
  • Connectors. Get from A to B in a linear manner - from arena to arena, hub to arena, hub to hub. Corridors, larger elevators, trams all help bridge differences on the X, Y, Z planes.

Clarity of purpose for each area helps to focus on what is (minimally) necessary and whether there are constraints, and helps to manage complexity. For example: whether entries/exits should be tightly controlled in an arena, whether the player is more free to explore a hub, and which direction the player should be guided in by connecting corridors. This also creates clarity for the player.

I recommend taking a look at a well-designed custom level without too much custom scripting - such as Dark Tide I, Star's End or Harkov - through this lens and considering how areas flow from one to the next.

This approach also makes it easier to create specific areas independently of each other and to focus on getting them set up perfectly. This helps to limit work-in-progress, and consider the flow of your level in terms of scripting and enemy placement.

Typically, I would first either a) create distinct arenas, then work out how to best connect them, or b) design an open hub, then create arenas to be accessed in a particular order. This helps to ensure set-pieces (INF or more complex geometry) are feasible and working early on, instead of running into complexities at a late stage. Sometimes, whole areas turn out to be unnecessary or detrimental to flow, and can potentially be split off to a different level if they are otherwise worthwhile.

Geometry tips

The following tips can help you quickly add detail to parts of your level.

  1. Height differences, connected by stairs or smaller elevators, give a greater sense of place. Consider the vertical plane of your level. This also helps to foster creativity - how do I get the player from A to B within the constraints of this area?
  2. Create specific locations facing S-N or E-W, and when done rotate them. This can help make a level feel less blocky, by setting rooms or buildings at an angle to each other.
  3. Create a geometry template, then copy/paste to mass-reproduce. This is useful for more detailed recurring corridors, room subsections that repeat (for example, pillars and corners), etc.
  4. Edit wall length directly to easily set up aligned angled walls, such as the exact length required for a door. If the direction isn’t what you need: extrude the wall, set the opposite wall length, then delete extra sector. This makes circular staircases or angled alcoves quick and easy, for example.
  5. Vary sector lights or wall lights to create a sense of depth or to accentuate details. For example by varying a ledge’s wall light to match the shading of the next raised sector over, by setting one wall in a 90 degrees angle slightly darker, or setting up sectors to simulate shadows cast by a prominent light source.
  6. Signs are great for adding detailing. Such as piping or lights running along the top of a wall, or a different texture entirely at a second altitude.
  7. Offset textures at 0.125 increments to align per pixel. It pays to look carefully at how a given texture is designed, and where you want its corners to be.