GAMESPECT: Aspect Oriented Programming for a Video Game Engine using Meta-languages

Research output: Chapter in Book/Report/Conference proceedingConference contribution

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 languageEnglish
Title of host publication2019 IEEE SoutheastCon, SoutheastCon 2019
PublisherInstitute of Electrical and Electronics Engineers Inc.
ISBN (Electronic)9781728101378
ISBN (Print)9781728101378
DOIs
StatePublished - Apr 2019
Event2019 IEEE SoutheastCon, SoutheastCon 2019 - Huntsville, United States
Duration: Apr 11 2019Apr 14 2019

Publication series

Name2019 SoutheastCon

Conference

Conference2019 IEEE SoutheastCon, SoutheastCon 2019
Country/TerritoryUnited States
CityHuntsville
Period4/11/194/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

Fingerprint

Dive into the research topics of 'GAMESPECT: Aspect Oriented Programming for a Video Game Engine using Meta-languages'. Together they form a unique fingerprint.

Cite this