Project: Click Here to Download The Project
YouTube Link: Click Here For The Video
Many of us have played or know people who are constantly playing games on their mobile devices. They are obsessed with leveling up, getting higher scores and gaining new attributes. These games have become a part of their life. However, they are limited to the device that they are playing on. Mobile devices lack the full experience and limit the users only to the screen they are looking at. The idea behind this project was to give users the full experience. An immersive experience that would truly make these games a part of their lives.
The lobby is meant to represent an arcade room. It has a futuristic yet simple setting because this type of VR gameplay can seem very Sci-fi for many people. The game begins in the lobby. The lobby has an ambient soundtrack constantly playing in the background. There is one ceiling light that lights up the entire room using a spot light. Looking around there are many different objects and artwork in the room to make the user feel comfortable. Upon walking around the user will notice three console stations. Each of the stations will display a still image or a video of the game that they can enter into. Next to each game station there is a start button that the user can press. The button has a script that initiates upon collision with an object underneath the red button, inside the outer box. The red object has a spring joint so that once it collides with the invisible object it goes back to its original position. Once the red object collides, the script essentially checks the tag of the invisible object. If it matches then a coroutine starts that executes after 2 seconds. The coroutine calls the scene manager, which then loads the appropriate scene.
All cue sports require a pool table, cue stick, cue ball, and the billiards balls. The goal of the game is to move an agreed set of balls into the holes located around the table.
In this room, users who are experienced with pool bars, will find themselves relaxed and amazed with the physics and realism of this game. The experience takes place at a jazz bar. With modern minimalistic design, attention is directly drawn into the table, placed right in front of the user.
The two vive controllers should already be in the hands of the user. The two controllers will be used to give the cue velocity; that is, speed and direction. All balls will break upon a first well-aimed hit. Each ball will then part and the player(s) must take turns to hit the cue ball and make it in turn hit the desired ball, or the one in turn.
For this game, we used a lefty setting: right hand in the front of the cue, for direction, left hand in the back, for speed.
To ease the player into this VR version of the game, a few helpers were added. To stabilize the movement of a controller, users can click the right trigger to lock the position of the cue and then move the left hand to give the cue ball force, just like in real life!
Another perk of this VR pool is a pointer. Use the right grip to project a laser ray into the cue ball and aim where you will hit it. The laser aim and the position lock can be used simultaneously.
Following conventional rules, the cue ball will be positioned behind the second diamond if it was to fall into any of the holes. The game controller takes care of that for you.
The user might find some amusement in traveling around the bar with the teleport system. It can be activated by clicking on the circular trackpad of either VIVE controller. After toggling the teleport system, a curve will appear allowing the user to aim into any teleportation point around the room. These points are represented as the light blue cylinders across the bar. Upon aiming into a point it will turn green and an arrow will appear above it. Every action is corresponded by a sound acknowledging an action has taken place.
Multiple game controls were still in development unfortunately. Rules are extremely hard to implement as to each correspond a series of exceptions. Also, for it to be a complete game, we would need a 2nd player and another VIVE set.
The bar has its own set of baked lights and gives proper illumination to play the game in a closed space.
Unfortunately, the bowling alley wasn't able to finished as VRTK wasn't implemented in this project. Since we used VRTK, we were forced to use an early version of SteamVR, while the other two mini-games used newer versions. Because of this, there was a conflict, which broke our game. The idea of our game was meant to be bowling in an outer space environment, where you are casually bowling. You have multiple types of balls in your disposal, a regular bowling ball, a gravity bowling ball, as well as a bowling ball that explodes. It is up to you to utilize these balls to get the highest bowling score you can, and prove to the world that you are a champion in outer space bowling. Although not implemented in the project, we have included screenshots of what it was supposed to look like down below. We have custom made assets, such as the bowling ball, the pins, and the asteroid-lane. Each one was created in Blender. All around, you can see Mario Stars and asteroids. A giant Milky Way chocolate bar is hovering right above the lane.
While bowling, the user is able to bowl the ball, at risk of getting it in the gutter and missing the pins entirely. Once all pins are knocked down, they are brought back onto the scene. Once the bowling balls fall off the lane, they are returned onto the lane. The scene used a lot of Mesh colliders, as physics was a big part in implementing this scene. We had to keep track of the physics for the pins, the different types of bowling balls, and the lane itself (so the balls or pins wouldn't fall through). By playing around with the physics of the bowling ball, you are able to create a "spinning effect", as is done in real life. Some of the scripts that were to be implemented would have dealt with the "respawning" of the pins and bowling balls. Like the other scenes, there is also a pillar with a button that returns you to the Lobby.
Kitchen Ninja is a simple game that allows players to take their frustrations out by cutting and smashing glassware that could not do in real life. Many people, when they get angry have the urge to destroy things. This game provides that but in a safe environment. The setting of the game is a very typical kitchen. Looking around you can notice that there is a sink, oven, stove and all the things you would find in a kitchen. Looking up you will see different light fixtures. This scene uses many different scripts. The script that was the most difficult and I found this online is the script used for slicing objects. Other scripts that were used was for the random spawner of pots and dishes. The spawner script essentially took each game object and applied velocity and changed the angle randomly. Next, once the katana cuts the object the object splits at the point that it was touched. The script created two new objects, the original and the piece that got cut, and they get destroyed once they reach a certain point. For the score board I used a Text Mesh Pro script modified it to display the score. The script adds one point when a glass object is cut and lose a point when a metal object is cut. There was some trouble when pressing the "exit" button. The exit button was getting registered similarly as the pots and dishes and therefore was getting cut. To address this issue, I created a tag and assigned the button to that tag and simply used an if statement in my script.
Bowling Ball
Bowling Pins
Lane
Ball 1
Ball 2
Ball 3
Ball 4
Ball 4
Ball 5
Cue Ball
Cue
Bar room
https://www.turbosquid.com/FullPreview/Index.cfm/ID/711367
Bar dance floor
https://www.turbosquid.com/FullPreview/Index.cfm/ID/711367
Pool
Cue ball sounds: https://freesound.org/people/mccarthy@bedmas.com/sounds/42364/
Hit sfx: https://freesound.org/people/cameronmusic/sounds/138401/
Jazz:
https://www.bensound.com/royalty-free-music/track/the-jazz-piano
This second project that our group worked on really gave us an outstanding view of virtual reality and its applications. The definition of virtual reality literally comes from the definitions of the words “virtual” and “reality”, where “virtual” is near and “reality” is what we as humans experience. So “virtual reality” pretty much means “near-reality” or maybe even “close-to reality” . A sample reality. An emulated reality.
It’s really cool to think about the applications virtual reality can have. As humans, we have five senses, as well as other physical senses and sensory inputs. Basically, everything we as humans know about our reality is affected by our senses and our perceptions of things (by our brain). For example, if you are able to accumulate imaginary information in your brain or senses, you could see things differently versus if you had presented your brain or senses with a different type of information. In this way, the reality you perceive is one that is not actually real, but to you, it is real. This is similar to what “virtual reality” could mean; virtual reality is basically a virtual environment or world generated by a computer that we can explore that is presented to our senses.
This project helped show the power that virtual reality technologies can have. The really amazing part about all of this is that a virtual reality piece of technology or application could actually be applied to any field out there, as it could help improve many different things. For example, it could be really good for architecture firms. Say a new, high rise building was being built in downtown Chicago, and the architects, interior design partners, and engineers are all working together to build it. Imagine if they hired a virtual reality technology company to assist in their project. They provide this tech company with the constraints and the details and mock ups, and the tech company then creates a virtual world of what the building will look like. This would improve the quality of the project as well as save a lot of time and money that is being put into these projects in the present day. The testers could attach the VIVE to their head and the controllers and interact with the virtual environments and objects to get a better feel about what the outcome of their plan would look like and change anything if they needed to rather than relying on software to build blueprints and regretting it later, thereby wasting money on further renovations and materials needed to construct new areas of the building.
Building the virtual reality application would require the blueprints, constraint details, mockups, and other documents or information that would be critical to building an accurate scale of the project. Before sending it out for the client company to check the finished product, the employees of the tech company would have to ensure that all their models and environment are fully functional.
This project also gave us a glimpse into the future of how the gaming world can be changed. Instead on sitting on the couch and playing a game on our phones, this would require us to be more active is a sense. It would make us more alert and allow us to get the full experience. The controllers even have haptic feedback and this will make it even more realistic.
All this is very interesting to think about. The above example of how something like this can be done for real is just one of many many different things a virtual reality application can do. It’s a new field with many applications, and it could probably benefit every field if properly applied. Virtual Reality is very advanced, and it will slowly but surely be in popular demand by many.