Authors:
Ben J. Geisler
1
and
Shane L. Kavage
2
Affiliations:
1
Saint Norbert College, DePere, WI, U.S.A.
;
2
University of Wisconsin, LaCrosse, WI, U.S.A.
Keyword(s):
Aspects, Aspect-oriented-Programming, Video Game Engine, Gaming, Meta-language, DSL, Testing.
Abstract:
In the realm of video game development, unique Domain Specific Languages (DSL’s) are used in each of the most popular game engines making code sharing and reuse extremely difficult. For this reason, common software engineering practices such as design patterns and modularity have lagged. GAMESPECT is an aspect-oriented DSL (DSAL) that seeks to generalize concerns of video game programming. This paper explores the technology involved, namely composition specifications which enable the usage of XText and TXL to weave aspect code into multiple game engines and multiple languages. We describe the four main steps of the weaving process: reification, matching, ordering and mixing. Our results demonstrate the technical accuracy of the DSAL as well as the efficiency across several samples in Unreal Game Engine 4(UE4) and Unity. The DSAL employed is a single-to-many source language featuring transformation and aspect insertion (via weaving) to multiple languages in these engines including C++
, Skookum Script, LUA, and C#. The GAMESPECT technology has been employed beneficially in modern video game development across active titles on the PC, Android and Nintendo Switch.
(More)