• Save
Game software development trends
Upcoming SlideShare
Loading in...5
×
 

Game software development trends

on

  • 1,378 views

Game Software Development Trends - Overview Paper

Game Software Development Trends - Overview Paper

Statistics

Views

Total Views
1,378
Views on SlideShare
1,378
Embed Views
0

Actions

Likes
3
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Upload Details

Uploaded via as Microsoft Word

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Game software development trends Game software development trends Document Transcript

    • 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 IntroductionIt seems not long ago video games were just simple fun.They didnot differ with a uniquestoryline, and their graphic design left much to be desired. They were only a trivial fun fora rather limited range of people, because computers were not widespread and created as aspecial "game instrument". But today has dispelled all the stereotypes of the past times,surpassing all conceivable expectations, because the creation and development of computergames has become one of the worlds greatest industries.Modern computer games give theirusers incredible opportunities which can provide not only a terrific graphic processing andrealism, but many days and even months of exciting pastime. Revolutionary developmentsin visualization and realistic game physics simply shock with the realism. Every possiblecar- and air-simulators, simulators of sports and fantastic spaceships show almost absolutesimilarity to a reality. Magnificent on dynamism and drive shooters are filled not only withthe best and the most up-to-date graphic cursors, but also with adrenaline.The genre ofcomputer strategy hasnot changed less. Its main asset was the deep modernization of thebehavior of the artificial intelligence of the enemy, who approached to come so close to thebehavior of a real person, which becomes harder to distinguish one from another.2 Construction of a Computer GameA computer game consists of several basic modules that are often reusable as much aspossible and make the development of a game easier and faster. The figure 1 presents therough construction of a game. 1
    • The general structure of a game youcan imagine as following: there is aHardware Abstraction Layer at thelowest point. It is used to hide detailsof the hardware control and to jointhe game engine with the hardware.The next level is represented by agame engine, which is the real coreof a game. It can be used as a singleengine that does all the basic tasks ofthe game. Another option is to dividethe tasks. Thus, a specific engine forphysics simulations is used, while thesound output is accepted by anotherengine. These different engines which are used in a game are licensed and often producedby different manufacturers that specialize in a particular area.The engine determines largely the look of the game. New technical developments that areto be used in the game require usually wide changes or full redevelopment of the availablelibraries. For this reason, the time Figure 1: The general structure of a game [1]over which a particular engine isused, is significantly shorter than onthe lower level. Nevertheless, an engine is often used in more than one generation of agame.The engines are forced to be adapted to the development, because a growing part of thegraphic 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 ownHardware Abstraction Layer of the graphic card, which is usually produced directly by themanufacturer of graphic chips.An important part of the game, which usually exists parallel to the actual engine, is the usedartificial intelligence (AI). Often total scripting languages are used to manage the behaviorof computer players, if more flexibility is desired. According to the basic approach, thesescripts can also be changed later on and make it possible to adapt, for example for mods orseveral levels of difficulty.At the top level, and thus directly visible to the user, is the content of the game. It includesthe graphic, sound and music. The structure of the individual level and the backgroundhistory of the game are also the important parts of content.As this is the field, which will beunderstood by the user as "the game", there are often several games that differ only in thecontent and hardly in the program code. This you can often meet by the followers orextensions of successful titles. This point is very important because by the creation of thecontent almost no software developers will be needed, but especially designers, musiciansand actors will be required. [1]3 GameEngine TechnologyFrom 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 movementin a virtual area as an essential function. That is why the developers decided to create Game 2
    • Engines which provide these fundamental functions and could be used for games of aspecific type. [6]Therefore the game engine is a system for the faster development of a video game. Thecore functionality provided by a game engine consists of a rendering engine for 2D and 3Dgraphics, a physical engine or collision detection, sound, scription, animation, artificialintelligence, networking, streaming memory management, threading, localization support,and a scene graph (see figure 2). Reusing and adjusting a game engine for different gamesyou can save your resources, thus the games based on a specific game engine always lookpretty the Figure 2: Architecture of a game engine [2]same.Game engines close in themselves not only different engines, they also provide adevelopment environemnt and a variety of toolkits which accelerate the development of agame.The most game engines offer the possibilities that make the implementation of thegraphics, sounds, physics and AI-functions easier.These game engines are sometimes called „middleware― because they provide a veryflexible and reusable plattform including all the core functionalities. As the othermiddleware 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 andsmartphones. Often it is possible to extend a game engine by additional components or toreplace some built-in ones. The license costs for the game engines are very different: fromthe 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 agame 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 arereponsible for the efficient representation of the virtual worlds. [7]Recent Trends of Game Engine TechnologyGame engines are not used in the game development only, but also in some other kinds ofthe interactive applications with graphical real-time purposes such as marketing demos,military and medical simulations, architecticalvisualiazations etc. Due to the technical 3
    • 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 aswell. There are already several 2D and 3D game engines for Android Phone: for exampleUntity3D 3.0, Airplay SDK 4.2, DX Studio, AndEngine.[15] For the game development foriPhone are used game engines like Cocos 2D IPhone, Galaxy Game Engine, Unity 3D andmany others. [16] [3]The higher level languages (Java, C#/.NET) tend more and more to be used in the gameengine development. Since the most 3D games are limited by the power of the graphicscard, 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 gameengine developer advantage. These new trends are used by Microsoft to support the Indiegame 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 ofchoice for all video games released on XBox and related products. This includes the XBoxLive Indie Games channel designed specifically for smaller developers who donot have theextensive resources necessary to box games for sale on retail shelves. It is becoming easierand cheaper than ever to develop game engines for platforms that support managedframeworks. XNA allows one to make games for Windows, Windows Phone and Xbox 360platforms using the same code and assets (see figure 3). So a rapid development process hasto be enabled and the rising costs of the game development have to be reduced. [8]4Multimedia Graphics LibrariesMost often, 3D engines or the rendering systems in game engines are built upon a graphicsapplication programming interface such as Direct3D or OpenGL which provides a softwareabstraction of the graphics processing unit or video card. DirectX and OpenAL are alsocommonly used in games as they provide hardware-independent access to other computerhardware such as input devices (for example mouse, keyboard, and joystick), networkcards, and sound cards. [8]At the moment there are two mostly widespread multimedia libraries which can be used asHardware Abstraction Layer in a game. This is the programming interface of MicrosoftDirectX 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. Inopposition to OpenGL, DirectX is an interface developed by Microsoft. It consists ofseveral subsystems. OpenGL can be compared with DirectX Graphics. The sound part of 4
    • DirectX would be the equivalent to OpenAL, an open audio standard. Because DirectX isdeveloped by Microsoft, it can be found only on Microsoft operating systems. OpenGL isan industrial standard, and therefore it cannot be ignored by Microsoft. The latest version ofWindows includes OpenGL. In the 3D-technology OpenGL and DirectXare almost on thesame level. [5]5Sound in GamesTo create an even more realistic gaming environment, sound had to be as real as thegraphics that were displayed on screen. Sounds systems for game engines have beenneglected in the past but modern engines are starting to use 3D effects and other features intheir sound systems.The concept of 3D sound means that sound sources are located in the3D space around the listener. Each sound source represents an object in a virtual gameworld able to produce sound. 3D sound positioning means that the sound can be placed onthe level and when player hears the sound, it sounds like coming from the correct directionbased on the positions.EAX is a sound technology for creating a interactive 3D audio in gaming. A tone isrecorded once and played under different conditions by using of EAX filters. In this waythe game notifies the EAX which environment the tone has to use. The last versions ofEAX support the sound output by up to eight speakers. Thus you get the feeling of the realtone.Dolby Digital Live (DDL)is a technology to encode data for multimedia applications, suchas video games, in real-time. It converts analog audio signals from a PC or game consoleinto a 6-channel Dolby Digital format. The SoundStorm, used for the Xbox game consoleand certain PCs, used an early form of this technology. Dolby Digital Live is currentlyavailable in sound cards, as well as on motherboards with certain codecs from Realtek.OpenALis,as already described on top, an open audiostandard independent of platformwhich shows an audio-enlargement to OpenGL and is leant by the construction, programstyle 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 widespreading nowadays.From a programmers perspective, very little additional work isrequired 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 soundeffects.It provides a standardized interface for high-level applications to interface withsound card drivers. DirectSound provides many needed capabilities such as recording andmixing sound, adding effects, using hardware buffers to enhance performance, positioningsounds in 3D spaces, capturing sounds from input sources and controlling capture effectsduring audio capture.DirectSound, and its DirectSound3D extensions, are components ofthe DirectX library,supplied by Microsoft, that resides on a computer with the Windowsoperating system. [6] [9]6 Speech Recognition 5
    • Acoustic signals, effects and spoken text become to increasing extent and better and betterbecoming qualitywith computer games assigned .A game feature that is closer to becomingcommon is voice control.One of the first games which has integrated an easy speechrecognition was Nintendogs.It is relatively simple for a game to use single wordcommands—even most mobile phones now have some form of voice recognition.Butbeyond recognition of single words, the great leap forward in this trend will require leapsand bounds in natural language programming. Eventually, players will be able to holdsimple conversations with characters in a game, or characters in a game will be able tosynthesize conversations between themselves. This technology will inevitably appear intitles like The Sims, but it is unclear when the technology will mature. [10]7 Artificial IntelligenceOne of the game components is the Artifical Intelligence (AI), which becomes more andmore important for interesting games nowadays. It is used in games to give player anopponent to play against. Even simple puzzle games like Tetris have some kind of AIwhich decides what kind of piece falls next. Here are some types of AI that are used in thegame development:Bot is a computer controlled "player" used in multiplayer games. Bots can be used both asenemies or team mates in different kinds of game modes to stand in place of missing humanplayers.Line of Sight checking is used to decide if one can see from point A to point B inside thegame 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 languagesentences instead of choosing them from amenue.Path finding is important as it is used by bots to find different places in the level. Somegames use static path finding so that path nodes and waypoints must be placed to the mapin order for the bots to work. Other games use dynamic style path finding so that the botslearn the levels during the play.Scripting support determines whether bots in the game can be scripted to do certainsequences.State machines are used when programming AI to the game. There are different states fordifferent 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 games AI code.Team based AI means that computer opponents or players allies can work as a teammaking 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. Thismakes the game more interesting for the players.[9] 6
    • 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 localhardware, but on a server in a computing center. The image is streamed on the computer ofthe player as a livestream. Incidentally, the keyboard and mouse commands of the user aretransferred to the server. The figure 4 shows the cloud concept using the theexampleofGames@Large: the client forwards the input instructions of the gamepad to theserver via network where the actual game is running and the compressed audio and videooutput via network is send back to client.The great advantage of this method is that no morehigh-end-hardware is required to play a game with increased hardware requirements, sinceits only running on the server side. The operating system that is installed on the client isalso irrelevant. So also games that require DirectX may normally be played on a Mac. Itwill even work on Tablet or smartphones. Cloud gaming reduces the need for video gameconsoles. For example, OnLive offers on-demand access to various games that you can playon your computer. This means that you never need to upgrade your hardware. [11][12]9 Mobile GamingMobile Gaming is the perfect option for the gaming on the way. Most smartphones allowyou to play games anytime and anywhere.Mobile games are developed using platforms andtechnologies such as Windows Mobile, Palm OS, Symbian, Adobe Flash Lite, NTT 7
    • DoCoMos DoJa, Suns Java ME, Qualcomms BREW, WIPI, Apple iOS or GoogleAndroid.Because of the nature of mobile games, many such games trade sophisticated graphics forbetter and more interactive gameplay. Current mobile games provide a simple gameplayexperience with little thrill. This is set to change in the near future, as mobile games beginto take advantage of a players context (i.e. location and surroundings) to improve thegaming experience. While early games attempted to use Infrared (IR), Bluetooth and GPRSto emulate a multi-player environment, such games left much to be wanting. With theemergence of 3G and WiFi mobile standards, together with greater mobile processingpower, mobile games that incorporate multi-user and location-specific features will drivethe numbers of mobile gamers upwards.3G3G has been touted as a third-generation technology in the context of mobile phonestandards. 3G services included video-voice telephony and broadband wireless data. Videotelephone capabilities has often been suggested as the most innovative and usefulapplication for 3G. An important feature of 3G is its ability to allow service operators tooffer data and voice services to a larger number of concurrent consumers — especially inurban centres — as well as provide higher data rates at lower incremental cost than 2G.phoneMEphoneME is a project of Sun Microsystems. This is a reference implementation of Javavirtual machine and associated libraries of Java ME with source, licensed under the GNUGeneral Public License. phoneME includes a subset of the original Java platforms featuresthat 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 NetworksOnline games gain the popularity more and more. Especially the games in the socialnetworks such as Facebook and MySpace are popular. The social networks provide thewider network and several opponents to the player.The games in the social networks are mostly browser-based games. This means they do notneed an installation on the users computer and can be played on multiple different devicesor web browsers a social network is available through. The technologies used for the gamedevelopment for the social networsks are Adobe Flash, PHP or JavaScript. For thedevelopment of the certain games all of the technologies can be used as a complex.Inaddition, dedicated graphics technologies such as SVG (Scalable Vector Graphics) andcanvas allow for the fast rendering of vector andraster graphics respectively. Since fewyears it is possible to insert 3D graphics into online games.WebGL(Web-based GraphicsLibrary) extends the capability of theJavaScriptprogramming language to allow it togenerate interactive3D graphicswithin any compatibleweb browser. [14] 8
    • 11 Motion-controlled GamesWith the appearance of the Wii-Consoles the face of video games has completelychanged.The motion-controlled games offer you the ability to interact with the game inways you never have before, especially when youre engaging in activities like sports orfitness. With motion-controlled gaming you are not tethered to a controller, so you canimitate more true-to-life gestures.Now, with Microsoft Kinect and Sony Move, motioncontrolled games are continuing to develop.This trend will further continue. [4]12ConclusionsIn 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 thegraphic quality. The progress in game development runs parallel to the progress of thecomputer hardware development. More powerful video cards and processors are comingevery year and the video game industry adjusts their games to the new hardware. The mostimportant 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-technologyThe next important step in the game-development industry will be the increase of the realityin games.Video games have reached the next level in development like the Nintendo 3DSand PlayStation 3 games. Now you can submerge yourself within the game and bring thegames characters and features to life with high end graphics. With AR, the line betweenreal life and games is blurring.By the usage of 3D-glasses it not possible to distinguishbetween 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
    • [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