dc.description.abstract | Computer games with distributed functionality, such as most modern multiplayer games, provide a rich environment in which one can experiment with high performance distribution of computational and graphical resources. Their extremely high requirements for processing power and consistent visual output create a platform with unique demands.
Current tiled display walls provide, as a consequence of their architecture, a large amount of computational resources in the form of a networked cluster of computers, driving the individual tiles. Existing forays into creating games intended for display walls have unfortunately made little use of this power, opting instead to centralise computation on a single host and distributing the resulting graphical information, or by running the same computations on all hosts and displaying different parts of the locally generated information.
We seek to remedy this situation by distributing computation and visualisation in order to exploit available resources to a greater degree. Achieving a higher level of resource utilisation will allow increasing the complexity of games to involve larger environments with more interactive entities than on comparative single host systems. These are approaches that are used to some degree in Massively Multiplayer Online Games, though rarely with the same focus on distribution or the same demands for visual consistency between adjoining tiles that on a display wall.
This thesis discusses techniques for determining and distributing a continually evolving set of information to a cluster of heterogeneous hosts connected by a network. The hosts will be able to simulate a set of mobile entities, where all entities on all hosts share a single virtual environment in which they can interact with each other while keeping a shared and consistent view of the world state. furthermore, the approach is tailored to visualisation on a display wall.
To avoid having to design games specifically for the distributed system presented herein, a library is introduced as a method of removing all distribution-related responsibilities from the game itself, as long as the game supports a simple common interface and a limited set of callbacks for the library to modify the game. Do demonstrate the feasibility of this approach and study some of its properties, the Frag library is implemented as a prototype according to the specified design. An ordinary computer game is modified to use Frag, after which the system is tested and measured, leading to comparisons between the original and the Frag-enabled game in terms of scalability in game complexity, in addition to observations about the suitability of the approach. | en |