Towards an Open Source Game Engine for Teaching and Research

  • Berger F
  • Müller W
N/ACitations
Citations of this article
2Readers
Mendeley users who have this article in their library.

This article is free to access.

Abstract

Understanding how games work and how to create them has recently become important for disciplines other than computer science as well. If students without in-depth programming experience are meant to directly interact with a game engine, an off-the-shelf product will not fit. This paper presents “Fabula”, a custommade software that comprehensively addresses associated issues. Python became the programming language of choice for the project since it is easy to learn, provides cross-platform compatibility and offers a comprehensive standard library. The actual graphic and display module is Pygame, a very popular game creation framework for Python. This software stack ensures an accessible, yet powerful application core and undemanding cross-platform 2D visuals. Our students should be able to create games without being exposed to the technical layer, conveniently accessing the built- in game world instead. The main abstractions of the world are Rooms and Entities. A Room represents an enclosed location as a graph of discrete positions. An Entity object represents a virtual character (player or non-player) or an item. Each Entity resides on a node in the Room's graph. The engine defines a series of possible actions that a player can take, derived from classical adventure games. This abstraction aims to be intuitive to people who have not been involved in game development before, while at the same time being general enough to fit several genres. The Fabula engine comprises a client and a server part. They communicate by sending Events. Each part consists of an Engine, a Plugin and an Interface. The Interface encapsulates the network transmission of messages. An Engine manages the game state, receives messages from and sends messages to the Interface and regularly calls the Plugin. A Plugin serves different purposes in server and client: the Serverside Plugin implements the game logic, while the client-side Plugin implements the User Interface, the graphical rendering and the point of interaction with the user. The first public version of Fabula has been released in January 2011 under the General Public License (GPL) and runs on GNU/Linux and Microsoft Windows. We plan to use an extended Technology Acceptance Model (TAM) alongside the introduction of Fabula at the University of Education Weingarten to evaluate how the software helps students to explore the creation of enjoyment, emotional responses and social experiences in a game context, while trying to keep the hassle with technical details at a low level. TS - CrossRef

Cite

CITATION STYLE

APA

Berger, F., & Müller, W. (2011). Towards an Open Source Game Engine for Teaching and Research (pp. 236–236). https://doi.org/10.1007/978-3-642-23456-9_42

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free