Week 5

Posted by AR/VR Capstone Team 7 on February 11, 2022

Weekly Updates

  • This week, we finished up our MVP and presented it. We are somewhat behind schedule because we severely underestimated how long merging together our changes to make it work properly in multiplayer would take. Rather than working on adding a new obstacle (climbing), most of us spent a lot of time fixing bugs to get our MVP to a viable state.
  • Shane: Put together game logic and multiplayer for MVP.
  • Sharon: Got player interaction working. Added basic instructions page to the menu. Also worked on fixing bugs with multiplayer. Added start button to quick match menu for player who ends up joining first.
  • Shelly: Merged multiplayer and player interaction together with player movement. Worked on fixing bugs with multiplayer and helped debug.
  • Thompson: Worked on player movement - made a climbing wall along with scripts for the player's hands/movement and their interactions with the wall.

New Features/Functionality

  • Mostly functional MVP multiplayer gamemode.
  • Player Interaction - Players push each other by hovering their controller over another player and holding the grip (grab) button for 3 seconds. There is a slight vibration at the start of the button press, and a stronger vibration after 3 seconds to indicate that you can let go. Do note that if a player releases before the vibration fully finishes it sometimes does not seem to register (could also maybe be lag). When a player is pushed, their camera swaps and they get frozen for a short period of time. To other players, their player model rotates flat on the ground for now, though we might want to replace for an actual animation.
  • Player models now play walking animation when motion is detected.
  • Player Movement - Players can climb a wall by grabbing (using the grip button) onto any of the various knobs on the wall. When this is happening, the running movement script is deactivated to avoid players moving forward due to the movement of their controllers. If the player releases both hands, they will simply fall off of the wall.

Code Review

  • ClimbingMovement.cs - This script implements the movement of the player when climbing the wall.
  • ClimbingInteractable.cs - This script implements the interaction between the player's hands and the wall.
  • ClimbingMovement.apk - This file can be used to test the scripts/features mentioned above.

Blocking Issues

  • When the game starts, the player is sometimes either flung far away from the origin or off the map. Restarting the application or pointing the left controller in the opposite direction is the only way to avoid this so far. This may just only occur in the Climbing Scene in particular and hopefully, it won't happen when the climbing is added to the main scene.
  • Once the player reaches of the top of the wall, it is very difficult for them to actually stand on top of it in order to advance to the next stage. Currently, there is a smaller wall on top of it that players can use to get onto the bigger wall, however, this doesn't always work. A solution we thought of is teleporting the players to the top of the wall once they are able to reach a certain height (i.e. the knobs at the top of the wall).