Academia.eduAcademia.edu

Towards a Reactive Game Engine

2019, Proceedings of the IEEE SoutheastCon 2019, Huntsville, Alabama, USA,

Abstract

Developing new ways to improve game engines and enabling the creation of more accurate experiences is an important issue, especially for real-time applications such as Virtual Reality. As this technology has evolved, the gap between rendered frames has become smaller and environments have become more complex. As a result, mistakes can arise with regard to order-dependent events. Often these mistakes result in a temporarily unstable state in the environment, and may not be visible because of the time lapse between rendered frames. These errors are compounded by events which are not directly driven by the game engine, such as user movement and input. There is a continuous interaction between the user and the environment and the precise actions that user may take often cannot be predicted a priori.Reactive programming is a still evolving paradigm that has been employed in many different applications such as robotics and user interfaces. Our research presents a reactive, dependency-base...

Key takeaways

  • It does not currently allow programmers to specify the update order for the components within a game at runtime.
  • For example, the program could create an array of objects and, from a single Update function, call functions on those objects in the array in order or could create a single "game manager" object that updates the other game objects in the scene in the specific order.
  • In this scenario, we change components and game objects throughout the execution.
  • It then takes several update cycles for a single chain of changes to spread fully through the game tree.
  • To accomplish this, we developed a reactive framework built around the dependency relationships among the nodes of the game tree.