|
Information Visualisation utilising
|
||||||||||||||
AbstractThe overall aim of this project was to investigate how technology developed for computer games may be reused for creating collaborative information visualisation tools. The investigation took the form of implementing a source code comprehension tool using the Quake 3 game engine. Based on this experience, it was found that game engines can be a good basis for an information visualisation tool, provided that the visualisations and interactions required meet certain criteria, mainly that the visualisation can be represented in terms of a limited number of discrete, interactive, and physical entities placed in a static 3 dimensional world of limited size. The tool which was developed presents individual source code files of a project as entities which can be moved around in a physical 3D environment. Furthermore, the source code is displayed with hyperlinks, so that it is easy to jump to the definition of any symbol in the project. Full collaborative support exists, whereby multiple users can chat and point out parts of source code to each other. Users are able to "lock" their view with any other user’s, so that one user is able to give a "guided tour" of the source code to other users. DownloadsYou can download a binary and demo of the project here (1MB). It should run on all platforms on which Quake 3 runs. You will need a full Quake 3 Arena install to be able to run it. The source code (Quake 3 mod and dox2html tool) is here. (700KB). MotivationModern computer games make use of technologies from almost all areas of computer science: graphics, artificial intelligence, network programming, operating systems, languages and algorithms. A modern computer game, such as Doom 3 or Unreal Tournament 2004 contains efficient, well-tested implementations of hundreds of computer science ideas. It therefore makes sense to investigate possible ways of reusing these implementations for various tasks, thus saving development time. Computer game implementations have been previously applied to some alternative tasks, such as visualising architectural designs[1], military simulation visualisations[2], landscape planning visualisation[3] and as an interface for Unix process management[4]. This project focuses on utilising computer game implementations for information visualisation. This seems to be a relatively unexplored area, as we could only find a few instances of work related to this topic[4,5]. In particular, this project investigates implementing a source code comprehension tool. This example was chosen since code comprehension is about the user exploring a structure, and remembering what is where. It was hoped that this would map well onto a 3D environment, where the spatial memory of the user could be engaged to remember the layout of the code structure. |