virtual reality game using oculus riftict.siit.tu.ac.th/senior-itcs/final/report-cn1.pdfside effects...
TRANSCRIPT
CN1 Final Report
Virtual Reality Game using Oculus Rift
Group Members
Chatpol Akkawattanakul (5422792135)
Photpinit Kalayanuwatchai (5422770669)
Advisor:
Dr. Cholwich Nattee
Dr. Nirattaya Khamsemanan
School of Information, Computer and Communication Technology,
Sirindhorn International Institute of Technology,
Thammasat University
Semester 2, Academic Year 2014
19th May 2015
Table of Contents
1 Introduction....................................................................................................................... 1
2 Background ....................................................................................................................... 2
3 Objectives ......................................................................................................................... 4
4 Outputs and Expected Benefits......................................................................................... 4
4.1 Outputs ......................................................................................................................... 4
4.2 Benefits ........................................................................................................................ 4
5 Literature Review ............................................................................................................. 4
6 Methodology ..................................................................................................................... 6
6.1 Approach ...................................................................................................................... 6
6.2 Tools and Techniques .................................................................................................. 7
7 Project Schedule ............................................................................................................... 7
8 Project Progress ................................................................................................................ 8
9 Technical Description ....................................................................................................... 9
10 References....................................................................................................................... 12
Statement of Contribution
By submitting this document, all students in the group agree that their contribution in the project so far, including the preparation of this document, is as follows:
Chatpol Akkawattanakul (5422792135) 50%
Photpinit Kalayanuwatchai (5422770669) 50%
Senior Project 2014 VR Game using Oculus Rift
School of ICT, SIIT 1
Introduction
Our topic focus on making Virtual Reality Game (VR Game) that people can interact via VR controller. In this case, our game will use Oculus Rift (a VR headset) as the main devices
to experiences VR world, while using Leap Motion Controller (a movement tracking device) as the VR controller. Because the Oculus Rift itself is not so interested to play, and the experiences players will get is not different from playing video game on a big screen. So by
using Leap Motion Controller, players can also interact with the VR world and objects they see.
Figure1 [1]: A man interact with VR world using the Leap on his Oculus Rift
The game we are going to make will be educated game, because we did some research and found that there’s not many VR game that can educated players and it will be interested by other people. The game will use two VR devices’ functions as much as we can to let player
experiences VR world as much as they want. Of course the game should be as realistic as it could be, so we need to design the game environment by our own too see which type of
environment will make players to enjoy the feel of realistic. Also, the game models need to be well-made too so do gameplay functions. So we choose Unreal Engine 4, a 3D game development engine, to make this VR game.
Figure2 [2]: An example of rendered scene from Unreal Engine 4
Senior Project 2014 VR Game using Oculus Rift
School of ICT, SIIT 2
The game we are going to do is a cooking game, which players can interact with VR
materials and educated in cooking. We choose Thai-food in order to make the game looks interesting to foreigners, and did some research on process of cooking to design a proper class/functions for our game to make it as realistic as we can. We also will make the game
looks fun and interesting for all people around age 18-40, because we think that people who are under 18 and greater than 40 cannot handle the VR monitor for a long and it might affect
their health. So we will make a secret system at the end of the game for players to enjoy the game.
The next section of the proposal will provide background knowledge that required in
order to understand the project. The 3rd section is the objective of this project. The 4th sections will be the output from this project and how it can make benefits. The 5th section will give
similar game that use same concept of VR as our game. The 6th will be the approach or the process of our game development, follow by the references’ section.
Background
Have you ever know or experiences a virtual world or virtual reality?
Virtual Reality (VR) is a technology that let you experience a virtual world and
interactive with it by either using controllers or motion captures. Most of virtual reality are games which let you experience a fantasy that you cannot experience in real world.
Nowadays, many VR technologies grow very fast, such as Oculus Rift, Leap Motion Controller, Cyberith Visualizer (body actions tracker). The most famous and popular one is the Oculus Rift which many game developers using it in their game to amuse players more
(such as the Classroom Aquatic, Roller Coaster). Our group notice that point and try thinking of something to make VR game more interesting, which is a game that can interact with VR technologies, not with game controllers. So we use another device in this project, which is
Leap Motion Controller as the main controller in our game. Because what Oculus Rift can do is only acting like a monitor (the infrared position tracking is not guarantee for our old
develop kit).
Figure3 [3]: An Oculus Rift development kits
Senior Project 2014 VR Game using Oculus Rift
School of ICT, SIIT 3
So now which game would let the player to use all of the devices function and be
educated? A cooking game is our answer. You can cook like a real chef with no danger from cooking (ex. real knife). Also the food will be Thai- food which we think can attract the foreigner and also give knowledge about how to cook the food to Thai people who have never
cook before using VR experiences. Our goal is people between 18-40 years old, to prevent side effects of using VR monitors which could harm players below 18 and greater than 40.
Figure4 [4]: A player enjoy their experiences with Roller Coaster VR
To do so, we need a program called “Game Engine” which can render realistic 3D environment and game models. We did some research and found that top 3 is Unity3D,
Unreal Engine, and Cry Engine that we could obtain licences. In this case, we choose Unreal Engine because it is free for education and can rendered high-quality 3D models. Of course
we can use outsource models (which is free), but in case where quality are needed, do it ourselves by 3D engine like Maya or 3DMax will give best results.
Why a virtual game and educated? From last two years, virtual game become more and more popular and interested by many players. For example, Project Morpheus fro m Play
Station (full HD head set VR), Razor Hydra (full motion controller) are used in many games which will be released next year. Also, VR can gives realistic experiences from VR world, which could be anything, without experiences dangers (ex. spaceship, bungy jump). Also, we
want to start something new, and education game is less popular. So we want to make one that popular and creative than others.
Senior Project 2014 VR Game using Oculus Rift
School of ICT, SIIT 4
Objectives
This projects aim is to develop a Virtual Reality Game that educated and interesting. To achieve our aim, we should get all these 3 objectives:
- Develop a game that educated for most people include foreigners. - Design and develop game environment as realistic as we can. - Use as much function as we can of VR devices
Outputs and Expected Benefits
3.1 Outputs
The output of this project is a virtual reality game that helps people understand more about Thai food and give education for those who don’t know. Of course the game should be
interesting enough for people to invest.
3.2 Benefits
This new educated game could make other developers interesting in a VR interaction game like us and develop more interesting-educated game. Also if there are people who want to invest with us, we could improve it and add more features in the name of the University to
sale it worldwide. If no, our junior can continue our project to make it better with more features or use our project as a base to develop a new interesting VR game.
Literature Review
There are already some people who developed a program that sync VR devices to interact
with the game. For example, Vireio Perception (http://www.vireio.com) which can make a PC game into Oculus VR by divide monitor view into two equal halve and scale the view of each halve to fit the Oculus Rift view.
Figure5 [5]: First Person view of normal PC game using Vireio Perception program
Senior Project 2014 VR Game using Oculus Rift
School of ICT, SIIT 5
Another example is First Person Controlling (http://tangochen.com) which let you control
FPS game through the Leap Motion Controller using setting of your gestures and interact each gestures with a command to a game. For example; lift your thumb to fire or move your hand down to crouch.
Figure6 [7]: First Person Controlling App using Leap Motion Controller
Not only the sync-program, there are also games that could not play without Oculus Rift too. Classroom Aquatic Simulator is one recommended example of how to use Oculus
Rift in an effective way. The game is about cheating the exam using Oculus Rift to look at others’ exam and a controller to lean towards them without notice the teacher.
Figure7 [8]: Classroom Aquatic
Senior Project 2014 VR Game using Oculus Rift
School of ICT, SIIT 6
Methodology
6.1 Approach
Our approach start by planning about what game to do, and what benefits will we gain
from it, also think about possibilities of the game. This is the most dangerous part that if we choose the wrong track, our project might not finish in time. So here we need to set the game’s system criteria.
After we know what to do, next things is to do research about hardware, software to set more specific criteria to a game system. This also takes time because we have to look for what
we think are best to our project (e.g. plugins for engine, 3D models) and revise our plan again according to what we must do with them. For example, if we use A’s plugins we can finish first section of the game within a week, but we’ll waste time on doing models on our own
since it’s not support any other models.
Now we know our game’s criteria, next we will start design our game environment and
arts. We start searching for a kitchen that would make player feels ease with. We do this by browse many kitchen on the internet and choose them to be at maximum of 3 examples. Then we modify it themselves to make it proper to our game. We use this process for any
references-needed resources like models and objects. After we have artworks, we then model our kitchen in 3D using Unreal Engine 4 to see the work scale. We also do some scenario
design and game process draft to see what needed to be program. So we got our first prototype class-diagram. As we continue our project, it’s not guarantee that there will be no problems. So we need to make it easy to modify to minimize impact that will occur to our
time table.
We’ve done all preparation until now, next we’ll do implementation the system.
Currently our progress is here. We’ll separate the work while one person doing the program implementation, another will prepare 3D models to use in the game system. This will not take long if there’s no unexpected issue occur.
After that will be long term schedule, the testing. We will test our game and see if anything working correctly. This will take lots of time to fix if error happen or the game is not
going well according to our plan. If we have enough time then we will take comments from other tester to improve quality of models.
Senior Project 2014 VR Game using Oculus Rift
School of ICT, SIIT 7
6.2 Tools and Techniques
Working with hardware required many software to synchronize them with a computer. For our project, we mainly use Unreal Engine 4 to make a game system, environment and
coding game functions and elements. This is a free version for educational too.
For 3D models, we use 3DSMax to create and inserts bone for models. Like Unreal
Engine 4, the software is open for educational license.
For hardware, we use Oculus SDK and Leap Motion SDK toolkits to synchronize data with Oculus Rift and Leap Motion and use those data to create 3D model and receive input
and output in some cases.
About coding we use Camel Case template for naming variable and functions and coding
using Top-Down method. We also using OOP (Object Oriented Programming) as our template to make sure it’s easy for our junior to continue our work.
7 Project Schedule
Task Description Person Duration Deadline Status
1 Project Planning Chatpol
Photpinit
2 weeks 9 Sep 14 Finished
2 Software License Request / Research Chatpol 2 months 26 Dec 14 Finished
3 Software License Request / Research Photpinit 2 months 26 Dec 14 Finished
4 Design Chatpol
Photpinit
3 weeks 20 Jan 15 Finished
5 Prototype implementation Chatpol 1 month 18 Feb 15 Finished
6 3D models working Photpinit 3 months 22 April 15 Finished
7 Game implementation Chatpol 4 months 11 May 15 Finished
8 Testing / Error fixing Chatpol
Photpinit
1 week 18 May 15 Finished
Senior Project 2014 VR Game using Oculus Rift
School of ICT, SIIT 8
8 Project Progress
We have finish all of our designs and game system planning. We now entering the hardest part of the project which is implementing what we plan and make it playable and
of course we still have to adjust our work scale while implementing to make it finish in time too.
This is our current progress on implementing the system and 3D works.
We manage to get the value being read from Leap Motion and generate a 3D hands model where we will use it as the reactor to the environment . Still, we are working on
how to use gestures to react with 3D objects and set the dead line to next 2 weeks. The further implementation is easier now and will take about 2-3 weeks to finish the game system and begin the testing phase.
Figure8: Sample Leap Motion Integrating
Senior Project 2014 VR Game using Oculus Rift
School of ICT, SIIT 9
For our room and other 3D models, Phopinit got works here and we check it again
together that if the models looks like what we want. We also set folder and share resources using SVN the faculty provided, so that we can work online together and concurrently. However, this is just prototype, anything could be change later on.
Figure9: Our kitchen
9 Technical Description
9.1 System Description
Since our project is game base, we then start our software like other computer games. From the start page like in diagram show below.
We use scene change instead of let the player choose the next thing to do to
control methods and time, so that the game will surely end. We will have timer for every step except preparations and results phase. This method for prevent the player from playing around too much and not focus on the game and would take too long to
play (since wearing Oculus Rift for too long may cause problem to eyesight) and graded him/her depends on finished task in each phase.
Senior Project 2014 VR Game using Oculus Rift
School of ICT, SIIT 10
Figure10: System Diagram
We will have instructions in each phase started from when the game is on
(wearing oculus/cautions) and will keep warn them if needed devices unplugged, which will make the game crashed afterward. We plan to make the game that everyone can play without us standing around.
Figure11: An instruction panel
Senior Project 2014 VR Game using Oculus Rift
School of ICT, SIIT 11
For software components, due to our condition above that “everyone can play without us around”, the game will be standalone version when launched, which easier
to start the system and install. We have no database needed and about sharing data together, we use SVN to sharing works via internet and manage our version controls
well.
To start the system, the devices should be plugged in first. We plan to make the system itself check whether the hardware is plugged or not, else we will use
cautions instead. Also in-game control will using Leap Motion instead of keyboards and mouse (no keyboard or mouse needed while the system is running). The player
can use their hands to touch the button directly to choose control items or make decision.
Figure12: A dynamic system example
Senior Project 2014 VR Game using Oculus Rift
School of ICT, SIIT 12
Next the instruction panel will guide the player to cook step by step, a lso the soup will constantly change by timer. The estimate time for the system is around 2 minutes and the text will appear to remind the player about what to do next. When times
out, the score panel will come up and show the result.
Since this is a demo version and our first try about these in senior projects, a
lot needed to be improve and we could not done it so well in time limit. But we always think of how to make it fun and make sense for all people and make sure that this would
be call a game.
Senior Project 2014 VR Game using Oculus Rift
School of ICT, SIIT 13
10 References
[1] The Air Tactical Assault Group – Forum: http://theairtacticalassaultgroup.com
[2] Game Spot – News http://www.gamespot.com
[3] Wikipedia: http://en.wikipedia.org
[4] Flat Panels HD: http://www.flatpanelshd.com
[5] Rift Mod: http://riftmod.com
[6] Vireio Perception: http://www.vireio.com
[7] TangoChen Blog: http://tangochen.com
[8] Classroom Aquatic Kick Starter:
https://www.kickstarter.com/projects/2094628033/classroom-aquatic