Assignment 3: final week

    During week 42 we finished the 3rd assignment: a small VR waitering game! The goal is to accumulate as many points by serving people the food of their choice. 



    As I mentioned, the game is simple and doesn't make use of complex game mechanics. The primary functionality of the player is to go into the kitchen to take randomly spawned food and deliver it to the client. If this task is completed, a number of points will be added to the total which can be seen on the wall next to the kitchen. At some point, we wanted to implement an end-game screen if all the places are occupied by customers, but unfortunately, we ran out of time. 

    Regarding VR concepts, this little game makes use of locomotion and object interaction to create gameplay. The locomotion is done by the use of the analog sticks on the VR controllers: the left stick for movement and the right stick for rotating the "body" of the character. This is possible by adding a locomotion system to the XR Origin and selecting which "hand" is for turning and which one is for moving, as you can see in the pictures below.




    The second important part of this game is the object interaction: going next to the randomly generated food and using the right controller to pick it up, hold it using the grip button and then releasing the trigger "over" a customer (or just touch the customer with the food). This feature is possible using an XR Interaction Manager in the scene and the setting up, for each hand, references to all needed actions (position action, rotation action, tracking state action) present in an "XR Controller (Action-based)" component + each hand's animation script. 





Besides these, the game also has other game-development common design choices:

-    using colliders and triggers in order to prompt certain events
  • the customer disappears when it is given the correct order             
  • the score is increased every time the previous point happens             
-    spawners for different objects of the game: customers and foods
  • the game has predefined positions for customers to spawn in. The moment they spawn, a TextMesh also spawns above them facing the player containing the name of a food item. If the player tries to deliver the wrong food, nothing will happen.
  • a new random food item will spawn when the previous food leaves the predefined area. This creates an interesting aspect of the game, as the player is not able to choose what food he will receive, and at the same time, the player can only hold one food at a time
-     added some jazz music to improve the atmosphere (a few hours long) 


Author: Catalin Alexandru


Comments