top of page

About The Level

  • A new town in Western Skyrim

  • Six quests to explore and discover

  • Help the unique citizens of Lorimar with their problems

  • See how the AI react and change as you complete quests

Project Goals

  • Create a town that felt alive through AI movement and reactions to player progress

  • Learn about controlling AI in different, conditional states

  • Promote exploration with the quest design

Project Info

  • Project Duration: 2 Months

  • Team Size: 1 Developer

  • Game: Elder Scrolls V: Skyrim

  • Tools Used: Creation Kit, Sublime (Papyrus), Photoshop

Planning Out A Town

Choosing A Location

The first step was to find a place to build Lorimar. I wanted to integrate it into Skyrim instead of making my own area for it so I needed a large enough, empty space to use as a starting ground. 

I started off by adding in some reference buildings around the space to get a sense of scale while planning my build. Then I got a good top down view of the area so that I could draw on it and use it as a basis for my layout. 

It was important to have different size buildings in there for later on so that I could duplicate their sizes around to figure out how many buildings could fit into the city. 

First Step: Find a location and build scale references
Creating A Flow

The next step was to start thinking about how the people of this town would move around it. To start thinking about it I drew out where the roads and major pathways through the city could be. 

I used the existing terrain to figure where paths might be as well as areas through the existing terrain that would need to be edited in order to achieve my desired flow. 

I thought about how people would want to move around the city including how people naturally move around a space. They want to always find the shortest path so they are likely to create paths like down a cliff if there isn't any short path to a desired area. 

Sectioning Off The City

Cities are always separated off into sections or neighborhoods. Similar styled buildings are placed in the same area of the city to create a different visual theme from other parts of the building. For example the upper class section has larger buildings with more stonework and decoration while the lower class area has smaller, wooden structures. 

Separating the city out this way gives players a different visual theme to orient themselves with in the city. Seeing small shacks or a shop tells the player which section of the city they are currently in. 

I separated the areas into economic classes, a market area and the government section. The landscape height also reflects the people who live there, the upper class is on a cliff over the rest of the city while also being distinctly separated from the other people. The middle class and lower class are adjacent, but the middle class is on a hill above the lower class. 

The final step of planning was to figure out how many buildings could be in each section, so I created a template size for small, medium and large buildings and placed them to get a sense of how many buildings to plan for and what types of buildings they could be. 

Second Step: Create the roads and the flow of the city
Third Step: Create districts to figure out who lives where. 
Fourth Step: Use templates to lay out city buildings
Final Layout
Fifth Step: Place final buildings in the world and make iterative passes on the area to improve quests and ease of navigation. 
Planning the Interiors
Example interior spaces used as a reference when building out all the needed buildings. 

I had planned out building thirteen different buildings which all required interior spaces. I used a few techniques to speed up the planning of these interiors:

  • Grouped the building types: I had a few different types of buildings like a low class house, or a shop and planned a starting layout for all of those buildings. This allowed me to get a base for all of the buildings of a certain type while leaving room to change them slightly to keep them unique. 

  • Using example layouts: To continue keeping the layouts adaptable, I blocked off areas with example sizes of clutter objects and furniture to start getting an idea about how many objects could be placed in there and ensure that the buildings are the right size.

  • Plan out special buildings: Not every building can be grouped. Some buildings must remain special and unique for quests and to keep the town from feeling too cookie-cutter. Example buildings are the town tavern and the Jarl's palace which should feel special and are key places where a player would visit. Some of the smaller buildings might not be visited and don't need the same detail. 

Level Walkthrough

Making The Town Feel Alive

A major challenge to making sure that the town felt alive and like a real town was to add in NPCs. This includes citizens and guards, all with unique schedules and paths to travel along. Using Creation Kit's built-in AI package system I was able to quickly make schedules for all 28 citizens and all 18 guards. 

  • Template packages: I was able to reuse many packages to save time. For example, a package that told them to go to sleep near their starting location at night. I was able to put this on most NPCs and start them near their bed to quickly set up a large number of NPCs at night. Other packages, like guard patrol routes, could have their timings edited and be reused on most guards. 

  • Using conditional packages: The citizens needed to react to the player's actions to truly feel alive. I used conditional packages to achieve this. Some AI packages only activated after certain quests were completed giving the NPCs new behaviors and schedules as the player progressed through the town's quests. 

A template package for sleeping. Uses near editor location to make it easily usable by everyone. 
An actor with multiple prioritized packages creates a lot of different activities for them to choose from. This allows me to vary the behaviors of an actor. 
Using conditional statements to have a package that doesn't run until a quest is completed.
bottom of page