Reaching Terminus - Dev Log
Week 13 (July 15th - July 21st)
Acid Lake Assets:
This week I mainly focused on completing my first Level Chunk, the Acid Lake. I started by creating the asset pack that I'd use to fill out the scene.
The Acid lake's assets include:
- 3 Rock variations
- 2 Rock platform variations
- 1 Sewage style pipe
​
And a Crane with a platform connected via ladder, and a cargo container at the end of it's arm.
​
While I want my models to have low poly counts for perfomance and speed of creation, I still wanted them to match the poly level I established when I was creating the newer Mech model, which I feel these are close enough.​
​​
I also created a custome sprite for the pattern on the crane arm, that I cut out in photoshop to create the illusion of gaps between the arms the metal bars when I import the textures to Unity.​​​
Lake Shader Graph:
After I completed the asset pack, I imported the models to Unity and replaced the greybox placeholders.
Next up was the river, which I wanted to use a shader graph to create an animated surface for the lake. I followed a lava shadergraph tutorial, and implemented my own sprite, by using the the distortion and liquify filters in photoshop on a blank image, which led to a cool effect.
​
Taking this sprite/ material into the graph editor in unity allowed me to warp and animate the sprite to flow, and add some much needed colour.
​
​
​​
Fixing Mech Slope Handling (Properly):
While testing my level afer adding in the assets, it had become very clear that the mech's slope handling was not cutting it, and was a real issue when players tried to exit the level chunk, as they mech was far too slow and could barely push up the ramp. ​
​
To fix this, I started by once again changing my groundcheck, this time to a CheckSphere, which is similar to my current SphereCast, but it has had less trouble dectedting the ground layer.
​
I also diabled the Ladder layers collidsion with the ground layer, as this was causing the mech to get stuck when going down hill on steep ramps.
​
The final required fix was to improve up hill climbing for the mech. I went through the code that handled slopes in the mechs movement script to better understand what the problem was.
​
The slopehandling works by detetcing the movedirection of the player, and if there is a slope infront of them, then the player will use a Vector3 to direct force upwards, so the player isnt trying to put all their force directly foreward against the slope, keeping them in place. I thought that this wasn't happening properly for the mech because of its size, so I resized the mechs collider to see if that could help, and it didnt really do much.
I remebered in a differnt fps project I did over summer, I used physics materials to help players move smoothly against walls by having 0 friction. I tried this with the mech after these other fixes, and it worked perfectly. Now the mech can overcome slopes within its angle limit.​​​
Differentiating Acid and Fire Damage:
When I implemented the new Player Health system, I changed the acid lakes tag to Fire, so the player health would decrease normally instead of an instant death like in the old demo.
But now, this means that the player can take dmaage from the lake whil driving the mech, which isn't what I want, since the mech is the main mode of transport in this chunk especially.
​
So I added a new tag to the Check for Damage script for the acid, which will damage the player's collider when it's in it, but not to the mechs players driving it can be immune.
However, this led to fire no longer damaging players which was odd, because the bools to trigger the health drain we're being turned on, after some alterations to the script I eventually came up with this version, where the player health script checks if player health is above 0 and either the fire or acid related bools in the check for damage script are true, and then it will begin draining, and otherwise the health will regenerate.​​​
Barrier Assets:
​​​​
These models were for the white frame my level is within, and will cover the colliders that act as the barrier for the Level Chunk. I wanted some simplistic rock formations to match the assets already in the level, and I went through a couple variatiosn for each model to find poly count that felt best. The models at the bottom of each photo are the final versions.
​
Texturing was simple, just grey with some weathering/dirt on top to keep it efficent, and not distract players too much from everything else going on in the level.
​
The end result matches up well with the rest of the scene.
Crane Puzzle Setup:
​​​​
The setup for the crane is prettys imilar to the starting sequence in the Hanger, where the player presses a button, and sets off coruotines and animations to lead to an outcome.
​
Here, the player needs to use the container carried by the Crane to form a ramp for the mech to exit the Level Chunk. Pressing the button moves the crane above where it needs to be, but it gets stuck.
​
Here, players need to use the mechs cannon to shoot the second arm to drop the container, then they can leave if they choose. I still need to add a proper visual or audio indicator to explain that they need to do this, but aside from that this scripted event is complete, and outside of some more playtesting so is the Acid Level Chunk.