About the game and its development conditions
Kari started out as a resource management concept which later took the form of an exploration/adventure experience set in a world where the titular character must gather and craft items while avoiding hazards in order to escape an island governed by gods inspired by norse mythology.
As a school project at BUas, the project took place in four development blocks of 2 months each, with the following structure:
Concepting. Envisioning a project and finding proof to support its successful development given the parameters set by us and stakeholders.
Pre-Production. Designing and building tools, game systems and assets to make ready for:
Production. Realizing plans of previous blocks by building the actual content of the game in Unreal Engine 4.
Release. Continue and finish work from the production stage before releasing the game on Steam, and provide additional post-release support.
My role and contributions
Level Design
My main role during development was that of level designer. I was also part of designing the core concept of the game along with the rest of the team. During development I was foremost responsible for the Forest and Mountain levels of the game, but contributed to every level at one point or another.
Early responsibilities during the concepting stage consisted of exploring level metrics and scope for the final project. My process for this included researching similar games, prototyping environments, and working closely with other discplines (tech design for player movement, artists for scope and level structure needs).
Pre-production and production stages included blocking out levels, set dressing, gameplay implementation, level design iterations, player progression iterations (more information on these topics below).
During the final release and post-release stages my main tasks were level-related bug fixing and blocking volume iterations, in addition to further player progression adjustments.
Technical Design
During pre-production, I was in addition to level design tasked with (re)designing hazard concepts and creating prototypes for some of them in collaboration with the technical designers on the team. During this process I was able to grow my skills at blueprinting in Unreal Engine and had the opportunity to work with artists in a, for me, new capacity when realizing these prototypes in-engine.
Whiteboxing
In the pre-production I started on a blockout of a vertical slice which would later become the first of three explorable main levels. I based this initial blockout (Image 1) on my level sketches that had been greenlit by leads. For the entire blockout phase I used UE4 BSPs and a few placeholder assets like the trees.
Based on feedback, I attached areas to the core level as modules (Image 2), which I tried out in different constellations before settling on (Image 3).
Upon finalizing the blockouts, an outsource team applied a houdini terrain tool to it (Image 4) in order to create a more natual environment based on the shapes present in the blockout levels. After evaluation the original blockout was iterated on and the houdini process repeated until a satisfactory initial version of the level was produced. This was then converted into a UE4 landscape object and ready for level design/set dressing iterations.
Set Dressing
Development at times had dependency issues where level design was slightly ahead of gameplay and art asset creation. During these bottlenecks level designers were tasked with doing initial set dressing for all levels except the final one.
My first attemps at set dressing were of acceptable standard to artists in the team, with the understanding that all set dressing was subject to change upon more asset creation and artists having time to do further passes. I improved noticeably after receiving suggestions on how to cluster objects in a more natural manner. Results of set dressing the Forest level can be seen in (Image 5) (assets courtesy of Team Unmanageable’s artists).
Late in the development phase, just before release, the second level (Mountain) was behind in terms of set dressing, again letting me improve this skill by implementing initial set dressing to take pressure off artists. The results of my set dressing in the Mountain level can be seen in (Image 6).
Level & Gameplay Implementation
Gameplay asset implementation coupled with iterations to the terrain and player progression in the three explorable levels were the main responsibilities of the production phase.
Gameplay assets were supplied to level designers by the tech designers based on feature requests, and required varied implementation processess:
Gates: A feature of Kari is gathering resources to unlock gates in the levels. Gates usually consisted of a “locked” and “unlocked” state. These states were built with meshes and other in-scene assets and hooked up to a gate blueprint, making for varied use of the same basic functions. In the end art was the only bottleneck for how many different gates we could implement. Examples of a gate in its locked and unlocked states can be seen in the clip on the right.
Resources: For this we had a few different types of resource spawners. Some static nodes, and some with manually placed spawners pulling randomized spawn times from a table of different resoruces. All resources were mapped out and placed in accordance with how the player was meant/able to progress through the level. This had been planned out in earlier stages by us designers and outlined on an overview map created by me (Image 7). Both resources and gates received numerous iterations throughout the production phase, both due to playtesting and set dressing affecting how the player moves about the levels.
Hazards: Hazards included damaging fields, mine type objects, and laser beams to avoid. These were also mapped out at earlier stages but went through major changes during implementation. Hazard functionality and metrics received the least iterations based on playtests out of all gameplay assets, and the only major changes made to them were to their location or quantity in certain areas. Examples of hazards can be seen in (Images 8 & 9).
In addition to the gameplay, levels saw large-scale iterations in the production and just before release as well. Part of this was due to playtesting and scope reduction, but in several cases levels received redesigns to mesh better with set dressing and art requirements.
For example, set dressing for the final level of the game (Battlefield) was only nearing completion very close to our planned release date. The set dressing did not fit with the gameplay which had been implemented in its absence. This situation saw me jump in and redesign a gate, a hazard and a few resource locations and their areas to have the gameplay match and work with the new set dressing (Image 10).
On another occasion set dressing updates caused a new path to open up for players, which resulted in a possible softlock due to resourcces becoming unavailable if the player proceeded in a very specific order. I solved this by adjusting resources and adding blocking volumes which prevented the player from getting themselves stuck.
Speaking of blocking volumes, that was another immense task of mine from mid-project and onward. Prior to this project I had not realized the importance and effect these have on the player experience. Proper blocking volumes can be the difference between a game having what feels like great and what feels like janky movement.
Throughout development I implemented about 90% of all blocking volumes in the game and kept them updated after major set dressing and level design changes. I’m of the belief that proper usage of blocking volumes is key in delivering a robust product, which was a thought I had barely considered before this project. Blocking volumes also turned out to be a great tool for quickly fixing varied types of issues discovered during the game’s beta and early access on Steam. Examples of my blocking volumes can be seen in (Image 11).
Tools and skills used
Tool: Unreal Engine 4
Tool: JIRA
Tool: draw.io
Tool: Microsoft Office (Excel, Word)
Tool: Google Drive (Drive, Google Docs, Sheets, Slides,
Tool: Mantis Bug Tracker
Skill: Whiteboxing
Skill: Set Dressing
Skill: Prototyping
Skill: Research