GD4 Team Project /
Week 19 - Revamp of the Input System

Product

This week:

  • I worked on revamping the entire Input System 
  • I polished and optimised the input system
  • I created a narrated gameplay demonstration

 

Process

Input System Revamp

We've known that there would be issues with the input system for a long time, which are due to the constraints the HoloLens is putting on the game. With only one mode of interacting with components; the tap. It was simply unfeasible and overly complex for the user to move around components and their subcomponents,  and to interact with all the functionality of a component, all with a single tap.

In order to simplify things, the old system was mostly scrapped and a new system was implemented, where when an object is tapped, it's focused on and buttons appear around the object with whichever functionality it has. This involved the integration of HolotoolKit buttons and collections into our code. I implemented functionality where each interactable component would now have a set of UnityEvents (which, when invoked, activate attached functions) and strings (for button text) which it would pass into the buttons. This allows us to dynamically create menus of any component that's selected; giving the systems some modularity.

 

Menus1.PNG.1

 Early version of the new input system

The first idea we had was that when a component was clicked, it would appear in a separate view with the necessary buttons. This solved the issues but didn't take full advantage of the potential of the HoloLens, and also lowered the framerate due to having to render two cameras (which is why in the picture above the second view is low resolution).

 

 

Work in progress of the new Input System

This new way of focusing on components involves making the cabinet disappear and the focused component scaling up. This allows a player to fully focus on a more detailed view of the component, with interactive menus appearing on either side of the said component. The video above also demonstrates how the binary will be set for the ABCs; through a separate menu to the left. Currently, the only issue here is the animations, as three asynchronous functions are run (the cabinet, component, and menus) every tenth of a second. This is somewhat intensive and causes a drop in framerate, but this will be optimised at a later time.

 

Polish & Optimisation

I added a few additional buttons which would allow the player to play and quit the game, these features are important as, for the first time, it allows a player to fully go through all of the features of the game without getting stuck. Optimisation of the game was key as any drop in frames is quite noticable in the HoloLens. I was able to increase the framerate by changing the stereo rendering from multi-pass to single-pass, and then even more so by building the application in Release, which increased the performance significantly.

 

Gameplay Demo

I recorded, narrated and edited a first draft of a Gameplay Demo. Currently this demonstrates all of the features I worked on, however, the next draft will include fully integrated features from all the other members, such as Kieran's sound programming, Paddy's animated GUS, and Cormac's speech recognition.

 

Alpha Demo