Reaching Terminus - Dev Log
Week 23 (Oct 7th - Oct 13th)
Building Terminus:
​Now that the final submission for the project is only a few weeks out, I finally added in the ending to the game, by creating the assets and scripting Terminus.
​
Up until this point I wasn't entirely sure what Terminus would actually be, or what player's would do there once they arrived to end the game. After chatting with some classmates about it, I decided to turn Terminus into a rocket launch site, and the player need's to load the mech's cargo onto a rocket, and launch it
off-world to complete their mission and win.
​
So I created assets for the base that are a similar style to that of the starting Hanger and Dividium, with a control room that players enter to load their cargo and fire the rocket.
​
The scripting for Terminus has player's walk the mech up to the rocket, where a pressureplate will force the pilot to disembark, and after the player is set active, the mech will be set inactive and swapped out for a model stand in. This way if player's have made it all the way to the end of the game, but are just about to run out of resources, they can still win without having to find extra coolant or fuel, or worry about fires. Then up in the control room one button plays an animation of the mech's cargo being transferred to the rocket, and the second unclamps the rocket from the base, and swaps the player's camera for a stationary camera that shakes as it looks at the rocket firing off, before the victory panel and music are activated. From here player's can either play the game again or quit the application. I also mixed together a bunch of sound effects I had to create matching audio clips for each animation sequence.​​​​​​​​​​​​​​​​​​
Mech Alterations:
After getting many comments on it in previous playtests, I finally moved the coolant switch for the mech to be used while embarked in the mech. So now there is a button next to the mech's coolant meter, which can be switched on and off using the C key to toggle the flow of coolant. The fact that coolant is running is indicated by the color of the button. This way player's are far more likely to remember to stop running their coolant before exiting, which now prevents coolant consumption rates feeling unbalanced compared to fuel, due to animation time for embarking wasting coolant previously.
​
I added a toggleable ability panel for the mech, so if player's get stuck during gameplay they can press Tab as the mech to be shown all their available tools/abilities, in case they forget how and when to use them. The Line Launcher is added to the page once it is found as well.
Playtesting 4:
​Now that I had accentually finished the game, I did a number of playtests throughout the week to get peoples feedback, and find game-breaking bugs, or soft lock scenarios to fix.
This first playtest took place in class with a classmate, and I made a couple of fixes based on their one run of the game:
​The Down Low LC did not seem to have enough resources, so I added an extra load at the top of a spire that's accessible via the mech or the pilot just incase player's needed resources asap after entering the LC.
I also increased the speed of the damage in the self destruct collider, as it did feel a tad slow.
They also tried the game before I had moved the coolant switch inside the mech, and their were also in favor of making this change as the coolant always seemed to run out long before the fuel ever would.
They mentioned that the Dark Tunnels side path at the start of the LC felt too long as the run back was already lengthy, so I cut a section out of the tunnels model and made it shorter.
And finally, there was a bug where the Line Launcher tutorial would popup sometimes when the mech would reach the destination of a Hook Point. This turned out to be because the prefab for the Hook Point had an object with the Line Launcher pickup tag, which trigger the tutorial to appear. I removed this object and now it doesn't pop up aside from the one pickup on the Dividium LC.​​​​​​​​​​​​​​​​​​
Playtesting 5:
The day after the last playtest and implementing all the feedback I had received, I sent my new game build out to some friends, some game designers and some average game players, to play my game, try to break it, and give me feedback. A couple of them streamed the game on discord as they played, so I could understand their thought process for their feedback as they played, which was very helpful when it came to perceiving the thought process of someone who has never played my game before.
​
Here are the new problems and fixes:
​
One player felt it would be good to add a popup for pickups, so player's could understand their interaction range a bit better. So I copied the raycast for picking up objects, but instead a UI element comes up to let players know they can pickup up said object.
​
The fact there's two batteries on the DT LC could lead to player's wasting time by trying to get both batteries to the end of the LC, so I blocked on of them off with glass.
​
A major change made from this playtest was for the coolant button, which now acts as ignition button to start the consumption of both resources. This means player's can sit in the mech and survey their surroundings while conserving resources, rather than any moment spent in the mech being a potential waste of fuel. This lets newer player's have a better chance of planning their route, and not feeling like they always have to be outside the mech if they aren't moving. This change makes the game more welcoming to newer players, while still retaining some of the tension of draining resources in an acceptable fashion.
​
Following this trend of helping player's plan their route, a suggested feature was some form of zoom or binoculars to look ahead, so player's can find the resource type they are low on rather than more of what they are full of. I really liked this idea, and added it in. Pilots can now toggle their camera's field of view to make objects appear closer, with UI frame and zoom sound effects to add some game feel.
​
Another comment was on the game's skybox, which I had been planning to change but hadn't found the time to focus on it until now. I downloaded a free skybox pack from Avinox here for a nice cloudy-blue sky.
​
​There was a bug where if the player turned off the mech's ignition switch as they we're moving, the mech leg animation and moving sound wouldn't stop. To prevent this, I added a line to the mech's movement script update function where a bool that's toggled by the mech's fuel consumption dictates whether the mech's legs animate or the footstep sound is played.
​
​One player also found a sequence break on Dividum, where they could jump over the hand that blocks the way to the other side before getting the Line Launcher. So I blocked that whole corner off with assets angled in a way where player's couldn't parkour over them.​
​
​Added in a popup for pilot's when they walk into Line Launcher pickup on Dividium, to tell them they need the mech to progress here.
​
When one of play testers finally did beat the game, I realized that the timer logic in the Game Manager script was not working properly, as it had not saved the best time of the player when they finished. So I went back and made sure the win function pulled the right functions in the timer to record and display the player's times.​
​
The final major issue from this playtest was that sometimes the interior fires of the mech would not reappear when a new fire was spawned from the mech, after a previous one had been destroyed.
I thought I already had logic for this to work properly, but it was under the condition that the mech had zero coolant. The issue occurs when the player has coolant, but another is active, or if the player has no coolant, but there is still a fire when the coolant is not active. So I added in extra lines that check for all these conditions, and appropriately set the interior fire effects active for each if statement.
Playtesting 6:
After making my last set of changes to the game, I did one final playtest with the same friends to find any last game breaking bugs.
​
​Players got stuck on the battery holders on DT, so I added a box collider to stop them from getting into the corner.
​
If players looked up when in the vents on Dividium, they could look through it's mesh into open space. So I made the vents just tall enough to stop this.
​
The cave system itself of DT was slightly out of line with the tunnel gates, since I had swapped the model out it wasn't quite perfect. (moved it).
A major bug popped up during a players time in the crane. When parented to the crane during it's animations, if players crouched and or jumped, they would get sent to the top of the crane, then they would fall beneath the map when they next crouched. So I prevented the use of crouching and jumping during this part of the crane coroutine through a couple bools.
​
One player managed to get out of the map at the start, using the roof of the DT LC to get on top of the mech, then from the mech roof to the top of DT, to the wall's lining the level. So I added a invisible barrier to prevent this.
​
I moved the pressure plate on the first
Down Low elevator further forward, as the back of the mech was clipping on the platform bridging the elevator to the start of the LC.
​
Another major issue was that players could disembark the mech the moment it unhooked from a Hook Point when zipping if they reached it's position before the mech returned to the ground, which set the mech's rigidbdy to kinematic, trapping the mech in the air, preventing players from reentering. So I stopped players from being able to disembark while airborne, which stops any possible issues where the mech's rigidbody may trap itself in the air.
​
The final issue found was players could crouch or jump while dead. using the same logic from the crane issue earlier, this is now fixed.
​
One last addition made was a warning sign about the sinking capabilities of the tar on the Tar Tunnel LC.
Almost Done:
The final addition for the week was an update to the games main menu. I changed the visuals from the mech in scene to the monitor pause image. I felt this suited the game's tone better, and along with it I made a simple menu song using Google Song Maker once again.
​
I would say that outside of some small changes and additions I'll be making next week, the game is complete. Next week will make the end of the game's production, and will hold my reflection of the development journey.