Last week, we decided to develop a UI that would support a range of driving games, which we finished during these two weeks. Apart from Rocket League and Forza, we designed json files for Project cars. All three games are supported by this UI. We also added an experimental option which uses 3 common key bindings as virtual buttons, “space”, “tab” and “shift”.
As opposed to having predetermined button positions, this UI originally would automate each trigger position to make sure that half the buttons would be on the left and half on the right, with equal and sufficient distance between each. However, we discovered that this actually made it harder for users, as buttons would now be adjacent to each other, making it easy to misclick. Also, every user has different needs, some may want the buttons to be lower on the screen for accessibility. Therefore, we decided to go back to predetermined button positions, written in the json files.
We decided to implement left and right joystick options. If the user chooses for the joystick to be on the left, to be controlled by the left bodypoint, the triggers will be on the right, to be pressed by the right bodypoint.
The user may now choose the game they want to play from the drop down menu. It is easy to add a new game - the user simply has to copy and paste that game’s json files into the driving_games folder, and they will now be able to access that game through our UI.
General Driving UI (with GIFs implemented in Week 12)