Abstract
Video game programming is an area where code duplication is extremely prevalent. Similar types of tasks are performed in multiple places throughout a game engine codebase. For example: game balance, logging, and memory allocation are just a few of the areas which are located across disparate locations of the codebase. Meanwhile, aspect oriented programming (AOP) was created to make use of common themes in a codebase and allow for advice to be given during compilation or runtime. GAMESPECT is a Domain Specific language (DSL) which resides in a higher level language space, above the typical languages used by game engines such as Unreal Engine 4. The language is written with the popular XText language toolset and contains advices in the spirit of aspect oriented programming: point cuts and join points. These advices can be executed at runtime when the programmer wants to finetune values or perform debugging. The advising is made possible through the Clang toolchain. Unique to this approach, GAMESPECT takes a source language and converts into multiple target languages. Depending on the context, GAMESPECT can generate C++, LUA, Blueprints or Skookum Script. This type of source to source translation is made possible through GAMESPECT's 'composition specifications'. With GAMESPECT, video game designers can increase their productivity and reduce the required lines of code for certain tasks by a 9-40% reduction. In addition, it provides for an AOP platform which is agnostic to the underlying game code. The applicability of this approach extends beyond game programming into software engineering as a whole.
| Original language | English |
|---|---|
| Title of host publication | 2019 IEEE SoutheastCon, SoutheastCon 2019 |
| Publisher | Institute of Electrical and Electronics Engineers Inc. |
| ISBN (Electronic) | 9781728101378 |
| ISBN (Print) | 9781728101378 |
| DOIs | |
| State | Published - Apr 2019 |
| Event | 2019 IEEE SoutheastCon, SoutheastCon 2019 - Huntsville, United States Duration: Apr 11 2019 → Apr 14 2019 |
Publication series
| Name | 2019 SoutheastCon |
|---|
Conference
| Conference | 2019 IEEE SoutheastCon, SoutheastCon 2019 |
|---|---|
| Country/Territory | United States |
| City | Huntsville |
| Period | 4/11/19 → 4/14/19 |
Bibliographical note
Publisher Copyright:© 2019 IEEE.
ASJC Scopus Subject Areas
- Computer Networks and Communications
- Software
- Electrical and Electronic Engineering
- Control and Systems Engineering
- Signal Processing
Keywords
- aspect oriented
- DSL
- metalanguage
- multilanguage
- scripting language
- UE4
- video game engine