Project Tetropolis – Application of Grid Computing to Interactive Virtual 3D Worlds

0
534

The Tetropolis project will provide an interactive virtual 3D-world for CS students and faculty at the University of Ulm. Users are represented by avatars and perceive a rich multiand hypermedia experience. This will include animated lecture material, meeting opportunities, games, fun and customized personal objects & spaces. Our prototype is implemented on a novel peer-to-peer gridcomputing platform. The common scene graph is kept in a shared memory space and the participating grid stations individually prepare & render their avatars perspective. In the paper relevant details of the underlying grid computing platform will be discussed together with realistic performance data. Tetropolis is developed as a students project challenging skills in rather diverse fields such as 3D-modelling & -design, graphics hardware, computer communications, distributed programming, artificial intelligence … An up-to-date perspective of the prototype will be presented at the conference. I. INTERACTIVE VIRTUAL 3D-WORLDS Advances in personal computer graphics hardware and the advent of affordable high-speed networking have given rise to a large market for massive multiplayer games. Examples are the Halflife Series, World of Warcraft, or Dark Ages of Camelot. Unfortunately the content of computer games is often violent and it is currently focussed towards adolescent population segments. Interactive virtual 3D-worlds like There.com, Active Worlds, Second Life, or Project Entropia are typically populated by adults seeking a virtual get-away and a meeting place. Figure 1 shows a screen shot from a gettogether in There.com. Acceptance for more peaceful virtual 3D-worlds has been lagging behind in comparison to the action-loaded massive multi-player games. The diverse social aspects of virtual environments were discussed in [1]. Our Tetropolis world is an attempt to combine get-together , fun, education and teaching material. One of our primary goals is to mediate sophisticated human interaction, to create a strong perception of being present and of “really” meeting others in the “metaverse” even though the virtual presence is in fact conveyed by avatars. This vision of a life in virtuality has been masterfully presented in [2]. The construction of our virtual world represents a major challenge for our students and the teachers. Skills from many different areas of computer science and beyond are required to promote the project. We will continue to elaborate on these issues below. II. CREATE LANDSCAPE, EVENTS, MISSIONS Providing interesting content is of primary importance and computer technology takes second place. We are experimenting with different settings: an ocean with floating tetraeder buildings, a winter landscape with little huts, or a metropolitan urban setting. A detail view of the ocean scenario is shown in figure 2. The landscapes are navigated with a virtual surfor snowboard or a bicycle [3] respectively. It is important to convey a natural feeling of movement to the visitor and this is best done by a gliding device of some kind. Simulation of a walking avatar will not create a credible illusion of being present in the virtual scene. Meetings for leisure and coursework will be scheduled and missions are planned to complement regular courseFigure 3: Animation of 802.5 priority reservation work. The “learnscape” will implement successive levels of achievement for the visiting students. The levels will represent the natural progression of the student through the topics of a course and through the curriculum. III. VIRTUAL 3D EXHIBITS FOR CS-TOPICS The virtual buildings and sometimes also the open spaces will house special exhibits from current course material. Some topics are best conveyed through some interactive 3D-animation the student might play with. Typically we develop exhibits for those topics which are particularly difficult to convey. An example for an exhibit is a detailed animation of stack-based procedure invocation, or a visualisation of our proprietary Transactional Consistency model used in the grid-computing approach. A snapshot from a demonstration of the operation of the priority reservation scheme in an IEEE 802.5 token-ring is given in figure 3. Visitors will have the option to interact with the exhibit via push-buttons and other control gadgets – and possibly team up with colleagues or with their avatar representatives. IV. CHARACTERS, OBJECTS & INVENTORY Tetropolis will be populated by a large number of characters and their objects. Characters will be “real” avatars representing a human participant or they might be artificially intelligent non-player characters; participating in exhibits and events or performing service functions such as aiding the visitors to find his way, explaining the operation of exhibits, selling and buying of virtual objects and the like. Each participant owns an easily distinguishable avatar and typically a multitude of virtual objects he/she is particularly fond of. The construction of virtual objects is currently done off-line using commercial 3D modelling programs such as 3D Studio Max, Maya, Gmax, TrueSpace or similar. 3D-object construction is very time consuming and requires special skills. To make an object unique, some type of digital signature might be added after they have been imported into Tetropolis. Avatars will have a home of their own and an associated inventory of personal objects. The value of the objects created will depend on the effort required to build them, as well as on their artistic and functional merits. We expect that a sizeable market for virtual objects will eventually develop together with a set of rules for socially acceptable behaviour (Non-player policemen might help enforcing those rules). Virtual economies are beginning to attract the attention of economic scientists [10]. V. AI FOR BOTS, PHYSICS AND ANIMATION Beyond the 3D representation of objects their physical and logical behaviour must be implemented. Softbots or non-player characters should interact sensibly with the avatars representing the visitors. We do not intend to implement speech synthesis and face anumation but will be pleased to include it when it becomes available. The physical characteristics of objects include gravity, inertia, and collision volumes. The collision volumes of objects are included in the shared world graph. The computation of progressively finer collision polyhedra is CPU intensive and might possibly be delegated to nonplayer machines in the grid. Animation of objects is done by repeatedly invoking a control object attached to the virtual object. Each invocation might simply advance the object position, it might initiate complex reactions or it might take into account pending keyboard or mouse input for the object. The chairlift in the snowscape scenario is an example of an animated object (figure 4). VI. MULTIMEDIA INTERCOMM FACILITY We aim at providing a rich multi-media environment to the “inhabitants” of Tetropolis. In addition to real-time Figure 4: Chairlift and animation animation and high-performance graphics sophisticated and finely tuned meeting scenarios between inhabitants should be possible. Initially we will provide chat and simple gestures from avatars. In due time voice communication will be possible between adjacent characters and it is planned to project a camera image on the face of avatars. Voice communication will be based on the shared memory paradigm within the Tetropolis domain and it will be relayed to the public telephone system through a SIP gateway for IP-telephones. IP-telephony systems lend themselves easily to the implementation of graphically enhanced voice conferencing and to a large array of telephone user amenities as suggested for example in [4]. VII. IMPORT / EXPORT OF VIRTUAL OBJECTS Tetropolis objects and their behaviour are represented as a collection of Java objects and methods. Objects which have been modelled outside of Tetropolis are converted from their original format to an internal object-oriented world graph. Our filters import the widely accepted 3DS format and the OBJ graphics format. To keep the resulting world graph compatible with OpenGL some coordinate mappings are required and animated objects require special treatment. A study of respective formats has been prepared by [5] and additional information is available in the internet. Export of virtual objects from Tetropolis is currently not supported. Exporting will be more important once we have integrated modelling facilities within Tetropolis. For export we plan to support serialized Java objects but will try to avoid additional XML-wrappers. The real challenge is to preserve the specific behaviour of an object after it has been exported to a different environment. VIII. RENDERING ENGINE AND WORLD GRAPH The general idea of using distributed shared memory to store the virtual world of Tetropolis is outlined in Figure 5. All “worldly” objects are organized in a common world graph. Movements of avatars and animation of objects are directly reflected in shared memory. Unlike other game engines we bypass the sending and interpretation of control messages and object identifiers: the movement of an object is not effected by sending it a message “Object 4711: step forward 2 units” but simply by incrementing its x,yposition by the specified amount. Whereas the world graph is global and shared by all participating stations the individual stations will assume their own camera position – typically representing the view of the associated avatar. All information specific to the perspective of an individual station is logically separated from the central graph and independently rendered by the local graphics card. In order not to create an excessive number of access conflicts the stations proceed in lockstep. For a short period of time all pending animations are performed and recorded in the scene graph.