The purpose of this project was to dig deeper into scripting and to create scalable and user friendly game systems that would fit a topdown survival genre. Originally the inspiration was taken from Stardew Valley with it's crafting and resource management, but halfway through I decided to take it a step further and dive deeper into character abilities aswell.
Project Length - 10 Weeks (Half-time)
Level Editor - Unreal 4
Quxiel Bridge - For props and textures
Marketplace Assets used:
"Niagara Sci-Fi Starter VFX Pack"
"Crystals" from NadirFX
"ROG Magical Two-Handed Staffs"
"Advanced Locomotion System V4"
Level Design, Blockout to Gold
Basic AI Scripting
Pre - Production
The first thing I tend to do in pre-prod is to gather a huge library of references to set up a moodboard. This helps me to visualize the end product and to act as a source of inspiration throughout the project.
Having recently played Wolcen, I was intrigued by their artstyle and decided to gather as many references from the game as possible that would fit my desired vision. Beneath are the main 5 inspirational images for the level.
To avoid visual fatigue the world was divided into three distinguishable areas.
The HUB, a forward operating base of sort. Here the player had the ability to utilize all building and resource systems.
The Forest, an Exploration area. An area to serve as a means of gathering resources as well as simply explore the world.
The Cave, an Adventure area. A more dangerous area in which the player could venture once certain requierments had been met.
The Crossroads is the first distinguishable area that the player encounters. It serves as a divider between the HUB and the Exploration area.
Would the player travel to the exploration area first, they would find themselves collecting resources but eventually coming up to a destroyed bridge in which they would not be able to cross.
This way the problem (objective) is presented before the solution. The bridge however is also presented from the HUB, meaning that the player would uncover the objective there as well.
The HUB is where the player can utilize all their collected resources by upgrading and crafting better items.
By adding a vantage point in the hub, overlooking the broken bridge I highlighted the importance of the bridge. This way the player was hopefully provided enough intrinsic knowledge to piece together the objective of putting the bridge back together with the help of planks and nails
I wanted the player to learn the basics of crafting and resource management before traveling into the more dangerous adventure area.
The majority of the exploration area is covered by a dense interactive forest. All large Trees as well as Stones are gatherable.
The exploration area essentially acted as a skill gate. In order to access the more dangerous advanture area, the played hard to first learn about the crafting and resource management systems.
Once the player exited the forest they would be met with the bridge, an Item Gate.
This is where the player has to put their crafted planks and iron nails to good use in order to repair the bridge and unlock the passage to the Adventure Area.
I decided to add natural waystones in both the HUB as well as outside the cave for faster travel.
I wanted the player to be able to skip the Exploration area entirely if they so desired once the Advanture area was unlocked.
By utilizing the waystones I elliminated unpleasant backtracking.
In the cave the player would encounter hostile zombie like creatures, and this is where the player abilities would come in handy.
Working with the cave a lot of the focus went into working with verticality while at the same time maintining a flat ground to perform combat on.
Especially important was the ability to foreshadow the end goal, much like it's done in Diablo and Wolcen.
The whole bit of the forest spread out through the experience was fully interactable.
This meant that I had to replace the default Foliage Actors with Blueprints that had it's own functionality.
When developing the gatherable resources I utilized Data Tables to maintain all information about every single resource available in the game.
With the help of wood and simple stones, the player would have the ability to upgrade an old abandoned shed.
The ammount of resources requiered would vary between the different stages of the shed. To keep track of which resource to consume I had to check for the right item ID from the Data Table.
By upgrading the shed completely, new workstations would pop up that would allow for further refinement of the raw resources such as wood, stone and iron ore.
The player carving Wood into Planks
The player smelting Iron Ore into Bars.
Another fun concept I worked on considering it was a survival inspired project was resource growth and consumables.
Originally I made a tomato plant that would be linked together with a designated time cycle in order to grow. I did however change the tomato plant into mushroom spores instead as it felt more logical to the experience.
Once harvested the player could consume the mushroom to regain health.
Attack - Projectile
Considering there would be enemies in the experience I had to design some abilities right?
The first one was a directional plasma projectile. Most topdown ARPGs use atleast one form of projectile based attack as their primary ability.
The functionality behind this one was rather simple as it used Unreals projectile movement component.
Attack - Lightning Strike
To get some Area of Effect into the mix I experimented with a lightning strike ability.
To add some extra juice to the ability I decided to make it physics based and to add force to all actors hit.
This way did it not only feel more powerful but it also synced up much better with the ragdoll system on the AIs.
Attack - Teleport
The logic behind the teleport itself was rather simple. I wanted to move the player a certain amount of units in any desired direction upon usage.
What became a bit tricky with this was the fact that despite the world being mostly flat, in a lot of traversal areas there were several different height layers.
To solve this problem, not only did I make it so the teleport would take place up in the air, but it would also stop if the line trace from the player would collide with any given object or surface.
This way I could now teleport up onto ledges and other surfaces without falling through the world.
Attack - Tornado
The tornado was the last addition but it really made all the other three abilities come together in a nice synergy.
Much like with the lightning strike the tornado utilized physics in order to pull enemies in occasionally.
Pulling the enemies together, calling down a lightning strike and then finnishing all the stragglers off with projectiles felt like a really cohesive rotation where all of the different abilities could supplement one another.
This project was extremely educational as it sort is acted as a stepping stone into the technical world of level design.
I had never previously used Data Tables, and wow, thats some powerful stuff.
I really learned the importance of having scalable systems and working with parent and children in BPs to maintain complexity while at the same time keeping it readable.
This was also one of the projects where I really learned that larger levels is not always a good thing. I spent a lot of the time throughout the project by iterating and cutting away parts of the map as it was just obsolete and served no real purpose, design by reduction.