Implementing Virtual Environments for Education and Research at NDSU

Aaron Bergstrom, John Bauer, Brad Vender, Jeffrey Clark, Paul Juell, Phil McClean,
Bernhardt Saini-Eidukat, Donald P. Schwert, Brian M. Slator, Alan R. White, Francis Larson, Otto Borchert, Robert Cosmano, Richard Frovarp, Guy Hokanson, Christina Johnson, James Landrum, Mei Li, John Opgrande, Rebecca Potter, Lai Ong Teo, Anurag Tokhi, Shannon Tomac, Joy Turnbull, Qiang Xiao, Melissa Zuroff
World Wide Web Instructional Committee
North Dakota State University
Contact: Aaron_Bergstrom@ndsu.nodak.edu

Abstract

The World Wide Web Instructional Committee (WWWIC) at North Dakota State University (NDSU) develops and distributes immersive educational and research oriented virtual environments that are accessible through the world-wide-web and implemented by means of “Interactive 3D” user interfaces. This type of delivery of 3D content is known as Web3D. WWWIC's major Web3D projects include the Virtual Cell for cell biology education, the Geology Explorer for geology education, and the Digital Archive Network for Anthropology intended for use in archaeology and anthropology research. This paper will highlight the development history for each of these projects, and the development of WWWIC’s next generation interactive Java3D user interfaces.

Introduction

Over the past several years, the World Wide Web Instructional Committee (WWWIC) at North Dakota State University (NDSU) has built upon its previous successful developments in the area of web-based, interactive, immersive environments for education and research. Though past text-based computer technologies were found to be effective, WWWIC felt that further compelling visual enhancements could supplement project goals. Today, technologies such as real-time, desktop graphics accelerators and broadband technologies such as Internet2, DSL, and cable modems are available that allow these compelling enhancements to be delivered dynamically over the Internet (Borchert et al., 2001; Walsh and Bourges-Sévenier, 2001:7-13).

In their book, Core Web3D, Walsh and Bourges-Sévenier define three categories of 3D (3-dimensional) technologies: Traditional 3D, Interactive 3D, and Immersive 3D. Traditional 3D graphics are basically 2D (2-dimensional) images rendered from 3D models “that are viewed from a fixed perspective chosen by the artist.” Interactive 3D graphics differ from Traditional 3D by allowing users to “navigate and explore three-dimensional scenes.” Immersive 3D graphics are Interactive 3D graphics that are enhanced by special viewing and manipulation equipment such as video goggles and data gloves that allow the user to “interact with the 3D content in a way that closely resembles the real world.” When either Interactive 3D or Immersive 3D is delivered via the Internet, it then becomes known as Web3D  (Walsh and Bourges-Sévenier, 2001:73).

WWWIC has used visual enhancements to substantially increase the knowledge depth of its virtual environments by incorporating realistic Traditional 3D and Interactive 3D technologies for several years. As such, these 3D technology terms will be used through out this paper to describe the use of 3D graphics in the manner that Walsh and Bourges-Sévenier have outlined. The term “Immersive 3D” will not be discussed because there are no WWWIC projects that fall into this category of 3D technology. However, the reader will find that the word “immersive” still appears from time to time throughout this paper. This is because WWWIC uses the term to describe the “experience” that the user undergoes while interacting with its role-based educational virtual environments (Slator et al, 1999).

For the past several years, WWWIC has been creating simulators to allow virtual experiences via a web-based immersive environment. These simulators take the form of multi-user environments/games that offer students a role-playing experience in which they gain a more complete understanding of the material being presented. The experiences played out by the students are based on a series of goals that students must obtain in order to advance to the next level. Once students begin playing, they seamlessly enter a virtual world to become scientists: performing experiments, interacting with the world and with each other, and learning how to authentically apply the scientific method in a real world situation. These worlds are referred to by WWWIC as Immersive Virtual Worlds (IVW) because the player is “immersed” in the content and their role in the world of the discipline being presented. An IVW offers the student a characteristic-learning environment guided by the nine principles of WWWIC research. These principles require that IVW’s be game-like, spatially oriented, goal-orientated, immersive, role-based, exploratory, interactive, multi-user, and teach through learn-by-doing techniques (Borchert et al., 2001; Slator et al., 1999).

WWWIC is an ad hoc group of university faculty dedicated to developing internet-based education and research software. Members of this group foster cross-disciplinary, collaborative relationships with other WWWIC faculty, students, and staff as well as those from other universities and institutions. The content of WWWIC virtual environment projects includes subject matter across a variety of disciplines such as anthropology, archaeology, cell biology, commerce, computer science, geology, and history. Three of these projects have begun to make use of the technological advancements described above, and will be discussed in this paper. These projects are Virtual Cell (an environment for cell biology education), Geology Explorer (an environment for geology education), and DANA (a Digital Archive Network for Anthropology).

The Geology Explorer (Schwert et al., 1999) adds enhanced realism to instruction of the scientific methodology practiced in the field of geology. The IVW of Geology Explorer allows undergraduate and high school level students to freely explore an immersive, Traditional 3D planetary simulation. In this IVW, the students are able to improve their ability to solve authentic problems regarding basic rocks and minerals, as well as interpret geologic history.
 
The Virtual Cell (White et al., 1999) project focuses on teaching undergraduate and high school level students the scientific methods used by researchers in the quest for knowledge about the structure and function of a biological cell. These techniques are conveyed to the student through the use of a computer generated, Interactive 3D IVW where by the student plays the role of a submarine-driving cell biologist roaming about the interior of a plant cell.

Unlike the two previously mentioned projects, Digital Archive Network for Anthropology (DANA) is not an IVW. Rather, DANA (Clark, Bergstrom, Landrum, Larson, & Slator, 2000) is meant to be a set of globally accessible curation tools that will allow for the development of research and education freeware applications within the discipline of anthropology. As a prototype Interactive 3D and multimedia storage system, the NDSU Archaeology Technologies Lab (ATL) - a WWWIC contributor - has conducted the lead development of DANA.

Previous Work with 3D Education Applications

Traditional 3D - Geology Explorer (http://oit.cs.ndsu.nodak.edu/)

The Geology Explorer project implements an IVW educational game for teaching Geosciences on the web. This takes the form of a synthetic, virtual environment, Planet Oit, where students are given the means and the equipment to explore a planet as a Geologist would.

Geology Explorer is designed to give students an authentic experience that includes:
 1. Exploration of a spatially oriented virtual world;
 2. Practical, field oriented, expedition planning and decision making;
 3. Scientific problem solving (i.e. a "hands on" approach to the scientific method);

Students assume a role in a simulated environment and learn about real science by exploring in a goal-directed way and competing with other players. This IVW is an implementation of a networked, multi-player, simulation-based, educational environment that illustrates the principles of learning-by-doing roles.

Planet Oit is currently simulated on a LambdaMOO server. LambdaMOO is an object oriented MUD (where MUD stands for "Multi-User Domain"). Technically, a MUD is a multi-user database and messaging system. The basic components are “rooms" with "exits", "objects" and "players". MUDs support the object management and inter-player messaging that is required for multi-player games, and at the same time provides a programming language for writing the simulation and customizing the MUD (http://sourceforge.net/projects/lambdamoo/).

The Geology Explorer project is intended to be a platform independent distance education system. The client software to Planet Oit has been developed as different versions under the name GUMI (Graphical User-friendly MOO Interface). The first client, implemented in Java, was strictly text-based and is called GUMI-Bare (http://java.sun.com/). This enables connections from Macintosh, Microsoft Windows, or Linux X-Windows machines, using either Netscape or Internet Explorer browsers. The most recent client, also written in Java, was developed to implement graphical functionality and goes under the name GUMI-Game. The future client, GUMI3D, will be written in Java3D. Over the next few years the backend servers will be rewritten and tightly integrated with a web based 3D client written in Java3D (http://java.sun.com/products/java-media/3D/index.html).

The current Planet Oit visualizations were constructed using Traditional 3D graphics. The planet contains over 50 rooms modeled using Bryce 4. The geologic formation associated with each room was rendered from a Bryce 3D model. Under development for the past three years, these models have been created in close association with the NDSU Geology Department. Emphasis has been placed on the authenticity of each of the geological formations that make up this IVW. To further this aim, additional images of rock outcrops and samples were layered above the rendered images to complete the geologically immersive experience.

Interactive 3D - Virtual Cell (http://vcell.ndsu.edu/)

The Virtual Cell is a project that grew out of the success of the first text version of Geology Explorer. Built upon the insights of the first project, Virtual Cell has always intended to be based upon an Interactive 3D environment. As such, the Virtual Cell allows students to explore biology in a completely new dimension, the third dimension. The original version of the Virtual Cell client was implemented as a Java 1.1 applet (Java 1.1), which relied heavily on the External Authoring Interface (EAI) found in the CosmoPlayer VRML plug-in (http://www.web3d.org/technicalinfo/specifications/eai_fdis/index.html).

The Virtual Cell architecture uses a client-server (or distributed processing) model. Persistent entities, and information about the IVW’s environment, are stored on central servers. The client software displays the user's view of the world and handles the routine user interface details. The LambdaMOO server was chosen for implementing the main simulation servers, with HTTP servers providing the stored Java and Virtual Reality Modeling Language (VRML) data required by the clients (http://www.web3d.org/technicalinfo/specifications/vrml97/index.htm). Also, the LambdaMOO server provides a persistent object oriented database that supports multiple simultaneous users, dynamic creation and destruction of objects, and modification of object code without restarting the server.

While primarily intended for text based interaction, the LambdaMOO server has been modified to support out-of-band communications, and can support various connection-oriented protocols such as HTTP. The object library typically supplied with the LambdaMOO server has been modified to support the somewhat different requirements imposed for a VRML-based, Interactive 3D environment. The major change between the Interactive 3D and the text-based system has been the addition of support for generating working copies of VRML scenes as needed by the client. 

The basic LambdaMOO database supports a simple text based multi-user system.  The first significant change involves altering the database to support the scene graph protocol described later in this section.  The second significant change involves adding the notion of "master copy" and "working copy" versions of scenes in the system.  The premise is that if the system contains a lab scene which has room for two students at a time, the system should support constructing however many actual copies are needed.  Currently work is underway to make this feature easier to use with complex interactive scenes, such as scenes containing dynamic simulations.

A client interface model that implemented a VRML plug-in was chosen because it offered a very capable, readily available 3D rendering engine, and provided the basic user navigation/interaction features needed for an IVW. The client interface is supplemented by Java based windows and dialogs as necessary for the particular application. Java is able to host the Virtual Cell client on the Internet because it provides portable networking and user interface classes. Java also allows for the user interface elements to be extended as necessary for the particular application.

The Virtual Cell system is designed to distribute multiple Interactive 3D environments, and allow for the user to move between these environments as necessary. For this reason, the environments are organized into distinct scenes, rather than separate worlds. Using the EAI capabilities of the VRML plug-in, the user's client is primarily responsible for constructing and maintaining the user's current context in response to changes in the system. Unlike some other multi-user VRML systems, the client is connected continuously to the same server even when switching scenes. Traditional 2D user interface elements are used as needed in the Virtual Cell client, for the pragmatic reason that not every user interaction will necessarily benefit from being translated into 3D, and in some cases the interactivity provided by the VRML plug-in can be limited.

The protocol between the client and server in the Virtual Cell system is divided into three major stages. In the first stage, the client logs in to the MOO and the MOO responds with the user's object number. This object is marked as unresolved for the next stage. Once connected, the client has four major responsibilities for maintaining the scene graph.

1.	Create basic stubs for each unresolved node in the scene. Request that node's representation from the server, and automatically register for updates at the same time.
2.	As representations are received from the server, complete the stubs as needed. Since the location and contents of the node will reference other nodes, this will introduce new nodes to be handled by response 1.
3.	Apply updates received from the server. If a known object's location or contents change, resolve or discard nodes as appropriate.
4.	Propagate events from various nodes as appropriate back to the server. Disconnecting from the server is a simple matter of closing the connection and disposing of unnecessary objects.

Please note that the responsibility for registering interest in objects rests largely on the client. This was done for pragmatic reasons based on the complexity of corresponding algorithms for previous 2D game systems. The single exception is when an object is added to an active scene, the server may volunteer the object representation. This exception was made to deal with a timing issue involving objects entering scenes and moving before being completely loaded.

The basic properties of each VRML node are as follows:  Number, Name, Class, Position, Orientation, Scale, Location, and Contents. Most nodes also have a URL property. The Location and Contents properties identify the node's parent and children respectively. The Class property identifies which type of object the client is to instantiate, and mostly determines which events are routed back to the server.  Nodes of type SceneRoot are used as the root end of the scene trees. The URL property specifies where the geometry to be loaded for a node can be found.

For simplicity, geometry is generally assumed to be wrapped in PROTO structures for ease of connecting to the appropriate events. The exception is the "Generic" class that does no routing of events back to the server.

In the current Virtual Cell client there is a somewhat complex PROTO node used as the backbone of the scene graph which provides support for basic animation of the position and orientation of the geometry. This PROTO is basically a Transform node with two Transform node children, one of which holds its children objects and one of which holds its geometry. A slightly modified version of this PROTO containing a ProximitySensor and a Script node to generate Viewpoint nodes is used to hold the user's avatar.

Java 3D Interface Development for Educational Applications

Geology Explorer Implementation

In September of 2000 the National Science Foundation awarded a 1.94 million dollar grant to the WWWIC of NDSU for the development of distributed educational environments.  The primary focus and the first environment to be implemented is the Geology Explorer.

The design and implementation of the Geology Explorer client in Java3D will not be an easy task. The primary design goal is to create a vast seamless planet with as much detail as possible. In comparison to first and third person games like Quake or Tomb Raider, 30 frames-per-second (fps) real-time performance is not a primary concern.  Acceptable frame rates for applications such as Geology Explorer would be between 5-30fps.

The modeling of Planet Oit will be done in the highest detail possible. Ideally, the Bryce 3D models would be re-used for the Java3D version of the planet. However due to export limitations of the software this may not be possible. As hardware and Java3D progress, Java3D will allow the performance and capabilities of the client to expand. While current hardware is not acceptable for dealing with these high-resolution models, the models can be easily decimated and the resultant models can then be used and replaced as performance allows, possibly at load time. The 3D formats of the models are insignificant as Java3D can load various formats.

The Geology Explorer client and server will come together with a distributed event model. Objects on the server will be synchronized with matching representations on the client side. Game logic will reside on the server leaving the client thin on logic, but thick with geometry and textures. Leaf game servers will offload users from the master server.  Leaf servers only need to be aware of the scope of its current users, much like the Internet Relay Chat (IRC) communication model.

Virtual Cell EAI Implementation

The first major stumbling block for the Virtual Cell VRML-based client was the difficulty involved in programmatically controlling the user's viewpoint and navigation. The most common reason for the user becoming stuck in various geometry structures is that of “random timing variations.”  The second stumbling block involves the nature of the scene graph constructed by the client.  In testing with ParallelGraphics, Cortona and Blaxxun's Contact plug-ins, problems were found when adding nodes to nodes that are two to three Transform nodes from the original scene graph. Further complicating matters was the fact that the client was developed originally for the CosmoPlayer plug in, before that company's infamous split from SGI, which resulted in it becoming unsupported.

At present, a prototype version of the Java 3D VCell client has been constructed based on the VRML 97 object loader code developed by the Web3D X3D working group (www.web3d.org/x3d.html).  This prototype is using a simple version of the EAI built as a wrapper around the provided VRML runtime.  As a prototype, user navigation and interaction is currently not quite satisfactory.  It is unclear right now whether it would be simpler to construct an ad hoc Java 3D version of the navigation and viewpoint controls, or to try to implement one of the X3D proposal alternatives for navigation.

From a design perspective, the primary advantages of VRML were its event model and the ability of the PROTO node to provide a layer of abstraction and event mapping.  This meant that development of the client could focus on separating objects by what type of event routing they needed on the client side, rather than the structure of their geometric descriptions and what user interface structures that description included.

The final advantage of VRML over other alternatives, such as a serialized intermediate Java 3D representation, would be the convenience of a human understandable format in prototyping.  The VRML Compressed Binary Representation standard exists as a migration path if the verbosity of the VRML geometry descriptions becomes too onerous, and should be easy enough for which to construct translators.

Java 3D Interface Development for Anthropological Research

Digital Archive Network for Anthropology (http://atl.ndsu.edu/archive/)

Where most other WWWIC projects are education centered IVW’s, DANA is a project that has as much to offer in the form of research benefits to the discipline of anthropology as it does to the education of its students. The NDSU Archaeology Technologies Laboratory (ATL) conceived the DANA project idea, intending it to be an Internet-based network of interoperable databases forming a global Digital Archive Network for Anthropology. The network will link researchers, students, and the general public to realistic, accurate, visual representations of artifacts, fossils, and other archived objects. This federation of databases will differ from other anthropological archives in several ways. Most notably, it will contain 3D models of material objects that are sufficiently precise to allow for a wide range of detailed measurements through the application of specially created “virtual calipers” – 3D measurement tools – developed for use in a J2SE/Java3D environment (Borchert et al., 2001; Clark, Bergstrom, Landrum, Larson, & Slator, 2000).

The ATL, in cooperation with the Information Technology Services department at NDSU, serves as the administrative hub for DANA. Prototypes of the DANA architecture, critical software (applets, servlets, and virtual tools), database template, and the initial database have been developed. DANA is already a working piece of J2SE/Java3D-based software that is being extended to provide a geographic and materials-based interface for two preliminary test databases. Institutions involved in the project can use generic SQL statements to create database tables and populate them from spreadsheets. The SQL commands are as generic as possible so they can easily be adapted to any SQL database. A Java JDBC servlet has been created to handle query traffic for both Oracle and PostgreSQL, and soon servlet support will be added for Informix, DB2, mySQL, SQL Server, and others. The use of spreadsheets minimizes the learning curve for data entry, thus encouraging participation in the DANA project (Borchert et al., 2001; Clark, Bergstrom, Landrum, Larson, & Slator, 2000).

The primary task of the DANA institutions will be the archiving of anthropological data in textual and visual forms. The set of textual records will be very large, including records stored at the NDSU site and at a number of other sites, and will be accessible via both Internet2 and standard Internet connections. Efforts to organize, navigate, and comprehend large data sets with complex information and high‑resolution graphics will work most effectively with the next generation Internet. The broadband network of Internet2 will provide a smooth and reliable system for comparatively rapid accessing of large data files. This access will be available whether a student or researcher is located at small community college in the Midwest or a major university in India (Borchert et al., 2001; Clark, Bergstrom, Landrum, Larson, & Slator, 2000).

DANA - Java3D Artifact Explorer

The Java3D Artifact Explorer (JAE) is DANA’s 3D model viewer. Its main purpose is to display 3D models of objects that have archaeological/anthropological significance. Three-dimensional models that have been used to test the JAE have been generated from a number of archaeological artifacts and fossil materials ranging from stone adzes to hominid endocasts (plaster casts of the interior brain cavity of ancestral human skulls) of up to 50 megabytes in file size. The 3D models for these objects are generated using a Minolta Vivid 700 non-contact 3D laser digitizer.

Currently, the JAE also provides users with simple measuring tools, virtual calipers, which can measure the distance between two user-selected points on the object or add the distance along a line of multiple user-selected points. Unlike traditional caliper and ruler measurements, virtual calipers allow for the recording of a more accurate measurement, which is down to a tenth of a tenth of a tenth of a millimeter (or more). Virtual Calipers also allow the user to easily record the exact location of a point selected on an object, something that is nearly impossible to do otherwise. More complex virtual calipers will be implemented in the future in order measure aspects such as circumference and volume (Clark, Bergstrom, Landrum, Larson, & Slator, 2000). 

Unlike the Virtual Cell and Geology Explorer IVW’s, the JAE does not use the VRML 97 runtime. Rather, the JAE uses the VRML97 loader classes, version 0.90, to load a 3D model’s geometry and appearance in order to display it (http://www.web3d.org/WorkingGroups/vrml-java3d/downloads/0.90/). The JAE handles the functionality for features such as lighting, camera views, and rotation/translation/point selection behaviors through Java3D. The JAE also uses some of the NCSA Java3D Portfolio (http://www.ncsa.uiuc.edu/~srp/Java3D/portfolio/). Though there are plans to use the NCSA Portfolio to implement loaders for multiple 3D file formats in the JAE, it currently only uses the RecordableCanvas3D class to save screen captures of the models and user-selected points in JPEG format.

While DANA’s focus for delivering research content to the world begins with Interactive 3D in the form of VRML and Java3D, it does not end there. DANA also displays IBM’s HotMedia 3D content as well (http://www-4.ibm.com/software/net.media/). Future versions of DANA will also implement other media formats such as QuickTime for Java so that data such as ethnographic film/video can be delivered via the Internet to researchers as well (http://developer.apple.com/quicktime/qtjava/index.html).

Conclusion

Undoubtedly there is a wide range of quality education projects around the world that use Interactive 3D in conjunction with the Internet. Projects that do so are known as Web3D projects. WWWIC and ATL use Web3D to produce environments that draw the user closer to the ideas and concepts around which disciplines these projects revolve. Now, though the use of Interactive 3D/Web3D technology, students and faculty can learn and conduct research with an insiders view that can only be obtained by a proximity of the objects or the ideas to be studied. 

References

Borchert, Otto, A. Bergstrom, J. Hockemeyer, J. T. Clark, P. Juell, P. E. McClean, 
B. Saini-Eidukat, D. P. Schwert, B. M. Slator, A. R. White, et al.  (2001).
Recent Advances in Immersive Virtual Worlds for Education. Proceedings of the 34th
Annual Midwest Instruction and Computing Symposium (MICS), April 5-7, Cedar Falls, 
IA.

Clark, J. T., A. Bergstrom, J. Landrum, III, F. Larson, and B. Slator.  (In Press).  Digital Archiving Network, for Anthropology.  Proceedings of the Virtual Archaeology Between Scientific Research and Territorial Marketing Conference, Arezzo, Italy, November 2000. Edited by F. Niccolucci.  Oxford: BAR International Series.
Schwert, Don P., B. M. Slator, and B. Saini-Eidukat (1999). A Virtual World for Earth Science Education in Secondary and Post-Secondary Environments. In the Proceedings of the International Conference on Mathematics/Science Education and Technology, March 1-4, San Antonio, Texas.
Slator, Brian M., D. P. Schwert, B. Saini-Eidukat, P. E. McClean, et al. (1998). Planet Oit: a Virtual Environment and Educational Role-playing Game to Teach the Geosciences. In the Proceedings of the Small College Computing Symposium (SCCS98). Fargo-Moorhead, April. pp. 378-392.

Slator, Brian M., J. T. Clark, P. Juell, J. Latimer, P. E. McClean, B. Saini-Eidukat, D. P. Schwert, A. R. White, et al. (1999). Research and Development of Virtual Worlds for Immersive Instruction. In the Proceedings of the 32nd Annual Small College Computing Symposium (SCCS), April 15-17, La Crosse, WI.

Slator, B.M., P. Juell, P. E. McClean, B. Saini-Eidukat, D. P. Schwert, A. R. White, and C. Hill (1999), Virtual Environments for Education: Journal of Network and Computer Applications, v. 22, pp. 161-174.

Walsh, Aaron E. and M. Bourges-Sévenier (2001). Core Web3D. Prentice Hall PTR, Upper Saddle River, NJ.

White, Alan R., P. E. McClean, P., and B. M. Slator (1999). The Virtual Cell: A Virtual Environment for Learning Cell Biology. In the Proceedings of the Tenth International Conference on College Teaching and Learning. April 14-17, Jacksonville, Florida.