VRFit
Introduction
During the pandemic, millions of people got a chance to experience virtual workouts for the first time when they were not able to go to the gym. A growing number of people are turning to virtual reality technology (VR) as a means of finding solutions. The VRFit application is a game/app in which you can hit a target object by moving users' upper body which will ultimately lead them to exercise while maintaining the enjoyability of this application.
In the previous version of the application, the user could only aim at the target and hit it when it was near, but after the revision, the user will be able to throw an object i.e. another ball at the target and hit it. There is a smooth throw of the organic ball to the target and this ball spawns at random times when the user has a streak of blowing the balls. To maintain the gamified aspect of the application we also included a space background instead of the plain sky background in the prototype to make it more realistic.
Technical Development
Overview of the application
The main function of the application is to spawn the target objects in random locations and make them move towards the user. When the user touches the targets, they are to be destroyed. There are also chances of a throwable object appearing in front of the user every time the user successfully destroys a target.
A detailed explanation of key technical development aspects
The main function which is to spawn an object that can be blown is possible because of the below script:
The MoreCubes() function is called on the awake portion of the manager script. It executes a block of code if the variable WantMoreTargets is true. The block of code contains a timer of random values for each instance after which it will spawn a new object. The new object is spawned in a random location that is within the reach of a user.
The method also checks if the BonusChance variable is equal to or greater than 100 in which case it will spawn a throwable object closer to the user.
The target objects also have a script that allows them to move towards the user and explode on impact as shown below.
The update method on the target object is set to increase the position of the object in the forward direction at a defined speed.
When the object collides with another object, an explosion animation is called and it is destroyed briefly after.
The scene also has a transparent back wall and floor that destroys the targets the user misses.
3D Content
We removed some of the 3D models that were planned in the initial development as they did not match the exact theme of the application. So we only used a few 3D models to make the application look as real as an available application possible. The 3D models that was used in this application are:
Magic Orb
Source: https://sketchfab.com/3d-models/magic-orb-348d3a01dd31484eb339a397b94e6d2b
Author: epma
How it's used: It is the primary object which is to be destroyed by the user using their hand movement or throwing an object at it.
Organic Ball
Source: https://sketchfab.com/3d-models/organic-ball-b3ae29e9c62444a5858305abdf5a67d4
Author: Joseph Zukeran
How it's used: It is another type of sphere that is spawned if the user has a ball-breaking streak. This can then be thrown at the ball to blow it.
Dynamic Space Background Lite
Source: https://assetstore.unity.com/packages/2d/textures-materials/dynamic-space-background-lite-104606
Author: DinV Studio
How it's used: It is used as the background of the application. Basically, it replaces the default skybox of the VR application.
Usability Testing
Usability testing is done in this application by using actual users because it enables us to get real feedback from the testers who use the system directly. It will help us determine if the application is satisfactory to the user's assumption (Kamińska et al., 2022).
The steps in which usability testing was performed in this project are detailed below:
Design and Plan
For usability testing, we will be conducting the test based on only the major function of the application. This includes:
- Breaking the ball function
- the new throwing interaction where a ball spawns and can be thrown to break flying balls.
- Ability to reach all the balls
We gave the user tasks in our application, and the tasks are listed below task List:
- Select the applications
- Hit the ball coming toward you using your hands
- When an organic ball spawns, catch that ball and throw it towards another ball to break it.
- Use both hands to hit the ball
To collect data, we presented the user with a list of post-experiment questions. This helped us determine what the users like and dislike about the application. This questionnaire includes the following questions
- I wouldn't be tired if I played this game for 10 minutes
- It is easier to get the lower targets
- I could play the game for 15 minutes without getting bored
- It is easy to understand the goal of the game
- I can reach all the targets without having to jump
- I can easily see all the elements of the game
- I have enough time to grab the green ball before it disappears
Recruitment
The student accommodation is the venue of the usability test since it is in close proximity to the university and it will have a diverse group of students from different educational backgrounds. We managed to recruit 5 students who are studying various fields like marine biology, IT, psychology and pharmacy. They were also diverse in terms of height which would be of relevance since the targets in the game vary in height.
Testers | Gender | Height | Background | Fitness Experience |
Participant1 | Male | 5’10’’ | Technology | Novice |
Participant2 | Male | 6’2’’ | Pharmacy | None |
Participant3 | Female | 5’6’’ | Engineering | None |
Participant4 | Male | 5.7’’ | Chemist | Novice |
Participant5 | Female | 5’.9’’ | Nursing | Expert |
Protocol of the testing
Each participant will wear the headset and get comfortable with the adjustments on the headset as well as the virtual space. The participants will then be made aware of the guardian system for their safety. The app will then be run and no further instruction shall be provided unless asked.
Report of the findings
The chart above was derived from each question on a 5-level of agreeableness with 1 being strongly disagreed and 5 strongly agreeing. The scores from each participant were added up allowing for a maximum score of 25 per question which is then converted to a percentage.
Analysis of the findings
The players will likely not get tired from playing the game for 10 minutes, therefore, the frequency or the speed of the target needs to be increased. The score for the easiness of the lower target is 56% which indicates that it works well to induce a workout. It is not very easy to get to the target at the top so the range of the height of the targets needs to be reduced. The time the throwable object (the green ball) stayed needs to increase
The game is fun since most participants ranked it high. This is important since the user could get less work done if they get bored and stop playing the game.
Addressing the Results of Usability Testing
To apply the knowledge gained from the usability test, there were adjustments made to some values in the code. To make the targets get to the user faster, the speed variable was doubled as shown below.
The targets now move more quickly towards the user.
The throwable object explodes quicker than users were able to pick them up. This is a purposeful game design made to keep the users alert and to encourage them to grab the objects faster, However, the chance of the throwable object appearing was reduced. This resulted in the throwable object remaining untouched for longer.
Possible future upgrades
In future iterations, we can include different interactions to involve the user more. Some of the changes that can be included in the future are:
- Comprehensive scoring system
- Social functions to add friends and a ranking system
- Challenge features to encourage competition among friends
- Different types of training inside the application like Boxing, MMA, tennis and so on which will be able to teach the user a sport along with helping them exercise. This will also attract many enthusiastic users.
Conclusion
We have created this program in a way that the user is able to experience physical exercise while enjoying a movement-based application. This is done by using a VR model to simulate an environment. Using virtual reality technology, users can perform physical activities from their rooms, providing them with the comfort of doing so in a safe and comfortable environment. Through a range of virtual reality sessions, this app encourages users to engage in daily exercise as part of their daily routines. Different interactions can be created with a range of motions such as punching and throwing. The purpose of this is to maximise the range of movements. This will enable them to use the machine for a variety of different body parts. The usability test conducted was useful to make adjustments to the application to make it suitable for as many users as possible.
References
http://www.vanissawanick.com/4-usability-review-beat-saber-vr/
https://www.nngroup.com/articles/user-control-and-freedom/
https://www.nngroup.com/articles/usability-101-introduction-to-usability/
Kamińska, D., Zwoliński, G. and Laska-Leśniewicz, A. (2022) “Usability testing of virtual reality applications—the pilot study,” Sensors, 22(4), p. 1342. Available at: https://doi.org/10.3390/s22041342.
Explosion script learned from:
Get KIT724-Assignment5
KIT724-Assignment5
Status | Released |
Author | AyushPandey23 |
Genre | Simulation |
Tags | 3D, exercise, fitness, Singleplayer, Virtual Reality (VR) |
Leave a comment
Log in with itch.io to leave a comment.