Reaching Terminus - Dev Log
Week 16 (Aug 5th - Aug 11th)
AUT Playtest:
This weekin class we had a proper playtesting session, which was another great chance to get people to try out my game. Once again I got lots of feedback, and made some observations that I needed to act on.
​
Some of these issues like the sticky colliders I thought I fixed after the last playtesting session with AGM, but people still had trouble with them.
​
While up until this point I have not fixed every issue and point players pointed out, I got most of them sorted, and will come back to others at a later point.​​​​​
Quick Playtest Fixes:
-
​URP broke the player health visuals because the post proccessing package isn't compatiable with URP since it has it's own version of PP, so converted the Vingette to the URP version and it works again.​
​
-
Made the red button in the hanger turn off when its been pressed to match the blue button to add some feedback, as players would continue to stare at the button when they didn't see anything change.
​
-
Changed pickups to collide with walls when picked up, but doesnt collide with player to avoid physics cheats that we're discovered by one player, which let them fly over the entire map to the end (didn't record before fixing).
​
-
Stopped player jumping when in acid by using a bool in the player movement script when it's collider enter's acid. Otherwise player's could spam or hold the jump to reset their health regen infinetly, cheesing the lake entirely.​​​​​​​
Reworked Pickup System:
Changed the player pickup script, so now the object being grabbed is parented and set to the location of the pickup transform rather than where the raycast hits the object.
Then I set the object's rotation and position to the pickup transform when it gets picked up, and in the grabbed object script I got rid of the lerped movement and set the object's position and rotation to zero. To avoid the object spinning in place I froze its rigidbody constraints.
Finally, I made the fire extinguisher and player arm be set active depending on if the player was holding an object. However this had an issue when the mech consumed these objects and destroyed them, they weren't being set to null. So I added a function in the collector’s scripts where they would call the dropped item function in the interaction script, returning them to null and resetting the players grab functions.
Reworked Interaction System:
​Changed the interaction system to be based on a raycast from the player camera rather than a bubble/CheckSphere around player.​​
​
Originally, the code for the interaction system used an interface called IInteractable that came with a set number of functions to dictate whether and object could be interacted with. This method worked fine when the interactable was detected with a checksphere in its own function, but with a raycast based shooting from the camera in the Update method the code wouldn't function without errors.
​
I tried a few variations of the original code but with raycatss to try get it to work, but I could never fufill the needs of interface properly, which shows my lack of understanding of the code I borrowed when I first added this feature.
​
So to make it work, I diverted to code I did understand; The Buttons. So now the code for the interaction and the the interact UI is looking for objects with the SimpleButton script, and once it fionds that the interact text will appear, and when E is pressed it will invoke the buttons function. This was viable fix as every interactable in my game currentlya side from the DTLC Key is a button.
However a new issue popped up when I changed the interaction system to this new version, where the player couldnt get in the mech because the raycast wouldn't go through the collider on the mech object capsule. So I added a layermask as a condition in the raycast, so it only looks for interactable objects.