Skip to main content

A Multi-engine Aspect-Oriented Language with Modeling Integration for Video Game Design

  • Conference paper
  • First Online:
Evaluation of Novel Approaches to Software Engineering (ENASE 2020)

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 1375))

  • 737 Accesses

Abstract

Video game programming is a diverse, multi-faceted endeavor involving elements of graphics programming, systems programming, UI, HCI, and other software engineering disciplines. Game programmers typically employ a new “codebase” per software artifact which often means a unique choice of game engines and scripting languages. Non-portable code is exacerbated by a lack of a shared language and a lack of translation utilities between languages. Meanwhile, many game programming tasks occur time and time again. Aspect-oriented programming was largely developed to assist software engineers in decoupling tasks while maintaining software reuse. GAMESPECT is a language that promotes software reuse through aspects while also providing a platform for translation of software artifacts which has enabled it to be used in multiple game engines across multiple projects. Code reuse on these projects has been high and our methodologies can be summarized by discussing three tenants of GAMESPECT: 1) composition specifications, which define source to source transition properties 2) pluggable aspect interpreters and 3) high level language constructs and modeling language constructs (MDAML) which encourage designer friendly terminology. By comparing accuracy, efficiency, pluggability, and modularity, these three tenants are demonstrated to be effective in creating a new game programming language.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Bispo, J., Cardoso, J.M.: Clava: C/C++ source-to-source compilation using LARA. SoftwareX 12, 100565 (2020)

    Article  Google Scholar 

  2. Kojarski, S., Lorenz, D.H.: Pluggable AOP: designing aspect mechanisms for third-party composition. ACM SIGPLAN Not. 40, 247–263 (2005)

    Article  Google Scholar 

  3. Shonle, M., Lieberherr, K., Shah, A.: XAspects: an extensible system for domain-specific aspect languages. In: Companion of the 18th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, pp. 28–37 (2003)

    Google Scholar 

  4. Kojarski, S., Lorenz, D.H.: Awesome: an aspect co-weaving system for composing multiple aspect-oriented extensions. ACM SIGPLAN Not. 42, 515–534 (2007)

    Article  Google Scholar 

  5. Lorenz, D.H., Mishali, O.: SPECTACKLE: toward a specification-based DSAL composition process. In: Proceedings of the 7th Workshop on Domain-Specific Aspect Languages, pp. 9–14 (2012)

    Google Scholar 

  6. Walk, W., Görlich, D., Barrett, M.: Design, dynamics, experience (DDE): an advancement of the MDA framework for game design. In: Korn, O., Lee, N. (eds.) Game Dynamics, pp. 27–45. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-53088-8_3

    Chapter  Google Scholar 

  7. Zohaib, M.: Dynamic difficulty adjustment (DDA) in computer games: a review. Adv. Hum. Comput. Interact. 2018, 12 (2018)

    Article  Google Scholar 

  8. Bartle, R.: Hearts, clubs, diamonds, spades: players who suit MUDs. J. MUD Res. 1, 19 (1996)

    Google Scholar 

  9. Hunicke, R., LeBlanc, M., Zubek, R.: MDA: a formal approach to game design and game research. In: Proceedings of the AAAI Workshop on Challenges in Game AI, p. 1722 (2004)

    Google Scholar 

  10. Koster, R.: Theory of Fun for Game Design. O’Reilly Media Inc., Newton (2013)

    Google Scholar 

  11. Blow, J.: Game development: harder than you think. Queue 1, 28–37 (2004)

    Article  Google Scholar 

  12. Adams, E., Dormans, J.: Game Mechanics: Advanced Game Design. New Riders, Indianapolis (2012)

    Google Scholar 

  13. Geisler, B.J., Kavage, S.L.: Aspect weaving for multiple video game engines using composition specifications. In: ENASE, pp. 454–462 (2020)

    Google Scholar 

  14. Gregory, J.: Game Engine Architecture. CRC Press, Boca Raton (2018)

    Google Scholar 

  15. Pinto, P., Carvalho, T., Bispo, J., Cardoso, J.M.: LARA as a language-independent aspect-oriented programming approach. In: Proceedings of the Symposium on Applied Computing, pp. 1623–1630 (2017)

    Google Scholar 

  16. Cordy, J.R.: The TXL source transformation language. Sci. Comput. Program. 61, 190–210 (2006)

    Article  MathSciNet  Google Scholar 

  17. Sherrod, A.: Ultimate 3D Game Engine Design & Architecture. Charles River Media Inc., Newton (2006)

    Google Scholar 

  18. Kiczales, G., et al.: Aspect-oriented programming. In: Akşit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997). https://doi.org/10.1007/BFb0053381

    Chapter  Google Scholar 

  19. Moby Games Stats (n.d.). https://www.mobygames.com/

  20. Emms, R., Wixon, D., Wiscombe, S., Malaika, Y.: Spatializing play structures and interaction flow using GSML (Game System Modelling Language). Comput. Games J. 3(2), 40–53 (2014). https://doi.org/10.1007/BF03395951

    Article  Google Scholar 

  21. Gee, J.P., Hayes, E.: No quitting without saving after bad events: gaming paradigms and learning in The Sims. Int. J. Learn. Media 1, 49–65 (2009)

    Article  Google Scholar 

  22. Eysholdt, M., Behrens, H.: Xtext: implement your language faster than the quick and dirty way. In: Proceedings of the ACM International Conference Companion on Object Oriented Programming Systems Languages and Applications Companion, pp. 307–309 (2010)

    Google Scholar 

  23. Courbis, C., Finkelsteiin, A.: Towards aspect weaving applications. In: Proceedings of the 27th International Conference on Software Engineering, pp. 69–77 (2005)

    Google Scholar 

  24. Geisler, B.J.: GAMESPECT: a composition framework and meta-level domain specific aspect language for unreal engine 4 (2019)

    Google Scholar 

  25. Polo, M., Piattini, M., Ruiz, F.: Using code metrics to predict maintenance of legacy programs: a case study. In: Proceedings IEEE International Conference on Software Maintenance, ICSM 2001, pp. 202–208. IEEE (2001)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ben J. Geisler .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Geisler, B.J., Kavage, S.L. (2021). A Multi-engine Aspect-Oriented Language with Modeling Integration for Video Game Design. In: Ali, R., Kaindl, H., Maciaszek, L.A. (eds) Evaluation of Novel Approaches to Software Engineering. ENASE 2020. Communications in Computer and Information Science, vol 1375. Springer, Cham. https://doi.org/10.1007/978-3-030-70006-5_14

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-70006-5_14

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-70005-8

  • Online ISBN: 978-3-030-70006-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics