0% found this document useful (0 votes)
317 views

Marker Based Maze Game Developed On Unity Software: A Project Report On

This document provides an overview of a marker-based maze game project developed using Unity software. It discusses the problem statement, motivation, software used including Unity and Vuforia, and interface design. The game aims to provide an augmented reality experience where players guide a ball through a 3D maze from start to finish within a time limit across three levels. Unity is used to develop the game and implement graphics, scripts, and game logic while Vuforia enables marker-based augmented reality by tracking images and positioning virtual objects in real-time.

Uploaded by

shashwat
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
317 views

Marker Based Maze Game Developed On Unity Software: A Project Report On

This document provides an overview of a marker-based maze game project developed using Unity software. It discusses the problem statement, motivation, software used including Unity and Vuforia, and interface design. The game aims to provide an augmented reality experience where players guide a ball through a 3D maze from start to finish within a time limit across three levels. Unity is used to develop the game and implement graphics, scripts, and game logic while Vuforia enables marker-based augmented reality by tracking images and positioning virtual objects in real-time.

Uploaded by

shashwat
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 22

A project report on

Marker Based Maze Game developed on Unity Software

Submitted for j component of the course

Human Computer Interaction– CSE4015


Under
Dr. Shashank Mouli Satapathy

Submitted by
Saumya Gupta(17BCE2157)
Shashwat Negi(17BCE0322)
Sarvesh S.Bibhuty(17BCE0963)

Slot – B2/TB2
Date 7th November 2019

1|Page
ACKNOWLEDGEMENT
I, the first author of this paper, wish to express my special gratitude to my mentor Dr. Shashank
Mouli Satapathy, without whose help this paper would be incomplete. His guidance, comments
and suggestions throughout the course of this project has been invaluable.

I am also deeply grateful for the esteemed institution VIT, Vellore for providing this
opportunity for us to delve into a project topic and familiarize ourselves with subjects as
presented in this paper.

I also wish to express my thanks to the authors of similar research papers whose work on
augmented reality has been extremely helpful in gaining an insight .

2|Page
INDEX

Acknowledgement…………………………………………………….2
1. Abstract……………………………………………………………...5

2. Problem Statement………………………………………………………5

3. Introduction………………………………………………………………6

4. Motivation……………………………………………………………....7

5. Software Used

5.1 Unity……………………………………………………………………8

5.2 Vuforia……………………………………………………………….....8

6. Interface Design…………………………………………………………9

7. Implementation in Unity

7.1 GUI of Unity 3D Game Engine………………………………………..10

7.1.1 Main Editor Window…………………………………………………10

7.1.2Hierarchy View……………………………………………………….12

7.1.3 Inspector…………………………………………………………….12

7.1.4 Scripts……………………………………………………………….13

7.2. Marker………………………………………………………………16

3|Page
8. Real Life Applications………………………………………………...18

9.Individual Contribution…………………………………………………..19

10. Conclusion…………………………………………………………….19

11. References

11.1Tutorials and URLs…………………………………………………20

11.2 Research Papers……………………………………………………21

4|Page
1.ABSTRACT
There are a number of games available these days for kids. Such games are very entertaining
and also teach people a number of things. A ball game is a very old and popular game. Almost
everyone would have played this game either on pen and paper or as a board game or on their
computers. In the game we are supposed to guide the ball through the maze from one end to
another.
Augmented reality is a hot trending topic these days. Augmented reality is an interactive
experience of a real-world environment where the objects that reside in the real world are
enhanced by computer-generated perceptual information, sometimes across multiple sensory
modalities, including visual, auditory, haptic, somatosensory and olfactory.
Making an AR based ball game with multiple levels and a time constraint would give user a
totally new and better experience of playing a traditional ball maze game.

2. PROBLEM STATEMENT
A maze is a structure surrounded by walls with numerous paths and passages, making it
difficult for anyone to pass from one end of the maze to the other. Just like the actual maze, in
this tutorial, we will develop a game which will have big walls as border and small internal
walls to create confusion for the player.

In this game we will use the ball movement concept, the ball will have to pass through the
walls, exploring the correct path from starting location to the end point using the motion
gestures and the gravity will work on it as well. We will have three levels of the game and
also a timer .Player is required to finish the level within the time constraint.

5|Page
3. INTRODUCTION

Augmented Reality (AR) refers to deploying virtual image over real-world objects. The
overlay is executed simultaneously with the input received from a camera or another input
device like smart glasses. This superimposition of virtual images over real-world objects
creates an illusion that can effectively engage users in a virtual world.

A maze is a structure surrounded by walls with numerous paths and passages, making it
difficult for anyone to pass from one end of the maze to the other. Just like the actual maze,
in this tutorial, we will develop a game which will have big walls as border and small
internal walls to create confusion for the player.

In this game we will use the ball movement concept, the ball will have to pass through the
walls, exploring the correct path from starting location to the end point using the motion
gestures and the gravity will work on it as well.

We will be having three levels of the ball maze game with a timer. Player is required to
finish the level within the time constraint and the player can move to next level only after
finishing the previous levels.

6|Page
4. MOTIVATION

Games covering curriculum will

 Increases A Child’s Memory Capacity

Games often revolve around the utilization of memorization This not only relates to games
whereby children have to remember aspects in order to solve the game, memorize critical
sequences, or track narrative elements.

 Be beneficial Specifically For Children With Attention Disorders

Research has revealed that online games can actually help children who experience attention
disorders. This was concluded by a professor at Nottingham University (CNN covered it here),
and is a notion which has been repeated by many in related studies.

Games for entertainment purposes focusing mental development will

 Help With Fast Strategic Thinking & Problem-Solving


Most games require children to think quickly. Moreover, they have to utilize their logic in
order to think three steps ahead in order to solve problems and complete levels. This is great
because it is something which helps children in later life as they develop their logic, their
accuracy and their ability to think on their feet and outside of the box.

 Help with Skill-Building (e.g. map reading)


A lot of games contain certain aspects which help children with specific skills. For example, a
lot of mystery and adventure games contain maps which children will have to read. This
obviously helps their map reading skills and practical thinking. Moreover, there are games,
such as football management games, which introduce children to managing finances and
general project management.

7|Page
5. Software Used

5.1 About Unity


Unity is a 3D Game Engine and Programming Development Environment. Unity 3D is a cross-
platform game engine with a built-in IDE developed by Unity Technologies. It is generally
used to develop video games for computer platforms such as web and desktop, consoles and
mobile devices, and is applied by several million developers in the world. Unity is primarily
used to create mobile and web games, but there are various games to be developed for PC. The
game engine was programmed in C/C+
+, and is able to support codes written in C#, JavaScript or Boo. It grew from an OS X
supported game development tool in 2005 to the multi- platform game engine that it is today.

Unity is the perfect choice for small studios, indie developers, and those of us who have always
wanted to make our own games. Its large user base (over 400,000 as of April 2011) and
extremely active user community allows everyone from newbies to seasoned veterans to get
answers and share information quickly.

Unity provides an excellent entry point into game development, balancing features and
functionality with price point. The free version of Unity allows people to experiment, learn,
develop, and sell games before committing any of their hard-earned cash. Unity is very
affordable, feature-packed Pro version is royalty free, allowing people to make and sell games
with the very low overhead essential to the casual games market.

5.2 About Vuforia

Vuforia is an augmented reality software development kit (SDK) for mobile devices that
enables the creation of augmented reality applications. It uses computer vision technology to
recognize and track planar images and 3D objects in real time. This image registration
capability enables developers to position and orient virtual objects, such as 3D models and
other media, in relation to real world objects when they are viewed through the camera of a
mobile device. The virtual object then tracks the position and orientation of the image in real-
time so that the viewer's perspective on the object corresponds with the perspective on the
target. It thus appears that the virtual object is a part of the real-world scene.
The Vuforia SDK supports a variety of 2D and 3D target types including ‘markerless’ Image
8|Page
Targets, 3D Model Target, and a form of addressable Fiducial Marker, known as a VuMark.
Additional features of the SDK include 6 degrees of freedom device localization in space,
localized Occlusion Detection using ‘Virtual Buttons’, runtime image target selection, and the
ability to create and reconfigure target sets programmatically at runtime.
Vuforia provides Application Programming Interfaces (API) in C++, Java, Objective-C++, and
the .NET languages through an extension to the Unity game engine. In this way, the SDK
supports both native development for iOS, Android, and UWP while it also enables the
development of AR applications in Unity that are easily portable to both platforms.

6.Interface Design
A number of guidelines were followed for designing the interface:
1. Use bigger fonts for clearer display of information.
2. Use good contrast in the display of elements in the interface for clearer display of information.
3. Every use action results in some change in the interface - color change of buttons when the
mouse hovers on it, the note gets enlarged when the user tries to drag it.
4. Consistent grammar and layout for all the text displayed.
5. Freedom of control to the user.
6. We are offering proper informative feedbacks by proper displaying game over and time out
situation.
7.Supported internal locus of control by making user in-charge to take very action by providing
them various buttons to navigate.

The interface was developed using the Adobe Photoshop CS5 suite.

9|Page
7. IMPLEMENTATION IN UNITY

7.1 GUI of Unity 3D Game Engine

Unity 3D game engine is one kind of visualized game engines. It integrates Animation
Mechanics, Character Mechanics, Player Mechanics, Environment Mechanics and
Programming Developer together. Also it supports online assets shop to designers. The
designers could find and buy abundant game assets. As well the designers could design their
own assets by themselves. In this section, the GUI of Unity 3D is demonstrated.

7.1.1 Main Editor Window

When the user runs unity for the first time, he or she will be required to register the product by
following the prompts. Registration can be done fast online even if the machine which the user
has installed it on is not connected to the Internet. To open with Unity, the user always starts
with a project.

The Main Editor Window indicates all tools and function windows. The first step of a designer
is to know this interface and what every button means, because almost all operations are done
in the window except programming edits. Every sub-window should be known well.

10 | P a g e
11 | P a g e
7.1.2 Hierarchy View
The Hierarchy View is used to store the specific objects in the Game Scene, such as camera,
texture 2D, texture 3D, light, box, spheres, cubes, models, plan, terrain. After any new game
project has been created, it is default to create a game scene and add the main camera to the
Hierarchy View of the scene.

The Hierarchy view indicates the game objects in the currently activated scene. Game objects
that are dynamically created and removed from the activated scene will emerge here when they
are created and activated in the scene

7.1.3 Inspector
The Inspector view is used to access various properties and components for the game objects
which the user has created and selected in either the Hierarchy or Project views. Other
object-related information can be

accessed here. For example, click the object that is in the scene view currently, the Main
Camera, created in the Hierarchy view, and then watch the Inspector view
The Inspector View is more complex relatively. It can be thought of as the space which stores
information of the game objects, game assets and game configuration. Whether selecting a
game object in the Hierarchy View, or a game asset in the Project View, Inspector View would
be opened.

12 | P a g e
7.1.4 Scripts
Scripts consist of four main types of components: variables, functions, equations, and
comments. Variables hold values that can be anything from numbers to text. Functions do
something, generally with variables and equations. Comments are ignored when the code is
executed, allowing the user to make notes about what the code is or should be doing or even to
temporarily disable the code.

When the user creates a new script with C#, a new script file would be created in the area
Assets>Script which is a folder that could be named by the user. If the user double-clicks this
file, and then the new script would be opened with Mono Develop as a new C# programming
file.

The function named Update is one of the most important functions in any game engine. This
function which is one of the system functions is checked at least every frame during runtime
to detect whether anything needs to be executed. For example, it can implement the animations
when a particular condition is met by checking. The scripting system is based on Mono, an
open-source version of .NET. Like .NET, mono supports many programming languages, but
Unity only supports C#, Boo, and JavaScript. Each language has its pros and cons. C# has the
advantage of having an official definition and many instructional books and online tutorials, is
the closest features to a main language on .NET and Mono, and thus used in plenty of
commercial and open-source software. But C# is the most verbose choice. In this game project,
the script language was C#.

All scripts were created with the JavaScript language. These scripts must be bound with special
prefabs or game objects. The version of C# in Unity is more succinct but apparently derived
from the Boo implementation and not quite standard C# script (so it has been suggested that it
be called Unity Script).

In this chapter, the Unity 3D game engine was introduced and the UI was indicated. The Scene
view is the environment of making a game, because it is the visual environment, and it supports
a huge convenience to designers. Every view and window plays the role of tools which could
decorate the game. The parameters of every object have to be set reasonably. The
implementation of the game is script. Every effective
script must be bound with object or prefab, in order for the object to be working.
13 | P a g e
14 | P a g e
15 | P a g e
16 | P a g e
7.2 Marker

17 | P a g e
8. REAL LIFE APPLICATIONS
Augmented reality (AR) is an interactive experience of a real-world environment where the
objects that reside in the real world are enhanced by computer-generated perceptual information,
sometimes across multiple sensory
modalities,including visual, auditory, haptic, somatosensory and olfactory. AR can be defined as
a system that fulfills three basic features: a combination of real and virtual worlds, real-time
interaction, and accurate 3D registration of virtual and real objects.

1) Games are widely played by people of all ages for entertainment and to relax their mind.
Such games can help people to develop their problem solving skills and solve the problem
in lesser time. Our AR based ball maze game can be played by people of all games. We
have three levels in the game with a time constraint and as one crosses one level, the level
gets harder.

2) The AR based ball maze game can be a useful tool for people recovering from paralysis
as this game will strength the hand – eye coordination required to solve the maze.

3) Because the proposed AR based ball maze game only requires one system and a series of
markers, this system can cater to a large number of people. As a source of entertainment,
the system can be installed in a shopping complex and people can carry markers, which
is cheap – weightless papers, to play the game.

4) The ball maze game can be a way to introduce the young generation to concept of
Augmented Reality. Playing the game they can easily understand the concept and
possibly make significant contribution in the field.

Augmented Reality is a trending topic nowadays. People prefer to play such AR based games
more than normal games. The game can be extended to a larger scale by adding more levels and
by making it more difficult.

18 | P a g e
9. INDIVIDUAL CONTRIBUTION
Names Contribution
Sarvesh Game Programming
Saumya Deigned levels on Adobe photoshop and
documentation
Shashwat Research analysis and worked on Vuforia

10. CONCLUSION

Maze 3D is a fun and exciting puzzle game in which as the title suggests, one must try and
guide a ball through a series of complicated 3D mazes. The mazes are beautifully rendered
and are based in some amazing space landscapes – you can view each side of the 3D maze
and you must guide the ball successfully through each panel to reach the end. Multiple levels
in the game make it more interesting and fun. Use of Augmented Reality gives one a totally
new experience of playing a ball maze game and it makes the user interface of the game
more interactive and the game more difficult.

We used Unity and Vuforia for making this game. The mazes are beautifully rendered and
are based in some amazing space landscapes – you can view each side of the 3D maze and
one must guide the ball successfully through each panel to reach the end.

19 | P a g e
11. REFERENCES

11.1 Tutorials and URLs

 http://www.justapixel.co.uk/how-to-make-an-ar-app-in-5-minutes-with-unity-and-
vuforia/

 https://youtu.be/uXNjNcqW4kY

 https://youtu.be/pMD0DnOqYnU

 https://youtu.be/IrO4mswO2o4

 Migram, P., Takemura, H., Utsumi, A., and Kishino, F., Augmented Reality: A class of
displays on the reality-virtuality continuum, Telemanipulator and Telepresence
Technologies, 282-292
 Qualcomm. (2018). Augmented Reality Technology and Apps, Vuforia, Qualcomm.
Retrieved from Qualcomm: http://www.qualcomm.com/solutions/augmented-reality
 Qualcomm. (2018). Developing with Vuforia, Vuforia Developer Portal. Retrieved
from Vuforia Developer Portal: https://developer.vuforia.com/resources/dev-
guide/gettingstarted
 Qualcomm. (2018). Natural Features and Rating, Vuforia Developer Portal. Retrieved
from Vuforia Developer Portal
 https://library.vuforia.com/articles/Solution/model-targets-user- guide.html

20 | P a g e
11.2 RESEARCH PAPERS

The Research of Virtual Reality Scene Modeling Based on Unity


3D
Abstract
The first question to make a virtual reality system is to create a virtual scene. This virtual
scene should be made up with factors which including three-dimensional (3d) model, 3d
animation, video, sound, etc. Because people's vision is the most sensitive, the 3d model for
the spread of information is the largest, and creating a realistic scenario model and a real-
time dynamic display effect for virtual reality system is very important. Unity 3d is a
development tool of which often used in the virtual reality system, but the scene model
making function and 3d animation production ability are not good, Published in: 2018 13th
International Conference on Computer Science & Education (ICCSE)

https://ieeexplore.ieee.org/document/8468687

A Study of Camera Application Methods in the Unity 3D

Abstract
Virtual reality eventually display need to use the camera, and the camera is an essential
element in virtual reality scene, through the camera to present 3d scene. This paper mainly
discusses the use of the camera in the virtual reality software Unity 3d.
Published in: 2018 13th International Conference on Computer Science & Education
(ICCSE)
https://ieeexplore.ieee.org/document/8468718

3D and 4D modeling for AR and VR app developments


Abstract
The design of three-dimensional and four-dimensional Apps, running on the leading
operating systems Android, iOS and Windows is the next challenge in Architecture, BIM,
Civil Engineering, Digital Cultural Heritage (DCH) preservations and many more. Based
on experiences developing Apps for archaeology and architecture, the paper introduces

21 | P a g e
with general workflows for 3D data collection, using laser scanning, geometric computer
vision and photogrammetry. The resulting point clouds have to be merged, using the most
recent developments of laser scanning, computer vision, photogrammetry and statistical
inference. 3D and 4D modeling is done using professional software from surveying and
computer graphics, such as Leica's Cyclone, Trimble's SketchUp and Autodesk 3ds Max.
Published in: 2017 23rd International Conference on Virtual System & Multimedia
(VSMM)
https://ieeexplore.ieee.org/document/8346270

22 | P a g e

You might also like