1. Game Software Development Trends
Konev Veronika
University of Applied Sciences Augsburg
Dept. of Computer Science
Baumgartnerstr.16
86161 Augsburg
veronika.konev@googlemail.com
Abstract.The high speed of the development of high technologies has touched all
spheres of our live. Technological progress is huge and rapid: recently, it was a part of
fantastic novels and now it is available to public. With thespeed of development and
thescientificachievements ofthe present, it ispossibleto turn to different things,
butintherole of absoluteetalonin its fullproportion, can appear the industry of
computergames development.This work dealswiththe currenttrendtechnologies in
game development. Specialfocus isonthe developmentofgamesoftwareinrelationtothe
basic element of thegame –thegame-engine.
1 Introduction
It seems not long ago video games were just simple fun.They didnot differ with a unique
storyline, and their graphic design left much to be desired. They were only a trivial fun for
a rather limited range of people, because computers were not widespread and created as a
special "game instrument". But today has dispelled all the stereotypes of the past times,
surpassing all conceivable expectations, because the creation and development of computer
games has become one of the world's greatest industries.Modern computer games give their
users incredible opportunities which can provide not only a terrific graphic processing and
realism, but many days and even months of exciting pastime. Revolutionary developments
in visualization and realistic game physics simply shock with the realism. Every possible
car- and air-simulators, simulators of sports and fantastic spaceships show almost absolute
similarity to a reality. Magnificent on dynamism and drive shooters are filled not only with
the best and the most up-to-date graphic cursors, but also with adrenaline.The genre of
computer strategy hasnot changed less. Its main asset was the deep modernization of the
behavior of the artificial intelligence of the enemy, who approached to come so close to the
behavior of a real person, which becomes harder to distinguish one from another.
2 Construction of a Computer Game
A computer game consists of several basic modules that are often reusable as much as
possible and make the development of a game easier and faster. The figure 1 presents the
rough construction of a game.
1
2. The general structure of a game you
can imagine as following: there is a
Hardware Abstraction Layer at the
lowest point. It is used to hide details
of the hardware control and to join
the game engine with the hardware.
The next level is represented by a
game engine, which is the real core
of a game. It can be used as a single
engine that does all the basic tasks of
the game. Another option is to divide
the tasks. Thus, a specific engine for
physics simulations is used, while the
sound output is accepted by another
engine. These different engines which are used in a game are licensed and often produced
by different manufacturers that specialize in a particular area.
The engine determines largely the look of the game. New technical developments that are
to be used in the game require usually wide changes or full redevelopment of the available
libraries. For this reason, the time
Figure 1: The general structure of a game [1]
over which a particular engine is
used, is significantly shorter than on
the lower level. Nevertheless, an engine is often used in more than one generation of a
game.
The engines are forced to be adapted to the development, because a growing part of the
graphic functions is implemented directly in the hardware of the graphic card. However,
they donot access these card functions, but with a help of the driver, basically its own
Hardware Abstraction Layer of the graphic card, which is usually produced directly by the
manufacturer of graphic chips.
An important part of the game, which usually exists parallel to the actual engine, is the used
artificial intelligence (AI). Often total scripting languages are used to manage the behavior
of computer players, if more flexibility is desired. According to the basic approach, these
scripts can also be changed later on and make it possible to adapt, for example for mods or
several levels of difficulty.
At the top level, and thus directly visible to the user, is the content of the game. It includes
the graphic, sound and music. The structure of the individual level and the background
history of the game are also the important parts of content.As this is the field, which will be
understood by the user as "the game", there are often several games that differ only in the
content and hardly in the program code. This you can often meet by the followers or
extensions of successful titles. This point is very important because by the creation of the
content almost no software developers will be needed, but especially designers, musicians
and actors will be required. [1]
3 GameEngine Technology
From the functional point of view the most computer games have the same functionalities.
For instance, if you take an FPS-Game (First Person Shooter), you will have the movement
in a virtual area as an essential function. That is why the developers decided to create Game
2
3. Engines which provide these fundamental functions and could be used for games of a
specific type. [6]
Therefore the game engine is a system for the faster development of a video game. The
core functionality provided by a game engine consists of a rendering engine for 2D and 3D
graphics, a physical engine or collision detection, sound, scription, animation, artificial
intelligence, networking, streaming memory management, threading, localization support,
and a scene graph (see figure 2). Reusing and adjusting a game engine for different games
you can save your resources, thus the games based on a specific game engine always look
pretty the
Figure 2: Architecture of a game engine [2]
same.
Game engines close in themselves not only different engines, they also provide a
development environemnt and a variety of toolkits which accelerate the development of a
game.The most game engines offer the possibilities that make the implementation of the
graphics, sounds, physics and AI-functions easier.
These game engines are sometimes called „middleware― because they provide a very
flexible and reusable plattform including all the core functionalities. As the other
middleware game engines offer the game engines platform abstraction. Slight code changes
(or even none) make possible to run the developed games on PC, game consoles and
smartphones. Often it is possible to extend a game engine by additional components or to
replace some built-in ones. The license costs for the game engines are very different: from
the Open-Source license to hundred of thousends dollars licenses.
Some modern game engines give the possibility to develop the currently popular 3D games.
Though they offer the real-time 3D rendering only, withount any additional components a
game engine is expected to contain. These game engines are called 3D or graphic engines.
In this way the graphic engines make the development of the game design easier and are
reponsible for the efficient representation of the virtual worlds. [7]
Recent Trends of Game Engine Technology
Game engines are not used in the game development only, but also in some other kinds of
the interactive applications with graphical real-time purposes such as marketing demos,
military and medical simulations, architecticalvisualiazations etc. Due to the technical
3
4. progress new hardware plattforms including the cell phones (e.g. Android, iPhone,
Windows Phone) and web browsers (e.g. Shockwave, Blitz, Silverlight) are focused now as
well. There are already several 2D and 3D game engines for Android Phone: for example
Untity3D 3.0, Airplay SDK 4.2, DX Studio, AndEngine.[15] For the game development for
iPhone are used game engines like Cocos 2D IPhone, Galaxy Game Engine, Unity 3D and
many others. [16] [3]
The higher level languages (Java, C#/.NET) tend more and more to be used in the game
engine development. Since the most 3D games are limited by the power of the graphics
card, the slowing downs of the higher level languages become irrelevant on the one hand.
On the other hand these languages provide the productivity profits that become the game
engine developer advantage. These new trends are used by Microsoft to support the 'Indie'
game development.
Figure3: Game development without XNA and Multi-platform game development with XNA [13]
Such technology is XNA (XNA is not an acronym) that was developed as the SDK of
choice for all video games released on XBox and related products. This includes the XBox
Live Indie Games channel designed specifically for smaller developers who donot have the
extensive resources necessary to box games for sale on retail shelves. It is becoming easier
and cheaper than ever to develop game engines for platforms that support managed
frameworks. XNA allows one to make games for Windows, Windows Phone and Xbox 360
platforms using the same code and assets (see figure 3). So a rapid development process has
to be enabled and the rising costs of the game development have to be reduced. [8]
4Multimedia Graphics Libraries
Most often, 3D engines or the rendering systems in game engines are built upon a graphics
application programming interface such as Direct3D or OpenGL which provides a software
abstraction of the graphics processing unit or video card. DirectX and OpenAL are also
commonly used in games as they provide hardware-independent access to other computer
hardware such as input devices (for example mouse, keyboard, and joystick), network
cards, and sound cards. [8]
At the moment there are two mostly widespread multimedia libraries which can be used as
Hardware Abstraction Layer in a game. This is the programming interface of Microsoft
DirectX and OpenGL graphic library for platform independent game development.
OpenGL is an open standard that can be used free of charge on all operating systems. In
opposition to OpenGL, DirectX is an interface developed by Microsoft. It consists of
several subsystems. OpenGL can be compared with DirectX Graphics. The sound part of
4
5. DirectX would be the equivalent to OpenAL, an open audio standard. Because DirectX is
developed by Microsoft, it can be found only on Microsoft operating systems. OpenGL is
an industrial standard, and therefore it cannot be ignored by Microsoft. The latest version of
Windows includes OpenGL. In the 3D-technology OpenGL and DirectXare almost on the
same level. [5]
5Sound in Games
To create an even more realistic gaming environment, sound had to be as real as the
graphics that were displayed on screen. Sounds systems for game engines have been
neglected in the past but modern engines are starting to use 3D effects and other features in
their sound systems.The concept of 3D sound means that sound sources are located in the
3D space around the listener. Each sound source represents an object in a virtual game
world able to produce sound. 3D sound positioning means that the sound can be placed on
the level and when player hears the sound, it sounds like coming from the correct direction
based on the positions.
EAX is a sound technology for creating a interactive 3D audio in gaming. A tone is
recorded once and played under different conditions by using of EAX filters. In this way
the game notifies the EAX which environment the tone has to use. The last versions of
EAX support the sound output by up to eight speakers. Thus you get the feeling of the real
tone.
Dolby Digital Live (DDL)is a technology to encode data for multimedia applications, such
as video games, in real-time. It converts analog audio signals from a PC or game console
into a 6-channel Dolby Digital format. The SoundStorm, used for the Xbox game console
and certain PCs, used an early form of this technology. Dolby Digital Live is currently
available in sound cards, as well as on motherboards with certain codecs from Realtek.
OpenALis,as already described on top, an open audiostandard independent of platform
which shows an audio-enlargement to OpenGL and is leant by the construction, program
style and name conventions an OpenGL.It was designed for efficient rendering of multi-
channel 3D-positional audio.Due to good portability the OpenAL has gained the wide
spreading nowadays.From a programmer's perspective, very little additional work is
required to make this happen in an existing OpenGL-based 3D graphical application.
DirectSoundis a rival to OpenAL and is used to the reproduction and admission by sound
effects.It provides a standardized interface for high-level applications to interface with
sound card drivers. DirectSound provides many needed capabilities such as recording and
mixing sound, adding effects, using hardware buffers to enhance performance, positioning
sounds in 3D spaces, capturing sounds from input sources and controlling capture effects
during audio capture.DirectSound, and its DirectSound3D extensions, are components of
the DirectX library,supplied by Microsoft, that resides on a computer with the Windows
operating system. [6] [9]
6 Speech Recognition
5
6. Acoustic signals, effects and spoken text become to increasing extent and better and better
becoming qualitywith computer games assigned .A game feature that is closer to becoming
common is voice control.One of the first games which has integrated an easy speech
recognition was Nintendogs.It is relatively simple for a game to use single word
commands—even most mobile phones now have some form of voice recognition.But
beyond recognition of single words, the great leap forward in this trend will require leaps
and bounds in natural language programming. Eventually, players will be able to hold
simple conversations with characters in a game, or characters in a game will be able to
synthesize conversations between themselves. This technology will inevitably appear in
titles like The Sims, but it is unclear when the technology will mature. [10]
7 Artificial Intelligence
One of the game components is the Artifical Intelligence (AI), which becomes more and
more important for interesting games nowadays. It is used in games to give player an
opponent to play against. Even simple puzzle games like Tetris have some kind of AI
which decides what kind of piece falls next. Here are some types of AI that are used in the
game development:
Bot is a computer controlled "player" used in multiplayer games. Bots can be used both as
enemies or team mates in different kinds of game modes to stand in place of missing human
players.
Line of Sight checking is used to decide if one can see from point A to point B inside the
game level. Bots use these checks to resolve if they "see" different objects on the level.
Natural language processing is used in some games so that player types in natural language
sentences instead of choosing them from amenue.
Path finding is important as it is used by bots to find different places in the level. Some
games use static path finding so that path nodes and waypoints must be placed to the map
in order for the bots to work. Other games use dynamic style path finding so that the bots
learn the levels during the play.
Scripting support determines whether bots in the game can be scripted to do certain
sequences.
State machines are used when programming AI to the game. There are different states for
different behaviors like roaming, driving vehicles and fighting with the enemies.
Fuzzy logic replaces the boolean logic (true or false) with multiple degrees of the truth,
vague definitions of different sets. This can be used in the game's AI code.
Team based AI means that computer opponents or player's allies can work as a team
making decisions based on the status of the whole team.
Emotional AI is a new trend in games. It is used for programming the behavior of non-
player characters in a way that it cannot be told apart from the behavior of real people. This
makes the game more interesting for the players.[9]
6
7. 8 Cloud Gaming
Figure4: The Cloud-Concept at the example of Games@Large [12]
Cloud gaming is a new type of computer gaming. This game will be played not at the local
hardware, but on a server in a computing center. The image is streamed on the computer of
the player as a livestream. Incidentally, the keyboard and mouse commands of the user are
transferred to the server. The figure 4 shows the cloud concept using the the
exampleofGames@Large: the client forwards the input instructions of the gamepad to the
server via network where the actual game is running and the compressed audio and video
output via network is send back to client.The great advantage of this method is that no more
high-end-hardware is required to play a game with increased hardware requirements, since
it's only running on the server side. The operating system that is installed on the client is
also irrelevant. So also games that require DirectX may normally be played on a Mac. It
will even work on Tablet or smartphones. Cloud gaming reduces the need for video game
consoles. For example, OnLive offers on-demand access to various games that you can play
on your computer. This means that you never need to upgrade your hardware. [11][12]
9 Mobile Gaming
Mobile Gaming is the perfect option for the gaming on the way. Most smartphones allow
you to play games anytime and anywhere.Mobile games are developed using platforms and
technologies such as Windows Mobile, Palm OS, Symbian, Adobe Flash Lite, NTT
7
8. DoCoMo's DoJa, Sun's Java ME, Qualcomm's BREW, WIPI, Apple iOS or Google
Android.
Because of the nature of mobile games, many such games trade sophisticated graphics for
better and more interactive gameplay. Current mobile games provide a simple gameplay
experience with little thrill. This is set to change in the near future, as mobile games begin
to take advantage of a player's context (i.e. location and surroundings) to improve the
gaming experience. While early games attempted to use Infrared (IR), Bluetooth and GPRS
to emulate a multi-player environment, such games left much to be wanting. With the
emergence of 3G and WiFi mobile standards, together with greater mobile processing
power, mobile games that incorporate multi-user and location-specific features will drive
the numbers of mobile gamers upwards.
3G
3G has been touted as a third-generation technology in the context of mobile phone
standards. 3G services included video-voice telephony and broadband wireless data. Video
telephone capabilities has often been suggested as the most innovative and useful
application for 3G. An important feature of 3G is its ability to allow service operators to
offer data and voice services to a larger number of concurrent consumers — especially in
urban centres — as well as provide higher data rates at lower incremental cost than 2G.
phoneME
phoneME is a project of Sun Microsystems. This is a reference implementation of Java
virtual machine and associated libraries of Java ME with source, licensed under the GNU
General Public License. phoneME includes a subset of the original Java platform's features
that is aimed at providing a collection of Java interfaces for the development of cross-
platform mobile software, like mobile phones and PDAs.[6]
10 Online Gaming and Gaming with Social Networks
Online games gain the popularity more and more. Especially the games in the social
networks such as Facebook and MySpace are popular. The social networks provide the
wider network and several opponents to the player.
The games in the social networks are mostly browser-based games. This means they do not
need an installation on the user's computer and can be played on multiple different devices
or web browsers a social network is available through. The technologies used for the game
development for the social networsks are Adobe Flash, PHP or JavaScript. For the
development of the certain games all of the technologies can be used as a complex.In
addition, dedicated graphics technologies such as SVG (Scalable Vector Graphics) and
canvas allow for the fast rendering of vector andraster graphics respectively. Since few
years it is possible to insert 3D graphics into online games.WebGL(Web-based Graphics
Library) extends the capability of theJavaScriptprogramming language to allow it to
generate interactive3D graphicswithin any compatibleweb browser. [14]
8
9. 11 Motion-controlled Games
With the appearance of the Wii-Consoles the face of video games has completely
changed.The motion-controlled games offer you the ability to interact with the game in
ways you never have before, especially when you're engaging in activities like sports or
fitness. With motion-controlled gaming you are not tethered to a controller, so you can
imitate more true-to-life gestures.Now, with Microsoft Kinect and Sony Move, motion
controlled games are continuing to develop.This trend will further continue. [4]
12Conclusions
In this work the main trends of the games development in the past years were considered.
The main difference between the modern games and the last generation games is mostly the
graphic quality. The progress in game development runs parallel to the progress of the
computer hardware development. More powerful video cards and processors are coming
every year and the video game industry adjusts their games to the new hardware. The most
important development trends in the game industry can be derived from:
Spreading online games of different genres
Introduction of technologies of the augmented reality on the consoles and PCs
Appearance of new-generation-multimedia-hybrid devices: TV, computer, audio
stereo system, game console in one multimedia engine
Spreading of the 3D-technology
The next important step in the game-development industry will be the increase of the reality
in games.Video games have reached the next level in development like the Nintendo 3DS
and PlayStation 3 games. Now you can submerge yourself within the game and bring the
game's characters and features to life with high end graphics. With AR, the line between
real life and games is blurring.By the usage of 3D-glasses it not possible to distinguish
between reality and virtual reality. [4]
References
[1] Weber, N. (2006) Spiele-Software und Open Source.Retrived 2011-02-
04.http://ig.cs.tu-berlin.de/lehre/da/Weber-Spiele-softwareUndOpenSource-2006-07-
04.pdf
[2] Kline, C. (2011) Game Architecture. Retrived 2011-02-
04.http://www.cis.cornell.edu/courses/cis3000/2011sp/lectures/10-
GameArchitecture.pdf
[3] The Commercial iPhone Game Engine Comparison (3D and 2D).(2009)Retrived 2011-
03-04.http://maniacdev.com/2009/09/the-commercial-iphone-game-engine-
comparison-3d-and-2d/
9
10. [4] Rothman, R. (2010) 8 Video Game Trends.Retrived 2011-03-
04.http://www.goodhousekeeping.com/product-testing/from-the-lab-blog/8-video-
game-trends#ixzz1IgqC2BXf
[5] OpenGL.(2009)Retrived 2011-05-04.http://wiki.delphigl.com/index.php/OpenGL
[6] ChenShenglong, B., Goh C. S., Koh Z. H., Lin, J. &SimKuangwei, D. (2007)
Underlying Game Technology.Retrived 2011-08-
04.http://www.ssagsg.org/LearningSpace/EntertainmentGaming/GameTechnology.ht
m
[7] agda.org. Retrieved 2011-14-04.
http://www.agda.org.tw/AGDAEnglishversion/userguideintro.html
[8] Game engine. (2011) Retrived 2011-12-04.http://en.wikipedia.org/wiki/Game_engine
[9]Korva, T. Open Source & Low Cost Game Engine. Retrived 2011-14-
04.http://ludocraft.oulu.fi/elias/dokumentit/open_source_game_engines.pdf
[10] West, M. Trends in Game Programming. (2007) Retrived 2011-12-
04.http://cowboyprogramming.com/2007/01/05/trends-in-game-programming/
[11] Cloud Gaming. (2010) Retrived 2011-17-04.http://www.giga.de/usernews/00026347-
artikel-cloud-gaming/
[12]Austinat R., Fechteler P., Gieselmann H. (2010) Über den Wolken: Wie Cloud Gaming
den Spielmarkt revolutioniert. c’tmagazin, 21/2010, p. 76
[13]Budkovez, J. (2011) Разработкаигр с помощьюXNA.Retrived 2011-12-
04.http://www.slideshare.net/AlexTumanoff/xna-7269364
[14]Browser game.(2011)Retrived 2011-12-04.http://en.wikipedia.org/wiki/Browser_game
[15] Fitzner, F. (2010) Android Game Engines / Engines List. Retrived 2011-12-
04.http://www.xing.com/net/androids/android-game-engines-engines-list-
553242/android-game-engines-engines-list-29951892/
[16] iPhone Game Engine Comparison – Open Source. (2009). Retrived2011-03-
04.http://maniacdev.com/2009/08/the-open-source-iphone-game-engine-comparison/
10