Research

The group has a long track record of games technology related research, as well as extensive experience within the games industry.

The central themes of the research group are twofold:

  • To use the context of video games to investigate new techniques in concurrency, real-time physics and graphical processes, simulation and multiple online user issues.
  • To apply technology and ideas that have been developed for games to other contexts.

A number of funded projects provide the backbone for our academic research, which result in a regular output of publications.

Current areas of research include:

  • A highly parallel, wait-free approach to concurrency control in multi-threaded programs. The outcome is designed to provide an easier abstraction for the user and to scale with increasing numbers of parallel processing elements.
  • Physics-Based Synthetic Character Motion. We aim to develop natural, realistic character motion for simulation in real-time environments (i.e. games). Physics-based methods enable us to create characters that react to dynamically changing environments (e.g. being pushed).  We achieve this by using various approaches, such as the inverted pendulum model for autonomous balancing, and motion capture data for style (e.g. tired walk, sad walk). Behavioural effects are used in combination with physically correct full body models, to generate real-world reactions to disturbances.

  • Methods of extending concurrency control concepts to biological elements. The eventual aim is to automatically generate parallel algorithms suitable for execution via programmable bacteria. Other work has shown that e.coli can be adapted to solve small instances of the Hamiltonian Path Problem, a popular NP-Complete graph problem, and it is envisaged that this project will extend this biological execution concept out to a more general purpose solution. By investigating the methods to generate both a viable biological algorithm, and the automation instructions for use with robotic apparatus, it is hoped to automatically generate and solve a massively parallel algorithm using bacteria. The proof-of-concept simulations of these bacterial algorithms are to be performed using high-performance gaming hardware such as the Playstation 3, and via GPGPU techniques
  • Using video game physics engine technology to perform simulations of real-world engineering scenarios. The idea is to use technology developed for the games industry to create real-time simulations for use in early design and prototyping stages, instead of the more accurate but complex and time-consuming Finite Element Analysis systems that are used at the moment. Currently, focusing on simulating trains running on tracks in order to look into the effects of crashes and explosions.

  • Eventual consistency allows for highly scalable distributed systems to be built based around replicated data. Changes made at one replica will be eventually applied at all other replicas to achieve consistency. This comes at the cost of potentially inconsistent views being seen during the period until the update has been applied everywhere. Maintaining traditional strict consistency in large distributed systems is both a challenge and a resource burden. We propose that there exists a class of systems for which these inconsistencies can be tolerated to such a degree that the system can still be considered correct in the presence of these diverging states. We aim to produce a form of eventual inconsistency and apply it to existing system types while still maintaining the correct overall state.
  • A touch-free interactive storytelling prototype for neurologically challenged children on the Android mobile platform. We have been exploring potential avenues and currently are working on computer vision techniques (gesture recognition via custom colour tracking) to help the children with their rehabilitation; also, for extreme cases, we are considered blowing into the device microphone.

  • A predicative model based on application semantics that can be used in optimistic replication to reduce inconsistency arising from transactions. We are investigating a probabilistic approach which predicts the potential future state progression of a client. This approach provides the server with probabilistic information to reduce the number of aborted transactions during reconciliation.