VR Game Design-Move Your Body

Zedan Lyu

Concept and Research

Initial Inspiration

My initial inspiration was coming from “Ring Fit Adventure”, a role-play exercising game through exploring a huge fantastical world and defeat enemies using real-life exercise, designed by Nintendo for Nintendo Switch.

In fact, the fatigue of fitness has always made me difficult to persevere, so I have been trying a variety of fitness games to do exercise. I am a big fan of Nintendo and played some fitness games designed by this company such as Fitness Boxing, Just Dance 2022 and Nintendo Fitness Sports. I started playing Ring Fit Adventure at the end of last year in order to lose weight and did some indoor exercise. Actually, the RPG elements and timely interactive feedback from the Ring-Con in hand and Leg-Strap made a fantastic way to do exercise that won’t bord my senseless. However, I found that it was still not totally get me in flow by just viewing through the screen. Thus, I am interested to design an action, sports and casual interactive VR game.

After discussing with Herman, I began to do some background research.

Research and Some Initial Design

UK, Japanese TV game show “Wall in the Hole” & “Brain Wall”

This is a British game show that aired on BBC One in the United Kingdom that was an adaptation of the Japanese game Brain Wall in which players must contort themselves to fit through cutout holes of varying shapes in a large polystyrene wall moving towards them as they stand in front of a swimming pool.

Something that I adapted from this TV show was that I could design some different shape of obstacles moving towards players that force them to do some different poses.

Just Dance 2022 on switch

This is a motion-based dance video game for multiple players, with each game including a collection of classic and modern songs each with its own dance choreographies. During each song, players mirror a dance performed by dancers on the screen, following moves that appear as pictorials on the bottom right corner of the screen, and are awarded for their accuracy.

In this game, player needs to strike poses or complete some moves in the dance in order to earn bonus points. Handheld Joy-Cons are required to track their accuracy. At the end of the game, ranks are given based on how well they do.

When I did this analyze, the bottom-right-corner pictorials gave me some inspirations. What I could reference to my own game was that some of the obstacles can shape in poses just like these pictorials. Player is guided to strike corresponding poses that can track by left and right controllers, as same as in Just Dance, movements are tracked by handled Joy-Cons.

Beat Saber

This is a fast-paced VR rhythm game combining breathtaking neon visuals, energizing music, hand-crafted levels and fine-tuned action.

Player is asked to handle one saber in each hand slash the beats when they fly towards, all while matching their direction and color to rack up points in order to keep the music moving.

Things that I inspired from this game was that another type of incoming obstacles can also be designed which need player to side-step and duck.

Additionally, a score system is also helpful. Reward and punishment mechanic are essential to inspire and maximize players’ capability, and also attract player’s attention.

Vaporwave

Furthermore, regardless of the way in which these games are running on whatever platform, I found that they all have their own distinctive styles or background stories to attract players. For example, the breathtaking neon visuals of Beat Saber gave me a deep impression when I watched its promotional videos. Thus, I am willing to choose a suitable style of my game.

Vaporwave is one of my favorite styles that is both a form of electronic music and art style. Visually, this style could also be found in late 1990s web design, glitch art, anime, 3D-rendered objects and cyberpunk tropes. The most important thing is that it is not conflicted to keep this style in my fitness game, as well keeping the consistent aesthetic of visual and auditory. So, I am willing to keep my game in this style.

https://aesthetics.fandom.com/wiki/Vaporwave

Vaporwave visualized sample

Concept

Move Your Body is a fitness and casual interactive VR game, providing a special experience for body-moving with vaporwave background music, having fun with dodging and punching incoming obstacles, and striking some fun poses to rack up points.

Why VR & Design and Prototyping & Game Cycle & Gameplay & Game Mechanic

Why VR???

The reason why I would like to design such a game was that I am extremely keen on playing rhythm and reflection testing game. I never imagine that one day I would have the opportunity to design a game of my dreams, so I am willing to express it interactively in the virtual world. Additionally, when playing through VR headset, it just needs to using limit time and space relaxing and exercising to keep health, especially for those who do not have enough time to go to the gym.

Here are some reasons why this game stands out in the form of VR instead of other devices.

Compared by the TV show Wall in the Hole, it is safer that player will not be getting stretched by incoming large polystyrene walls and be witty into the water if they strike the wrong pose. Additionally, a possibility is created for everyone to play this type of game instead of attending the TV show. Furthermore, this game has more flexibility and limit restriction of time and location.

Initial Design and Prototype

Game Genres — Fitness, Casual, Music

Game Modes — Single User

Supported Planforms — Meta Quests

Supported Player Modes — Standing, Roomscale

Game State — First person with stable view that player will stand in the same space as while asking to strike different poses.

prototype

Rules–There are three kinds of score and danger obstacles that forced player to punch, dodge and strike with background music as while earn or lose some points.

The Cycle of Gameplay

I referenced Mario’s game cycle and found that we all focus on implementation.

However, I still had no clue about how to explain my own game loop. Herman indicated me to review the lecture anout the Cycle of Gameplay, especially that for Team Fortress 2. It make me clearer and here is the flow of my game proceeding.

Gameplay

Previously I designed the gameplay was that when finishing the tutorial, three chance will be given. If these chances are used up, game will be terminated. And then player can choose to restart or end the game.

initial design of the game cycle

However, after several tests on week 4 through VR headset I found that I prefer focusing more on that to give players a complete, uninterrupted and continues game experience with the deration of the entire background music, rather than being forced to quit the game and start again after using up three chances.

Because the whole game needs to have a difficulties progress from the tutorial to challenge, three scenes were designed to let it move towards step by step.

https://padlet.com/zlyu07202111/nzxrpwpzfifmavb4

Based on the design above there will be three scenes in this game–Main Menu scene, Tutorial scene and Game level scene.

Game Mechanic

Leading player to do some poses, punch and dodge obstacles using VR equipment.

Link of the presentation slide: The latest breakthrough explained – Presentation (canva.com)

Design in Unity

Background Environment

I am interested in the neon and vaporwave style and did some relatively research mentioned previously, so I would love to set my game style of that.

Before starting this section, I thought this will be one of the most struggled parts of my project because I have no clue about it. So, I decided firstly to try to model a scene in Blender.

After having some clues of design of the background environment, I tried to design my main scene in Unity. I chose two different types of environments in unity for this game. When testing I found that my second try was hardly to keep the consistent aesthetic with both background and obstacles. Thus, I decided to use my first design.

In order to have that bloom effect of the whole scene I also added post processing component of both environment and central eye camera. At the first time it did not work because the post-process layer was needed to add on the exact centra eye camera rather than on the whole OVR camera.

Reference: https://sketchfab.com/3d-models/vaporwave-car-scene-474dee53213043279bd33944c0147e80

Using Post-Processing to improve visuals in Unity – YouTube

Then I tested on the headset and it worked sooo well!! I loved it.

Obstacles

Another important component of my game is different kinds of obstacles. I chose to model them in Blender.

Previously I wanted to have the wall with the hole of a person’s shape to let player go through. But I found that will be too similar to the Japanese TV show which I referenced. Thus, I changed it to models of human poses that lead character to strike.

Box collider and Rigidbody were all added to those prefabs.

Those three human poses are a little bite special. Pose detected were added to track players’ accuracy.

Additionally, sound effects were also added when play trigger them using controllers.

score block
danger block

Design of the Three Scenes

Based on the design of the gameplay, three scenes will be needed to make sure the whole game flow work successfully. Those three will be designed in storyboard, code section and playtest.

MainMenu Scene

Because this is the first scene of the entire game, brief introduction and UI are needed.

Storyboard

Scene management, transform and Audio Source

Because there are more than one panel here, so START Button is responsible to link those two panels. And sound effect is still added on this button.

In terms about the TUTORIAL Button, when character click it, the scene will transform to the tutorial one with the fade-in and fade-out effects. Firstly, set a black image of the centra camera and then record an animation of fade-out, create a bool parameter and a new state in its animator to avoid this animation played at the start of the game.

Some code to control the bool parameters, delay in seconds and which scene will be loaded. This can also be used to other scene transactions in this game.

Finally, one of my favorite vaporwave music was added to be the background music.

MP3 Download with Mp3 Music Downloader | Free MP3 Finder (amoyshare.com)

Bonus Base Font (webtoolhub.com)

Download Free Bell Sound Effects | Mixkit

Tutorial Scene

In order to help player distinguish from the game level scene and the tutorial scene, I slightly changed the color of it.

Storyboard

In this scene, player will be taught how to deal with those three obstacles. At first those three will fly towards respectively, after that those will come towards randomly to mimic the game level. Instruction will be given.

Movement

Let all three incoming obstacles flying towards players

And then destroy score blocks when player using controllers to trigger them.

Spawners

Because there are two types of obstacles in this game — scored and danger, safe and danger spawners were needed.

Danger spawner

Those three danger obstacles have their own spawner respectively because they need to be spawned at different stationary transformations.

Three obstacles three spawners

spawners of those three

The next step was to make Top, Left and Right Danger obstacles randomly spawn from their own spawners with constant interval. Instantiate can be used to create those three at runtime.

Top, Left and right obstacles can be referenced of 1,2 and 3, let it choose randomly from (1,4), and then spawn from their own spawners.

Danger spawner

Safe Spawners-1

In terms of those three poses obstacles, it is a little bit similar to the danger one, but they just need one spawner because they all spawn in the same transform.

Three obstacles one spawner

Compare with the script of the danger spawner, it does not need different transform of the spawners, they share the same one.

safe spawner-1

Safe Spawner-2

One-to-one correspondence between score obstacle and spawner

one obstacle on spawners

safe spawner-2

Game Management

After setting up those spawners, game manager is needed to control each element organized appear according to the storyboard.

Firstly, create four different canvases contained respectively instruction tutorial UI.

Using SetActive to control those panels appear or faded in different situation.

Each tutorial was set to start and end at different runtime.

Sound Effect

Two types of sound effect were added to the score and punish obstacles when collide, also giveing auditory feedback to players.

sound effect

reference Download Free Bell Sound Effects | Mixkit

In terms of the background music, in this stage I wanted player to pay much attention on the tutorial, so I decided to use a less aggressive ambient sound of cars passing by.

Game Scene

When finished the teaching level, officially and challenging game level will be stated.

Player needs to deal with the mixed of those three flying obstacles, keep the duration of a whole music.

Each of those three will come randomly with the same speed but different intervals.

Storyboard

Score System

A score system was introduced to this stage to push player and calculate accuracy. Showing on the TMPro in the left conner of the screen. This code was added on the Movement script.

If score obstacle was collided, 100 credit will be added. It will be deducted 50 points if danger obstacle was collided.

And then output score through TMPro.

Set Active of the GameFinishedMenu

Based on the storyboard, when this game finished, the menu (panel) will appear to let player choose whether to finish this game or they would like to try again.

So another game manager was needed.

Audio Source

Instead of keeping the same sound effect of the obstacles and buttons, I changed the background music with a typical Vaporwave style.

MP3 Download with Mp3 Music Downloader | Free MP3 Finder (amoyshare.com)

Play Test

Research

After set up the whole mechanic, I began to do the play test to check the game play.

On week 10 we did some research and playtest on PG Degree Show. My favorite project was Featuring: Fractals designed by Lauren Descher. This game give me a fantastic chance to experience and interact with a variety of fractals in a 3D space using immersive mechanics such as: climbing, picking up objects, and shooting bow and arrows. The whole world was a Menger sponge, and I need to miove or climb to different sections to trigger individual scene. Each scene was a individual world full of geometric laws, such as the Pythagoras Tree, the Fibonacci sequence and Golden Ratio.

>.<

Throughout this game, the climbing part was a little struggle for me because I couldn’t always grab the ladder successfully. Sometimes I fell off accidentally and have to start climbing the long ladder again. This game really showed the fantastic virtual geometrical world that I loved.

When I back home I scaned the QR code to detailed learn about this project through her blog. Totally attracted by it. Here is the link https://laurendescherualblog.myblog.arts.ac.uk/final-major-project-thesis/

Test the Game

There are two different stages of the playtest: individual test and peer test.

Individual Test

When testing my game, I found that there are still some problem existing in the scene transition, buttons, obstacles and spawners. In terms of the scene transition, I found that it was too sudden instead of the smooth scene transition I want. Thus, the scene faded effect was added that mentioned on the MainMenu Scene section before. And then when testing this effect, I found that when clicking the button the fade out animation played but the scene did not transform. After asking Herman about this problem he told me that I still need to rebuild those scenes.

Another problem was those buttons in my game level scene cannot be clicked when I tested them after Christmas. That was so strange because it was worked previously when I tested. At the end I still did not know what went wrong of that panel, so I had to remake this scene and fortunatly those button worked finally.

In order to make this game run successfully, the transform of spawners and size of obstacles were things I adjust the most. At the first time of the playtets, I found the human shaped obstacles were too big, especially not so friendly for those who have Megaphobia. So I shrink them appropriately to my height standards. And those three spawners were adjusted to the right positions that players can easily side-step, crouch and bend to punch and dodge obstacles.

Peer Test

I asked my roomate to help me do this peer test. She studies PhD of Environmental Science in KCL. The reason why I choose her to do this test was that she is totally a new VR user and never played any fitnees or similar types of games before. So I think the suggestions she gave me for my game will be more representative and referenced value.

After playing she told me that the game is still kinda looks weird because whenever player collide with the block they just disappear without any indication of them being destoyed. It will be more helpful if they have some visual feedback.

So firstly I thought that it could be possible if player collide those blocks, the material change and then turned into a different color.

However, I tried to add those on my prefabes and it did not work. And then I thought may be I could add some particle effect on score blocks.

Final Editing

Link for the final presentation

https://www.canva.com/design/DAFYx6C4PW8/OLxBXSW_ipTYXaPoi2STtw/edit?utm_content=DAFYx6C4PW8&utm_campaign=designshare&utm_medium=link2&utm_source=sharebutton

Critical Appraisal

I am still excited since I finished my first VR Game. It is hard to believe this project was completed, which also means I am halfway through my undergraduate study. I am extremely enjoy this experience and learned lots of unity game play for Quest VR which I did not know before. I tried my best in this project and was saitisfied with the final results. However, there are still some challenges that I could do better in my next assignment.

Regarding the aspects of my progress, it was the first time I learned and understanding the basic process of game design, from research, design, prototyping, mechanic, gameplay to the playtest. I have never imagined I could desing the game I liked before and I have to say that I really enjoy doing this. Additionally, this project gave me a chance to learn and parctice some basic Unity terminologis and C# coding in my own game, such as onCllision, setActive, rigidbody, spawner, destroy, time.deltaTime, instantiate, scene transition effect, parameters of animator, scripts linking, score system design and so on. Coding is the part I am not very good at which made me put a lot of effort on it. Sometimes I get frustrated with errors that I don’t know what it is going on and had no clue how to solve it, but more often than not it is the feeling of accomplishment when I see the program running successfully. Furthermore, when doing the research on the playtest, the thing that really made me appreciate the charm of VR was Lauren’s PG project on the UAL PG show that Herman took us to visit. This project gave me a really deep inpresion and inspired another kind of fantasy for me about VR. Another thing that I am saitisfied with was the whole style of this game. Previously I thought that in the future I wanted to to design my project using my favorite styles such as Vaporwave, Y2K and Cyberpunk. And this project gave me a chance to do it.

On the other hand, there are still some challenges that need to pay much attention on and could do better on the next project. Firstly, I realize that I still need to continuesly learning coding of Unity. Sometimes it is a little bit hard for me using coding into practice. I still need to pay effort to make it my strong point. Additionally, if I could bring this project further, I would design of the UI for more background music chosen and different type of scene for player to choose. Also, I would like to edit it more likely a rythem game that obstacles coming regularly in each beat.

I had to say that I extremely enjoy this progress that was not just mean an assessment to me. It is really saitisfying and fun to be able to do what I love. In this project, I did some aspect well but still need to pay much attention on things I am not good at. Hopfully, I could learn much more deeper and desing more complex VR game, coding and interactive experience in the future.

Leave a comment

Your email address will not be published. Required fields are marked *