Video games were considered around the 1950s to be a simple curiosity in the world of computers, [612130]

Introduction

Video games were considered around the 1950s to be a simple curiosity in the world of computers,
yet since then they have achieved world -wide popularity. They have become one of the top
industries of the economy.
Video games have become available on a variety of platforms such as personal computers, mobile
devices, and consoles. Video games are chosen by most people around the world to spend their
free time.
Having s pent many hours in front of the computer, I have proposed that the purpose of my work
is to develop a video game and understand the concepts behind it.
Developing a video game means creating it. The development of a game can be made by one
person or a larg er group. In general, computer games and other consoles are funded by a particular
company that publishes games, and their development may last for years. Conversely, Indie games
may take a shorter period to be made by a relatively small number of people o r individually.

Chapter 1

1.The Unity Game Engine

Unity's Unity Game Engine is the global leader in game creation. It is the engine that over 45% of
the world's developers, according to the Unity website. This makes Unity the most used engine in
the world. The same poll shows that its closest competitor is Unreal Engine 4, with a 17% share.

Unity is a C and C ++ gameplay written initially in 2005 (version 1.0), the last stable release of
which took place a few months ago (March 2016, version 5.3.4). Unity enjoys popularity thanks
to several factors: it offers solutions for both 2D and 3D application development that can be run

on a large number of platforms (Linux, Mac, Windows, Android, iOS, WebGL, BlackBerry, Xbox ,
Play Station, Nintendo WiiU & 3DS , etc.). Portability is not limited to environments where Unity
applications can be run. Thus, developers are not forced to opt for a particular platform for
development, and have the ability to use both Windows and MacOS as well as Linux (Ubuntu still
in beta). One of the aspects that proved to be very useful in my app's development process is the
ability to write and use scripts for almost anything, the most commonly used languages being C #
and Javascript.
The Unity game engine offers a wide range of f eatures and an interface that's pretty easy to
understand.
Unity is cross -platform, which means that games can be quickly and easily ported on other
platforms like Mac, Linux, Xbox, Playstation, Android, iOS, Windows, Phone, and BlackBerry,
which makes it a motor great game for video game development.
his game engine supports assets from known 3D applications such as 3ds Max, Maya, Softimage,
Cinema 4D, Blender and others, which means there are not many formats that Unity can not handle.
While it supports m ost formats of any 3D application, Unity does not have an advanced modeling
or building system, except basic tools, so everything needs to be created with 3D applications.
However, Unity has a fairly large library of assets where you can find and download lots of assets.
[1]

1.1 Competitors on the market

Unreal Engine
Unreal Engine is one of the most popular and used gaming engines. The first version was released
in 1998 and 19 years later continued to participate in building the best games each year. The most
famous projects made in Unreal Englne include the Gears of War series, Mass Effect, the Batman:
Arkham and many others. The latest version, Unreal Engine 4 allows the use of graphical
capabilities that were considered too heavy for a mobile platfo rm such as global illumination,
bump mapping, reflections and animations that are calculated in real time, and more.

This is an acceleration capability and algorithms that make it possible to use the most impressive
graphics on this platform, especially when it comes to limited computing power and the ability of
Unity3D to compete for the same system. However, there is a disadvantage, developers warn that
it is hard to learn, and some tools are not very easy to use. [2]
GameMaker
GameMaker Studio has beco me known as it does not require prior programming knowledge.
Thanks to this, developers can develop games easily and faster than programming with native
environments. Some notable projects made by this engine are Spelunky, Hotline Miami, Super
Crate Box, a nd Hyper Light Drifter. The significant disadvantage that this engine has over other
game engines on the market is the number of gear offered that is quite small.

CryEngine
CryEngine is a very powerful game engine. It includes lots of features such as phy sics-based
shading, cache geometry, and image -based lights. If the visual visibility is important to you, then
this is the engine you are looking for. The engine offers programming possibilities at the artist
level, which offers an incredible graphical pre sentation. Moreover, it has a very powerful audio
tool and allows easy programming of the interface, more than other motors in the market. On the
other hand, it is important to know that the environment is unfriendly for beginners. And because
the engine d oes not have much in common with the developers, the community is relatively small.

HeroEngine

HeroEngine is primarily built for multiplayer and online games. The system also includes
HeroCloud, which is designed for scripting, and the creation of phys ical systems, allowing
developers to work remotely in real time. It offers many open -world maps and a transition without
interruption between them. In addition, it provides an A.I. pretty good and easy to use tools. The
script is powerful enough to develop complex tasks.

RageEngine
The uniqueness of this engine is the power offered compared to other gaming engines. Only a few
engines can handle them. Among the most popular projects built with this engine such as the GTA
series, Red Dead Redemtion and Max P ayne. As for graphics, the engine offers a high level of
quality.
One of its drawbacks is the low number of tools compared to top -of-the-range engines such as
Unity and Unreal.

1.2 2D or 3D projects

Unity is also suitable for creating 2D and 3D games . When creating a new project in Unity, we
have the option to start in 2D or 3D mode.
Choosing the starting mode between 2D and 3D determines some settings for the Unity editor,
such as how images are imported, like textures or sprites. In any case, it can switch from 2D to 3D
mode at any time, no matter what we chose when we created the project. Games can be built in
several ways as below. [3]

Full 3D
3D games typically use three -dimensional geometry with materials and texture rendered on the
surface of GameObjects to make them appear as solid environments, characters and objects that
build the game world (Fig.1). The camera can be moved around the scene freely, with the lights
and shadows projected in the game in a very realistic way. 3D games use rende ring of the scene
using the perspective, so the objects appear larger on the screen as the camera is closest to them.

Ortografic 3D
Sometimes games use 3D geometry, but they use a spell camera (Fig.2). This is a technique that
in normal mode is used to p rovide a panoramic view of the action, and is sometimes called 2.5D.
If we want to make a game like this, we should use the editor in 3D mode, because even if we have
no perspective, we still work with models and Assets 3D. For this kind of games you have to
change the room and view the scene in spelling.

Full 2D
Many 2D games use flat graphics (Fig.3), sometimes called sprites, which do not have a three –
dimensional geometry at all. These are drawn on the screen as flat images, and the game room has
no perspective. For this type of game, the editor must be used in 2D mode.

2D gameplay with 3D graphics

Some 2D games use 3D graphics for environment and characters, but restrict gameplay in two
dimensions (Fig.4). For example, the camera can display a side view, and the player can only move
in two dimensions, but the game itself, uses 3D obstacle models and a 3D perspective of the room.
For this kind of games, 3D effects serve more for a realistic purpose than a functional one. This
type of games are so metimes classified as 2.5D. With all the gameplay being 2D, manipulation of
objects is done most in 3D, so you should open the editor in 3D mode for the first time.

2D gameplay and graphics with a perspective camera

This is another popular 2D game style, using 2D graphics, but with a snapshot. This is like a
cartoon -style scene where all the charts are flat but arranged at different distances from the room
(Fig.5). To develop this kind of games, it is preferable to use the editor in 2D mode.

1.3 Popula r Apps
Hearthstone: Heroes of Warcraft
Hearthstone: Heroes of Warcraft is an online card game, published by Blizzard Entertaiment.
Unlike other Blizzard games, Heartstone: Heroes of Warcraft is a free game but offers the
opportunity to buy books or mission s using real money.
The game was released in 2014, being available for iOS, Android, Windows and OS X, becoming
popular, with over 70 million players around the world.
Hearthstone: Heroes of Warcraft is a game built in the Warcraft universe with characters, magic
and stories related to the story. Use the rich world of Warcraft to create sets of large books
composed of shamans, warriors, and wizards (Fig.6). Players can choose different game modes,
each offering different experiences, Players start with a certain card bundle but can get strong cards
using the gold in the game. By simply playing, but effectively, Hearthstone will attract anyone in
a very short time. [4]

Battlestar Galactica Online

Battlestart Galactica Online was developed by Bigp oint Games and Artplant. Using the Unity
game engine for the game client in the browser.
Battlestart Galactica Online is a browser game based on television series of the same name. It is a
multiplayer online game where players take control of a spaceship a nd fight against other players
to get up and position themselves as high as possible.
Players have a choice between two parts: Colonial (human) or Cyclon and are fighting for the
resources they use to buy ships, equipment, ammunition and ship upgrades they already own
(Fig.7).
The game was released in 2011 and has since become very popular with more than 250 million
registered users. [5]

Kerbal Space Program
The Kerbal Space Program is a space flight simulation game, developed and published by Squad
in 2011, available for Windows, PlayStation 4, OS X, Linux and Wii U. In the shortest possible
terms, the Kerbal Space Program is rocket science simplified. It is a strategy game, planning and
execution, careful planning and proper execution offers some of the greatest rewards that can be
achieved in video games. [6]
The game revolves around Kerbals (Fig.8), some green humanoid aliens, who build spacecraft to
get into orbit or land on other planets. It focuses on real physics, that is to build a proper space
ship and send it into outer space, this being an extremely challenging and fun task, providing hours
of gameplay.

Pokémon Go

Pokémon Go is a free site -based game released in 2016, developed by Niantic and published by
The Pokemon Company for iOS and Andro id devices.
Pokemon Go offers players the ability to capture, train and participate in battles between Pokemoni.
Pokemonas appear on the device screen as if they were in the real world, these being possible by
using the GPS and camera device (Fig.9).
Pokém on Go has quickly become a global phenomenon, being one of the most used and profitable
mobile applications since 2016, with over 500 million downloads worldwide [7].

Superhot
Superhot is a first person shooter game developed and published by Superhot Team, released in
2016 for Windows, Linux, OS X and Xbox One.

The game follows traditionally the mechanics of a first person shooter, the player trying to destroy
enemy targets using different weapons. The goal of the game is to kill all enemies to finish the
level. The weapon taken by the player has limited ammunition, forcing the player to rely on
defeating enemies to get more ammunition. Taking a shot from an enemy bullet, he kills the player,
asking him to restart the game. [8]

Game mechanics is typic al for most shooters, time only progresses normally when the player
moves or pulls the gun, otherwise time is slowed down. This gives the player the opportunity to
change his actions to avoid the bullet route or to better assess the current situation by ma king
gameplay similar to strategy games. The game is presented in a very simple art style, with red
enemies and black weapons, in a white and gray environment (Fig.10).

Chapter 2

2.Technologists used

2.1 Unity
Unity is an engine and framework that provides a 2D and 3D game or 2D game design system.
Unity allows not just interaction. I say games or apps because they are not just games, there are
simulators and other Unity business -oriented applications that have to interact with 2D or 3D space.
Unity not only allows you to interact with the code, but also through visual components, and export
it to a lot of platforms, being free. Unity supports most 3D applications and lots of audio formats,
and also supports Photosop.psd format. Unity allows importin g and using assets, writing code to
interact with different objects, creating or importing animations to use in creating a complete
animation system, and more.

2.1.1
Unity features

Unity can export games to multiple plat forms, including Windows, Max, Linux, Android, iOS,
Windows Phone, Xbox, Playstation, Wii. This is exceptionally useful if we want to create a multi –
platform game since it is very easy to export.

Art assets can be directly imported from 3DS Max, Maya, Blender, Zbrush, Cinema 4D, Photoshop,
and more. Unity supports bump mapping, reflection mapping, advanced lights, shadows, and other
render effects.

Unity uses the Nvidia PhysX engine for a quick and accurate simulation between GameO bjects.
[9]

2.1.2 Unity Editor

The editor's main window consists of:

Project Window
The Project panel (Fig.11) retains all kinds of files and Assets that are part of the project, including
textures, sounds, scripts, models, plugins, and more.

The left part of the window shows the structure of the project as a hierarchical list. When selecting
a folder from the list using a click, the contents of the folder will appea r. On the right, the files in
the folder and their type are displayed.

Scene View
The scene (Fig.12) is the interactive view of the world we are creating. A scene shows the visual
representation of all the GameObets in the current scene, such as characters, cameras, lights, and
more. A game can be divided into multiple scenes and each scene can represent a different stage
of the game, such as the main menu, level 1, level 2, and a final game window. Through this panel,
GameObjets can be manipulate d by moving, resizing or rotation.

Hierarchy Window

The hierarchy contains a list of all GameOjects present in the current scene. Some of these are
Assets, like 3D models, and others are Prebabs, these objects being the largest part of the game.
As obje cts are added or removed from the scene, they will appear and disappear from the hierarchy.
Unity uses the concept of Parenting (Fig.13). When we create a group of objects, the one that is
the highest in the Hierarchy is the parent object, and all the obje cts grouped under it will be
descendants of it.

Inspector Window
Projects in the Unity Editor are made of several GameObjects that include scrips, meshes, and
other graphic elements such as lights. The Inspector window (Fig.14) displays detailed
GameObject information, which includes all the GameObject components and their properties,
allowing the GameObject functionality to be changed in the scene.

Game View
The Game window (Fig.15) becomes active when the game is running, that is when we press the
Play button. Unity allows you to run the game directly from the editor, which means that testing
and debugging become very fast. [10]

2.1.3 Reasons to use Unity

o Free of charge

Unity comes w ith a free version and one Pro. Unlike other programs, the free version is complete,
only lacking advanced features. Still, you can create a game without paying anything.
o Easy to learn

You would think that developing a game requires a profound understanding of the engine structure
and organization of the code. In Unity, all you have to do is create scripts and attach them to

GameObject. Scripts determine the role of a GameObject, and the interaction between
GameObjects in a game.

Possibility t o use multiple programming languages

Scripts in Unity can be written in three different programming languages, these are UnityScript, C
#, and Boo. UnityScript is a custom JavaScript version.

o There are a lot of tutorials

Since Unity is very popu lar, a lot of resources have come up to help you get a better understanding.
[7]

2.2 Microsoft Visual Studio
Microsoft Visual Studio is an integrated IDE development environment from Microsoft. It is used
to develop software for Microsoft Windows, such as Web sites, web applications, web services,
and mobile applications. Visual Studio uses Microsoft software development platforms such as
Windows API, Windows Forms, Windows Presentation Foundation, Windows Store, and
Microsoft Silverlight. Can produce both native code and managed code.
Visual Studio includes a code editor that supports IntelliSense, the code completion component,
and code refactoring. The integrated debugger works both as a source -level debugger and as a
machine -level debugger. Other embedd ed tools include a code profile, GUI designer designer, web

designer, class designer, and database schema designer. It supports plug -ins that improve
functionality at almost all levels, including adding support for source control systems such as
Subversion , and adding new toolkits, such as editors and visual designers, for domain -specific
languages or sets of tools for others aspects of the software development lifecycle such as Team
Foundation Server: Team Explorer.

Visual Studio supports 36 different p rogramming languages and allows the code editor and the
debugger to handle, to varying degrees, almost any programming language, provided there is a
language -specific service. Embedded languages include C, C ++ and C ++ / CLI, Visual C ++,
VB.NET throu gh Visual Basic .NET, C # through Visual C #, F # in Visual Studio 2010, and Visual
Basic TypeScript from Visual Studio 2013 Update 2. Support for other languages, such as Python,
Ruby, Node.js and M, among others, is available through language services in stalled separately. It
also supports XML / XSLT, HTML / XHTML, JavaScript and CSS. Java and J # have been backed
up in the past.
Microsoft provides a free version of Visual Studio called community edition that supports plugins
and is available for free. [8 ]

2.2.1 Microsoft Visual C#

The name of the C # language was inspired by the ♯ (diez) notation in music, which indicates that
the music note followed by ♯ is taller with a semiton. It is a similarity with the C ++ language
name, where ++ represents bot h the increment of a variable with the value of 1, but also the fact
that C ++ is more than C language.
The C # language was developed within Microsoft. The main creators of the language are Anders
Hejlsberg, Scott Wiltamuth and Peter Golde. The first widely deployed C # deployment was
launched by Microsoft as part of the .NET initiative in July 2000. From that point on, we can talk
about a spectacular evolution. Thousands of C, C ++ and Java programmers have migrated easily

to C #, thanks to the simila rity of these languages, but especially to the qualities of the new
language. At this point, C # has earned and continues to attract many followers, becoming one of
the most widely used languages in the world.
C # is a programming language developed by M icrosoft, initially within the .NET project, which
was then accepted as standard by Ecma (ECMA334) and ISO (ISO / IEC 23270: 2006). C #,
programming language is a general purpose, object -oriented, component -based. Being a general
purpose language, it offer s many ways to solve a wide range of issues. C # allows building web
applications through ASP .NET, desktop applications via WPF (Windows Presentation Foundation)
or mobile applications on Windows Phone. C # has an impact even in the cloud computing market ,
being in close relationship with the development of Windows Azure. [1]

Microsoft Visual C #, Microsoft's implementation of C #, targets the .NET Framework, along with
language services that enable Visual Studio IDE to support C # projects. While langua ge services
are part of Visual Studio, the compiler is available separately as part of the .NET Framework.
Visual C # 2008, 2010, and 2012 components support versions 3.0, 4.0 and 5.0 of the C #
specifications, respectively. Visual C # supports Visual Stud io class designer, Forms designer, and
data designer among others. [11]

2.2.2 Scheduling on objects

Object Oriented Programming is one of the most important steps taken in the development of
programming languages. This emerged from the need to express a problem in a way
more natural to the human being. In this way the units that form a program are very close to the
human way of thinking than the way the computer works.

Similar Posts