Skip to main content

Taxonomy of Game Development Approaches

  • Chapter
  • First Online:
Entertainment Computing and Serious Games

Part of the book series: Lecture Notes in Computer Science ((LNISA,volume 9970))

  • 4439 Accesses

Abstract

While it might seem desirable to “program” games “close to a high-level specification”, the pragmatic reality has not, until very recently, allowed this. In this chapter we discuss the fundamental aspects that define a game and show how these aspects are captured by means of the so-called game development tools. In particular, we show: (i) how the various historical tools have always been intrinsically inspired by the dominant programming languages/paradigms that were the most popular at the time when the tool was developed; and (ii) we discuss these tools by comparing their pro and cons (typically imposed by the chosen language/paradigm or the available hardware) in order to understand the most important requirements for their next generations.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    Components of the state might behave as discrete functions, for example a number that changes according to a timer. To treat such dynamics we treat their functions as piecewise functions.

  2. 2.

    Euler is a numerical approximation, small steps made of small amounts of time are necessary so to avoid to end into a wrong state.

  3. 3.

    For this example we use the syntax of x86 assembly. The x86 assembly language differs from other assemblies, like MIPS assembly for example, and is meant for the class class of x86 processors.

References

  1. Abbadi, M., Giacomo, F., Cortesi, A., Spronck, P., Costantini, G., Maggiore, G.: Casanova: a simple, high-performance language for game development. In: Göbel, S., Ma, M., Baalsrud Hauge, J., Oliveira, M.F., Wiemeyer, J., Wendel, V. (eds.) JCSG 2015. LNCS, vol. 9090, pp. 123–134. Springer, Heidelberg (2015). doi:10.1007/978-3-319-19126-3_11

    Chapter  Google Scholar 

  2. Akinlaja, D.D.: LÖVE2d for Lua Game Programming. Packt Publishing Ltd, Olton (2013)

    Google Scholar 

  3. Amory, A., Naicker, K., Vincent, J., Adams, C.: The use of computer games as an educational tool: identification of appropriate game types and game elements. Br. J. Educ. Technol. 30(4), 311–321 (1999)

    Article  Google Scholar 

  4. Anderson, E.F., Engel, S., Comninos, P., McLoughlin, L.: The case for research in game engine architecture. In: Proceedings of the 2008 Conference on Future Play: Research, Play, Share, pp. 228–231. ACM (2008)

    Google Scholar 

  5. Atkinson, K.E.: An introduction to numerical analysis. Wiley, New York (2008)

    Google Scholar 

  6. Bancilhon, F.: Naive evaluation of recursively defined relations. In: Brodie, M.L., Mylopoulos, J. (eds.) On Knowledge Base Management Systems. Springer, New York (1986)

    Google Scholar 

  7. Berens, K., Howard, G.: The Rough Guide to Videogames. Rough Guides, London (2008)

    Google Scholar 

  8. Bishop, L., Eberly, D., Whitted, T., Finch, M., Shantz, M.: Designing a pc game engine. IEEE Comput. Graph. Appl. 1, 46–53 (1998)

    Article  Google Scholar 

  9. Blum, R.: Professional Assembly Language. Wiley, New York (2007)

    Google Scholar 

  10. Butcher, J.C.: The Numerical Analysis of Ordinary Differential Equations: Runge-Kutta and General Linear Methods. Wiley-Interscience, New York (1987)

    MATH  Google Scholar 

  11. Carter, P.A.: PC Assembly Language (2007). Lulu.com

  12. Chamillard, A.: Introductory game creation: no programming required. ACM SIGCSE Bull. 38, 515–519 (2006). ACM

    Article  Google Scholar 

  13. Crawford, C.: Chris Crawford on Game Design. New Riders, San Francisco (2003)

    Google Scholar 

  14. Darby, J.: Awesome Game Creation: No Programming Required. Cengage Learning, Boston (2008)

    Google Scholar 

  15. Fabricatore, C.: Gameplay and game mechanics: a key to quality in videogames (2007)

    Google Scholar 

  16. Ferguson, E., Rockhold, B., Heck, B.: Video game development using xna game studio and c#. net. J. Comput. Sci. Coll. 23(4), 186–188 (2008)

    Google Scholar 

  17. Fojdl, J., Brause, R.W.: The performance of approximating ordinarydifferential equations by neural nets. In: 20th IEEE International Conference on Tools with Artificial Intelligence, ICTAI 2008, vol. 2, pp. 457–464. IEEE (2008)

    Google Scholar 

  18. Fowler, M.: Domain-Specific Languages. Pearson Education, Boston (2010)

    Google Scholar 

  19. Furtado, A.W., Santos, A.L.: Using domain-specific modeling towards computer games development industrialization. In: The 6th OOPSLA Workshop on Domain-Specific Modeling (DSM 2006). Citeseer (2006)

    Google Scholar 

  20. Furtado, A.W.B., de Medeiros Santos, A.: Sharpludus: improving game development experience through software factories and domain-specific languages. Universidade Federal de Pernambuco (UFPE) Mestrado em Ciência da Computação centro de Informática (CIN) (2006)

    Google Scholar 

  21. Games, E.: Unreal engine 3. https://www.unrealengine.com/

  22. Hastjarjanto, T., Jeuring, J., Leather, S.: A dsl for describing the artificial intelligence in real-time video games. In: Proceedings of the 3rd International Workshop on Games and Software Engineering: Engineering Computer Games to Enable Positive, Progressive Change, pp. 8–14. IEEE Press (2013)

    Google Scholar 

  23. Hudlicka, E.: Affective game engines: motivation and requirements. In: Proceedings of the 4th International Conference on Foundations of Digital Games, pp. 299–306. ACM (2009)

    Google Scholar 

  24. Kent, S.: The Ultimate History of Video Games: From Pong to Pokemon and Beyond.. The Story Behind The Craze That Touched Our Lives and Changed The World. Three Rivers Press, New York (2010)

    Google Scholar 

  25. Kushner, D.: Masters of Doom: How Two Guys Created an Empire and Transformed Pop Culture. Random House Incorporated, New York (2004)

    Google Scholar 

  26. Kusterer, R.: jmonkeyengine 3.0-develop professional 3d games for desktop, web, and mobile, all in the familiar java programming language (2013)

    Google Scholar 

  27. Lloyd, J.: The torque game engine. Game Devel. Mag 11(8), 8–9 (2004)

    Google Scholar 

  28. Luna, F.: Introduction to 3D Game Programming with DirectX 10. Jones and Bartlett Publishers, Burlington (2008)

    Google Scholar 

  29. Maggiore, G., Costantini, G.: Friendly f# (fun with game programming) (2011)

    Google Scholar 

  30. Mens, T., Wermelinger, M., Ducasse, S., Demeyer, S., Hirschfeld, R., Jazayeri, M.: Challenges in software evolution. In: Eighth International Workshop on Principles of Software Evolution, pp. 13–22. IEEE (2005)

    Google Scholar 

  31. Mernik, M., Heering, J., Sloane, A.M.: When and how to develop domain-specific languages. ACM Comput. Surv. (CSUR) 37(4), 316–344 (2005)

    Article  Google Scholar 

  32. Morrison, M.: Beginning Game Programming. Pearson Higher Education, New York (2004)

    Google Scholar 

  33. Mycroft, A.: Programming language design and analysis motivated by hardware evolution. In: Nielson, H.R., Filé, G. (eds.) SAS 2007. LNCS, vol. 4634, pp. 18–33. Springer, Heidelberg (2007). doi:10.1007/978-3-540-74061-2_2

    Chapter  Google Scholar 

  34. Petzold, C.: Microsoft XNA Framework Edition: Programming for Windows Phone 7. Microsoft Press, Redmond (2010)

    Google Scholar 

  35. Press, W.H.: Numerical Recipes: The Art of Scientific Computing, 3rd edn. Cambridge University Press, New York (2007)

    MATH  Google Scholar 

  36. Reich, C.: Simulation of imprecise ordinary differential equations using evolutionary algorithms. In: Proceedings of the 2000 ACM Symposium on Applied Computing, vol. 1, pp. 428–432. ACM (2000)

    Google Scholar 

  37. Shreiner, D., Bill The Khronos OpenGL ARB Working Group, et al.: OpenGL Programming Guide: The Official Guide To Learning OpenGL, versions 3.0 and 3.1. Pearson Education, Upper Saddle River (2009)

    Google Scholar 

  38. Smith, S.P., Trenholme, D.: Rapid prototyping a virtual fire drill environment using computer game technology. Fire Saf. J. 44(4), 559–569 (2009)

    Article  Google Scholar 

  39. Steuer, J.: Defining virtual reality: dimensions determining telepresence. J. Commun. 42(4), 73–93 (1992)

    Article  Google Scholar 

  40. Streeting, S., Johnstone, B.: Ogre-open source 3d graphics engine (2010). URL- http://www.ogre3d.org/. Accessed 26 Sep–Dec 2010

  41. Sweeney, T., Hendriks, M.: Unrealscript Language Reference. Epic MegaGames Inc, Cary (1998)

    Google Scholar 

  42. Sweetser, P.: Teaching games level design using the starcraft ii editor. J. Learn. Des. 6(2), 12–25 (2013)

    Google Scholar 

  43. Sweigart, A.: Making Games with Python & Pygame. CreateSpace, North Charleston (2012)

    Google Scholar 

  44. Van Roy, P., et al.: Programming paradigms for dummies: what every programmer should know. New Comput. Paradigms Comput. Music 104 (2009)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Mohamed Abbadi .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing AG

About this chapter

Cite this chapter

Abbadi, M. (2016). Taxonomy of Game Development Approaches. In: Dörner, R., Göbel, S., Kickmeier-Rust, M., Masuch, M., Zweig, K. (eds) Entertainment Computing and Serious Games. Lecture Notes in Computer Science(), vol 9970. Springer, Cham. https://doi.org/10.1007/978-3-319-46152-6_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-46152-6_6

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-46151-9

  • Online ISBN: 978-3-319-46152-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics