Morthal - Tooling for Procedural Art
Context
During the second year of the study at Saxion University of Applied Sciences, I got to choose from a list of themes, based on which I would have to create a procedural town.
One of them was Morthal from The Elder Scrolls V: Skyrim, a small snowy village along a river with nordic architecture.
It was worked on next to other study modules, using a combination of free assets (Kenney Fantasy Town Kit) and assets created by an artist from the same study (Marena Palana).
What was done
Different than with most other projects, it was expected from us to get into and look into topics which weren't directly related to our roles in the study (Engineer, Artist, Designer).
Though time-management was difficult, it nonetheless offered plenty of opportunities to get familiar with different aspects concerning procedural generation of environments.
As such, I was able to work on:
-
Editor Tools
- Custom Window for placing specific structures (e.g. houses or decoration)
- Different House Types based on the original with customizable layouts
- Village Creator using Splines (place houses along curved lines)
-
Shaders
- Billboard Shader used for trees (make plane always face camera)
- Customizable Snow Shader
-
Optimization
- Z-Fighting Prevention during procedural structure creation
- Applied Level Of Detail (LODs)
Conclusion
Though time constraints didn't allow for further research into topics such as vertix manipulation through code or model related work, a lot of different and important aspects in procedural environment creation were able to be tested and applied.
Next to analysing the structures before creating tools for procedural generation, I was able to learn how important it is to have optimization running, even for relatively small scale villages. It also offered plenty of opportunities to get more familiar with Unity's Editor Tool Scripting, something which would become very useful in all upcoming projects.
In the end, the project itself turned out to be a success, and something of which I was very proud of. The amount of attention that I was able to pay to smaller details, and the time I spent to make the tools run exactly the way I intended them to, gave me the experience needed, to be a reliable engineer in any project, no matter if in teams or not.
Noteworthy Achievements
Versatility
As with any solo project, many different aspects needed to be tackled. Taking this variation in tasks with curiosity and interest, is what made working on this project even more enjoyable.
Attention to Detail
By analysing and comparing the generations with the originals, I was able to create identical structures. Resources were used to it's best, also considering time constraints.
Recognizable
The chosen theme is recognizable within the project's end result, meaning the most important goal was reached. All effort put into it, culminated into it being that way.
