Reaching Terminus - Dev Log
Week 14 (July 22nd - July 28th)
Mech HUD Update:
This week I diverted my focus from Level Chunks, to working on polishing the games systems and working on some assets for the mech. Starting with the 3D HUD for the mech, which now has a dashboard esc model at the bottom of the screen to hold the mech UI, and an updated version of the window frame to match.
​
I also updated the sprites for the fuel and coolant bars, and altered the mechs moving anims to be less exagerated and floaty.
​​​​
Mech Fire Damage:
Preiviously this mechanic wasn't working, because the fire spawner and the fire itself were children of the mech in the editor, so the mech couldn't detect if it was or wasn't inside of a fire collider.
To fix this, I moved the fire spawner into the Mech Camera Holder, so now the fire spawns as a child of the camera so it will always follow the mech, and now trigger the damage check script on the mech collider.
​​​​
Fire Extinguisher Ammo System:
Next I wanted to balance the fire extinguisher, because currently it feeels too easy to take out fires, and the infinite ammo feels a bit odd.
​
So now the fire extinguisher has an ammo count, which depletes over time as players shoot, and can regen if they havent fully depleted it. If they run out of ammo, they can't shoot until it fully refills.
​​​​
Mech UV Mapping:
After making some slight changes to the mech model for the final time (changed the shape of the fuel ports, made the fire spawner object connected to the main chasis, changed the feet models and added thee cannon onto the right arm), I comitted to the design and UV mapped the mech.
​
​Currently the UV's are seperated onto three maps, one for the torso/mid section of the mech, one for the mechs arms and anothe for its legs. I want to try have both the legs and arms on the same map, but I'll come back to sorting this when I get around to texturing the mech itself.
​
​But currently the spread of the UV's across all the mechs parts are even, so if I can't get everything to fit properly, I'll just cave and stick to 3 maps.
​​​​
Auckland Makes Games Playtest:
On Wednesday the 24th, AUT hosted Auckland Makes Games, which is an association of game devlopers around Auckland. I attented a talk with some other students, and afterwards we we're able to show off our games to the attendess, which was a great chance to see how people interact with my game, and get some much needed feedback. Fixes shown next
​​​​
Mech to Player Fire Damage Fix:
An issue that was popping up during playtests, was when players we're outside the mech and it ran out of coolant and spawned a fire, they would still take damage and die from that fire despite not being anywhere near the mech. This was because the mechs collider was still checking for the fire tag regardless and depleting player health remotely through the scripts.
So to fix this, I added a bool to the mechs check for damage script to check if the player is inside the mech, so when they aren't, the player won't take damage, and is turned to true whenever the player is inside the mech.
A new issue that popped up while implementing this fix was the mech running away from the player after they started running coolant. Turns out this was because there we're multiple if statements that would turn on the mech movement, so I removed it from the the coolant script and kept it on the mech movement script.​​​​
Editing Mech Entry Colliders:
The colliders in the entry bay of the mech we're an issue because players would often get stuck in the gaps between the colliders. So I rearranged the colliders to intersect, to avoid any clipping, and lined them up better with the edges of the model they're meant to represent.
Also changed them all to the ground layer to avoid any chances of the player getting stuck or unable to jump on the planes.
​​​​
Changing Ladders:
Players would often get stuck on the top of ladders where their colliders ended.
​
To fix this, I made the collider for the ladders a trigger so they can walk through them, and extended each ladder so players can walk through their top half when they reach their peaks.
Also added secondary regular colliders behind each ladder so players don't fall through.
​​​​
Mech Body Rotation:
Up until now, the mechs body would rotate on the X axis based on the players movement inputs, which did work but the only issue was when players werent moving forward they could roate thier body to face opposite to the camera, so when they disembarked they wouldn't be where their camera was facing which confused players often, and led to them wasting fuel.
So to keep things consistant, now the mech camera dictates the mech body's rotation, so thier body's location will always be the same relative to the camera.
​​​​
Mech Crosshair Edit:
I found that players struggled to use the mech cannon, because the point the crosshair was on screen was actually a bit above where the raycast from the camera was shooting to, and the size of the crosshair made it seem like players had a larger hit area of effect than they actually did.
So I scaled the crosshair down, and positioned it to the point of impact better. The cannon also instantiates a Particle System at the point of impact if the hit is within the shooting range, then destroys it shortly after to give the cannon some much needed feedback.
​​​​
Pause Menu:
The very first person who tried my game at the event asked me if the current mouse sensitivity was the highest as soon as they started playing, so I knew I needed to add a sensitivity slider that the camera move script must match in value through code.
I connected this to a pause menu, which sets the game's time scale to 0 allowing players to pause their game. Later I'll add some other options like sound and returning to the menu. I also want to apply this menu to the players wrist mounted monitor to keep in line with my established diagetic UI.
​​​​
Mech Embarking Changes:
Players would also struggle with getting in and out of the mech, because there isn't any prompt inside the mech to exit it, let along tell them that it was a different key than getting in.
So I wanted to make it more streamlined to get in and out by sticking to the same key input.​​​
​
I did this by using the same setup as my resource collectors, where the entry bay for the mech is now a big button, which toggles a function with a bool, where if the bool is true they will enter, and else they will exit.
​
​