The Witcher 3: Wild Hunt, developed by CD Projekt Red, was an experience that left a mark and one of the games that I hold most dear, re-creating the level of Oxenfurt is my personal love letter to this game. The making of this project was a real challenge in terms of analyzing the design as well as the production itself, but this endeavor pushed me forward in order to achieve a result of which I’m really proud of, I hope to have done justice to the amazing work done by the CD Projekt Red team!
This is an analysis and adaptation of the city of Oxenfurt from The Witcher 3: Wild Hunt. I will mostly talk about the production process, from analyzing the level in-game in order to establish some metrics of reference, to working inside UE4 and creating a blockout of the level. You can check out this video for the complete overview of the greybox!
Establishing Layout & Metrics
If we take a look at the Oxenfurt level, the first thing that meets the eye it’s the city structure and its complex subdivision of each area inside it. Having acknowledged these factors helped me to better understand on how to proceed with my work, and take a step back. So, before even putting down on paper some sketches of the layout, I decided to spend some more time analyzing the level in-game trying to understand more about its structure and composition. Spending this extra time was extremely useful, not only because it gave me more insight about the topography of the level layout and it’s verticality (Which we’ll talk more about it later), but also it made me appreciate more the key role of composition and the great use of landmarks and points of interest.
- Slowing down Geralt's walk: The standard movement was too fast for taking any measurement, in The Witcher 3 with just the press of a button you can make the character walk slowly, this allowed me to standardize my process: 1 step = 1 meter. This method allowed me to take metrics data for the length and width of; Roads, Building, Stairs and Props.
- Converting time in meters: When re-creating a level from another game, you always have to keep into consideration some margin of error, things will not be exactly as you would find them in the actual game. This is usually seen as something negative since it feels like you won’t have complete control over your work, but I actually think is a great element of strength, because it allows for more flexibility especially when it comes to metrics. And so the second method I used to gain measurements was basically timing the distances between the spaces that I needed and then converting these distances in meters.
These two methods allowed me more flexibility in calculating each space and were the overall foundation of my production process.
Managing Spaces & Verticality
I can easily say that the biggest challenge for this project was managing verticality. In level design, vertical spaces give another layer of depth to your design and really make the difference in creating a compelling space. In the Oxenfurt level though, verticality was everywhere, the entire Island was designed based on this principle, giving a great sense of wonder to the player. For the same reason, analyzing and managing each vertical area was a big challenge, one that I was eager to accomplish.
Composition & Design
I find composition to be one of the greatest strength of this level, leading lines and framing are used to gently guide the player through the level. Additionally, the placement of landmarks perfectly blends in with the environment, they all fit the vertical style of the city making them recognizable even from long distances to perfectly capture the player's attention and give them a point of reference within the environment.
Conclusions
Re-creating Oxenfurt inside UE4 was a fascinating challenge that allowed me to hone my practical skills as well as my analytical thinking as a level designer. This project took me over two months of work aside from my day job, I honestly believe that so much more could have been done looking at how much content there is inside this level, still, I’m very proud of the end result.
I hope you enjoyed the reading! Let me know if you have any feedback, feel free to contact me on Twitter: @tassi_eduardo