Faculty of Electrical and Computer Engineering
Department of Computer Engineering
Proposal for Thesis of Master's Degree in Computer Engineering
Virtual Reality Game Development platform model based on Unity Game Engine
Dr. Mina Zolfy Lighvan
Dr. Pedram Salehpour
TABLE OF CONTENTS
CRITERION FOR EVALUATING RESEARCH SUCCESS
Nowadays, virtual reality has become one of the main focuses in the world of technology and has many applications in various fields, such as education, design, entertainment, etc. Among these notable applications of virtual reality is virtual reality-based computer games. Developing video games for virtual reality on 2D screens limits the power of game developers' design abilities. Therefore, in this research, we attempt to provide a model for a virtual reality game development platform in which game development takes place in a virtual reality environment. Due to the depth-sensitive display that developers wear on their eyes, it is possible to touch the working interface and fully perceive all three dimensions, which results in a significant increase of power and creativity for game developers. In this research, Unity game engine will be used to implement the model, and the virtual reality device used will be the HTC Vive headset. This research will provide the developer with the fundamentals of a virtual reality game design platform, including game objects, game operators, logic, and effects. To implement each of these sections, it would be necessary to apply game development algorithms in each sector or to extend the existing algorithms to a three-dimensional space. By applying the aforementioned, a model is presented for a stable platform in the virtual reality environment, and the model implemented will be evaluated by developing several games in different genres and testing its performance by frame rate test, processor consumption, etc.
Key Words: Virtual Reality, Computer Games, Game Development, Unity Game engine, HTC Vive Headset
With the development of design technology and capabilities in virtual reality headsets and the popularity of this technology, we see new applications and branches emerge in the virtual reality world.
Virtual reality is a technology that transmits the sensation of being in a virtual space to the user by placing screens in front of the user's eyes and detecting his/her movement and location using different sensors.
With the growing need for this technology in various fields, the need for content development tools for virtual reality has become one of the newest topics in the world of technology. Despite the remarkable advancements in virtual reality headset development technology and the addition of many features such as head angle detection, motion field freedom, pupil focus recognition, 360-degree sound, and, software tools for content development for Virtual reality is yet limited.
Unity game engine is one of the most optimized and growing multi-platform game engines available to the public, unlike many game development engines that are exclusively developed and used by some game companies. This engine allows developers to develop different games for virtual reality, and they can use the Steam VR plug-in to develop virtual reality games in this environment for Personal Computers. As virtual reality technology is considered a new technology, development tools for this environment is limited. One of the problems with game development for virtual reality is the limitation of 3D space perception on 2D display screens. This reduces developers' ability to be creative and create innovative environments in the virtual reality environment. It is also not possible to view the fully developed environment in the editor, and to view the developed environment, it is necessary to run the game, which prevents developers from being able to edit the environment while seeing it.
To solve the problems of game development for virtual reality as well as to facilitate the development of games in this environment, we will present a model for the development of virtual reality games in the virtual reality environment itself. To do this, we need to develop a model that, as well as having the capabilities to develop a virtual reality game, is capable of using all the technologies in the HTC Vive virtual reality. To this end, existing development algorithms need to be modified to fit the virtual environment, or new algorithms need to be developed to adapt to HTC Vive's hardware. Choosing and writing appropriate algorithms in terms of performance and optimization in each segment for virtual reality is one of the main challenges of this model.
The overall model consists of 2 main parts:
Part One: Development Environment Settings
Some of the settings needed to develop a game for virtual reality are:
Game's scoring system
Number of scenes in the game
Level end conditions
Part Two: Available Assets
Effect and Particle System
Character Development System
Each of these parts has different features and components that need to be implemented with respect to existing hardware and system performance.
Overall, this model offers a new outline with the mentioned features that, if implemented, can help the development of game development for virtual reality grow significantly.
1. With what measurements will the available assets be chosen?
2. How will the development of environment's menus be designed?
3. What will be the noticeable elements in choosing the development algorithms?
1. The proposed model will allow developers to develop games without having to code outside of the virtual reality environment.
2. The proposed model will be able to use Unity's default components
3. The platform will have Unity's Physics implemented in itself.
4. The implemented model will be able to run without frame loss on systems that have VR Ready graphic chipsets and minimum required CPU and RAM.
Presenting a platform model for game development in virtual reality is a new idea, and unfortunately, dedicated sources about this subject are scarce.
In connection with the development of the Serrano-Laguna game engine, source  has developed a scalable engine for learning programming languages. Using the developed engine, a game was developed for learning the programming language and compared to the traditional way of learning programming languages. This article describes the needs of the game engine and discusses the principles of engine implementation according to these needs.
In , Bishop explores the principles of designing a computer game engine. The components of a game are reviewed, and the tools needed to implement each of these sections are explained. The design goals of different games have been investigated and the dynamics required for each of these games have been extracted.
Also, in , Popescu has sought to enhance the interaction between the player and the game world by introducing an engine that applies emotions to Non-Player Characters (NPC) using artificial intelligence. The algorithms used in this paper can also be applied in the virtual reality platform model.
In The Art of Game Design book , Jesse Schell elaborates on the basics of game design and explores the need to develop a variety of games according to their genres. The platform provided must meet the stated requirements.
The architecture used to implement the platform is also derived from Game Engine Architecture by Gregory , which describes in detail the architecture of each section and the principles of their implementation, considering the optimality condition.
In resources related to virtual reality, Cisneros  examines the impact of virtual reality on information science and provides a new definition of virtual reality, according to the studies conducted. Based on the description provided, we will expand our platform's features to suit virtual reality's capabilities.
First, the fundamentals of the model are designed by assessing the needs of developers. An implementation plan for the model is prepared, and complete design documents of different sections are prepared.
Next, the Steam VR plug-in is installed on the Unity Engine to make the HTC Vive headset available for game development.
Then, the model is implemented in this environment, according to the Design Document. In the model implementation, the platform development stage is first applied, which requires that all the gravity, weight, collision, motion, scoring, etc. algorithms be implemented along with the object rules algorithms. We will try to optimize the environment by synchronizing the algorithms in Unity with the virtual reality environment and the HTC Vive headset. Still, for some functions and rules such as Tile-map system in virtual reality or mobility Algorithms, we will need to write and implement new algorithms to fit the virtual reality environment.
Then the functionality and properties of the existing Assets will be implemented, and the dependencies and performance of each will be determined.
At the final stage of development, textures of game objects and characters will be applied.
Finally, after completion of the development, several games in different genres will be implemented, developed, and tested with the platform to evaluate performance, efficiently and optimally.
The implemented model is expected to provide developers with the ability to develop different games in a variety of genres with high complexity of scenes that can use all of HTC Vive's hardware including movement, location detection via Base-Stations, using HTC Vive Controllers and etc. for development and fully induce the developer in the 3D development environment. It is also expected that the implemented model will run on standard systems without frame drop or raising the processor's temperature.
The criterion for evaluating research success is divided into two parts:
1. The physics and logic of the development environment compared to the two-dimensional workspace provided in the reviewed platforms as well as the Unity engine itself.
2. Frame rate per second as well as processor and graphics card temperatures both in the development environment and in games developed by the platform on a standard system.
The frame rate should be above 30, and the processor temperature should not be above 80 degrees Celsius. The minimum standard system for virtual reality is an Intel i5-4590 processor and a VR Ready graphic chip (the weakest VR Ready graphics are the Nvidia GTX 970 graphic chipsets) with 4 GB of RAM.
 . Serrano-Laguna, J. Torrente, B.M. Iglesias, and B. Fernandez-Manjon, Building a Scalable Game Engine to Teach Computer Science Languages, 2015
 L. Bishop, D. Eberly, T. Whitted, M. Finch, and M. Shantz, Designing a pc game engine, 1998
 A. Popescu, J. Broekens, and M. van Someren, Gamygdala: An
emotion engine for games, 2014
 A. Cisneros, M. Maravilla, B. Murray, D. Scretching, A. Stoddard, and E.M. Redmiles, Defining Virtual Reality: Insights from Research and Practice, 2019
 Riecke, B.E., LaViola Jr., J.J., and, Kruijff, 3D User Interfaces for Virtual Reality and Games: 3D Selection, Manipulation, and Spatial Navigation., 2018
 J. Robertson and J. Good, Story creation in virtual game worlds, 2005
 J.Schell , The Art of Game Design, pp. 158-198, 2008
 J. Gregory, Game Engine Architecture, pp.32-54, 2009