Reaching Terminus - Dev Log
Week 12+ (May 29th - June 7th)
Committing to Back Entry:
After some quick playtesting, it became obvious that having players enter and exit the mech from the front would need a lot of extra work to make viable, as the player would clip through walls if the mech's front we're right against them when disembarking, and adding colliders to stop this made turning against walls sluggish and clunky.
So now I'm committed to making the back of the mech the entry point, as it has been in testing up until now.This comes in the form of a hatch at the back of the mech, and cutting the ladder in half. So now players can't get to the top of the mech, but will stil need to put out fires that spawn from there.
Making A Demo:
Now that we're at the end of the semester, I need to show off the work I've done up until now to my lecturer to get their input on my progress.
​
Since I havent got any level chunks to properly show off yet, I aim to have a demo version of the games start, along with a couple level chunks to show off the level generation to portary the general idea of what Reaching Terminus has to offer.
​
This is the current version of The Hanger, where players will start the game, learn about the mechs fueling mechanics and the wrist mounted monitor, before heading out into the world.
Finalising Wrist Monitor System:
As I was preparing the Demo, I realised I still had an unresolved issue with my pilot's wrist mounted monitor, where the bars inside and outside the mech wouldn't adjust to the right values until the player eithe activated the coolant switch or started to pilot the mech.
​
After a quick investigation, it turns out I hadn't setup the sliders in the right parts of the editor, and I still had the code setting the intial healthbar to max on start, even though I want the mech to be kind of empty when players first get their hands on it. So by changing the healthbar slider to be set to the currenthealth, I could set my desried values much easier.
​
I also finally added both bars to the pilots monitor, so now aside from improvemnts to the visuals, this part of the game is mostly complete.
Hanger Bay:
For the games beginning, I want a semi cinematic start, with the player prepping the mech for use before heading out into the world. So players start out in a room with two buttons, one loads the cargo onto the mech, and the other opens the doors of the hanger.
​
This was achieved through the use of an animation controller for the hanger, and tying animations to the buttons. I also used a couple scripts to turn the meshes of the cargo containers on the mech and the moving rack on and off in time with the animations with some coroutines to help sell the moment. Applying this same logic to the kinematics of the mechs rigidbody allowed for the dropping part of the intro as well.
​
Once players can move, they can attempt to enter the mech, but will find it almost dry on fuel and coolant. By using the resources behind them, they can get the mech close to full, before embarking and moving out.
Demo Level Chunks:
The first chunk I designed to test out the slope handling of the mech, which I have improved since I last tried, by slightly increasing the movement speed, players still take a moment on slopes, but are not nearly as sluggish as before. This chunk still slows players, and has them search between the 'trees' for fuel. But I feel I could add more here before I finalise the prototype.
​
The second level chunk is based on my first Game Jam submission, where instead of players drowning in a deep lake, they get melted in acid/posion. Small platforms give players respite, but they need to be wary of whether they need coolant or fuel more badly as they approach the waters, otherwise they could get themselves tuck on a single island.
​
I also wanted to show off the early vision of the level gernation, so each run of the protoype is a little different, but each run becomes quicker as the tricks to each chunk are learnt by the player. I may need to look into mixing up the resource position each run to keep players on their toes.
Adding Mech Cannon:
I decided on what I wanted to add to my first level chunk, which is destructable walls that only the mech can handle, giving The Mule a bigger role than just getting lugged around by the player.
I added this feature through a simple gun script similar to the fire extinushger, but the fire rate is greatly reduced, to be similar to a tank. The walls are simply objects with healthbars, and after the raycast hits from the mech, they are destroyed. In future I'd try and add more visual feedback to the walls and the mech gun, but for the demo a muzzle flash and quick animation will suffice.
Now the mech can destroy walls, players need to keep an eye on fuel even more so than before, as they may miss out on keeping The Mule fueled if they can't get past certain walls fast enough.
Playtesting Demo:
At this point, I'm happy with the content of the demo. However, I knew that not eveerything in the editor is the same as it is in the final build of the game, so I spent the next hour after finishing up the demo, building it out over and over to check all its parts would work properly. Sure enough there we're some issues I fixed, and some features I know I definetly need to add in future versions of the game.
​
Additionally, I added a quick explanation of the game at the start, along with the control scheme on the roof to help out if my game doesnt feel overly intuitive to play at first (something I may need to focus on in future).
​
The main issue was that the end of the demo is meant to lead to the win screen, but for some reason grabbing the scenemamanger through a unity event wasn't working on my button, but it would work on a dedicated key press of of esc. So I kept that feature on the esc key aswell in case the demo functioned even stranger on different hardware, and there was a need for easy level reloads or quits. It seems to work from what I can tell, but issues may arise with many repeated runs of the game.
​
Also, the mouse sensitivity in the build is far higher than it was in the editor, so for now I've lowered the sensitivity in the editor, and now its perfect in the build. This is a temporray fix however, and I plan to add in mouse sensitivity options later down the development pipiline.