Virtual Reality Game using Oculus Riftict.siit.tu.ac.th/senior-itcs/final/report-cn1.pdfside effects...

16
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 19 th May 2015

Transcript of Virtual Reality Game using Oculus Riftict.siit.tu.ac.th/senior-itcs/final/report-cn1.pdfside effects...

Page 1: Virtual Reality Game using Oculus Riftict.siit.tu.ac.th/senior-itcs/final/report-cn1.pdfside effects of using VR monitors which could harm players below 18 and greater than 40. Figure4

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

Page 2: Virtual Reality Game using Oculus Riftict.siit.tu.ac.th/senior-itcs/final/report-cn1.pdfside effects of using VR monitors which could harm players below 18 and greater than 40. Figure4

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

Page 3: Virtual Reality Game using Oculus Riftict.siit.tu.ac.th/senior-itcs/final/report-cn1.pdfside effects of using VR monitors which could harm players below 18 and greater than 40. Figure4

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%

Page 4: Virtual Reality Game using Oculus Riftict.siit.tu.ac.th/senior-itcs/final/report-cn1.pdfside effects of using VR monitors which could harm players below 18 and greater than 40. Figure4

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

Page 5: Virtual Reality Game using Oculus Riftict.siit.tu.ac.th/senior-itcs/final/report-cn1.pdfside effects of using VR monitors which could harm players below 18 and greater than 40. Figure4

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

Page 6: Virtual Reality Game using Oculus Riftict.siit.tu.ac.th/senior-itcs/final/report-cn1.pdfside effects of using VR monitors which could harm players below 18 and greater than 40. Figure4

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.

Page 7: Virtual Reality Game using Oculus Riftict.siit.tu.ac.th/senior-itcs/final/report-cn1.pdfside effects of using VR monitors which could harm players below 18 and greater than 40. Figure4

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

Page 8: Virtual Reality Game using Oculus Riftict.siit.tu.ac.th/senior-itcs/final/report-cn1.pdfside effects of using VR monitors which could harm players below 18 and greater than 40. Figure4

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

Page 9: Virtual Reality Game using Oculus Riftict.siit.tu.ac.th/senior-itcs/final/report-cn1.pdfside effects of using VR monitors which could harm players below 18 and greater than 40. Figure4

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.

Page 10: Virtual Reality Game using Oculus Riftict.siit.tu.ac.th/senior-itcs/final/report-cn1.pdfside effects of using VR monitors which could harm players below 18 and greater than 40. Figure4

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

Page 11: Virtual Reality Game using Oculus Riftict.siit.tu.ac.th/senior-itcs/final/report-cn1.pdfside effects of using VR monitors which could harm players below 18 and greater than 40. Figure4

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

Page 12: Virtual Reality Game using Oculus Riftict.siit.tu.ac.th/senior-itcs/final/report-cn1.pdfside effects of using VR monitors which could harm players below 18 and greater than 40. Figure4

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.

Page 13: Virtual Reality Game using Oculus Riftict.siit.tu.ac.th/senior-itcs/final/report-cn1.pdfside effects of using VR monitors which could harm players below 18 and greater than 40. Figure4

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

Page 14: Virtual Reality Game using Oculus Riftict.siit.tu.ac.th/senior-itcs/final/report-cn1.pdfside effects of using VR monitors which could harm players below 18 and greater than 40. Figure4

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

Page 15: Virtual Reality Game using Oculus Riftict.siit.tu.ac.th/senior-itcs/final/report-cn1.pdfside effects of using VR monitors which could harm players below 18 and greater than 40. Figure4

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.

Page 16: Virtual Reality Game using Oculus Riftict.siit.tu.ac.th/senior-itcs/final/report-cn1.pdfside effects of using VR monitors which could harm players below 18 and greater than 40. Figure4

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