For a bullet-list of features (e.g. to decide if MASSIVE-3 could be useful
for you look at:
- "MASSIVE-3/HIVEK Introduction", Chris Greenhalgh, 22nd June 1999.
- PDF 2 page document with bullet list of main concepts and features as of
the current time.
If you want to use MASSIVE-3 then first use this to get the basic client
programs and other applications running:
- "MASSIVE-3 User Guide", Chris Greenhalgh, 21st June 1999, rev-2.
- A user-level (i.e. non-programming) introduction to MASSIVE-3, its applications,
and environment variables. Includes how to run your first session.
For a description of the CVE file format used by CveWorld (to create simple
static worlds without programming), and for notes on the DGL file format
used by MASSIVE-3 see the later sections of the MASSIVE-2 user tutorial (part 2).
If you want to customise your user client(s) without programming, then look
- "Configuring BodyExample-based User Clients for MASSIVE-3", Chris Greenhalgh, 28th May 2000
- A list of configuration file options and environment variable settings for
customising the operation of the standard MASSIVE-3 user clients without
If you want to start programming then read this for a general architectural
- "HIVEK: the HIVE Project Distributed VR Runtime Kernel", Chris Greenhalgh, Feb. 1999.
- Powerpoint presentation (in PDF) providing a short introduction to key distribution
concepts in MASSIVE-3.
- "Realizing Flexible Consistency in HIVEK", Chris Greenhalgh, 3rd Workshop on System Aspects of Sharing a Virtual
Environment, Houston, USA, March 1999.
- 2 page workshop paper on the same kind of thing as the above.
For some applications (e.g. virtual cameras and browsers) you may not need
to code in C++: the standard application MgmtServerMain supports a line-based
text protocol which can be used to control it from a standard application
(e.g. a Java app.). If you want to use this then read:
- Some notes on the MASSIVE-3/HIVEK management server, Chris Greenhalgh, 1999
- Outline of the ascii protocol used to control MgmtServerMain, a C++ server
program which can be controlled via a TCP-based client to create graphical
windows or to impose user constraints.
If you want to start compiling MASSIVE-3 stuff in C++ and/or changing the
MASSIVE-3 core and/or porting MASSIVE-3 to another platform start with:
- Compiling the MASSIVE-3 library and/or Applications, Chris Greenhalgh, 6/12/2000
- Some notes on the directory structure, build system, makefiles and step-by-step
Next move on to the following, to get a basic introduction to programming
MASSIVE-3 applications. Also look at the sample code in the MASSIVE-3 release
- NOTES on the source code use and organisation, Chris Greenhalgh, last updated 5/10/99.
- Information on directories and use, including RCS.
- "MASSIVE-3/HIVEK Application Programming: Basics", Chris Greenhalgh, 24th June, 1999.
- Introduction to programming with Agents and Environments, including code
snippets. Based on updated API (especially for event callbacks).
Other specific areas of application programming are described in the following:
- "MASSIVE-3/HIVEK Application Programming: Auras", Chris Greenhalgh, 29th June 1999.
- Introduction to using Auras and AuraSensors for proximity-based object detection/response.
- "MASSIVE-3/HIVEK Application Programming: Behaviours", Chris Greenhalgh, 7th July 1999.
- How to define and use Behaviours in MASSIVE-3 to support local and distributed
- "MASSIVE-3/HIVEK Application Programming: Subjectivity", Chris Greenhalgh, 7th July 1999.
- How to create subjective worlds and interfaces in MASSIVE-3.
Locale-based world structuring and interest management are considered in
the following documents:
- "HIVE Kernel Locale facilities - overview", Jim Purbrick, Jan. 1999.
- Overview of locale facilities.
- "HIVE Kernel Locale facilities - details", Jim Purbrick, Jan. 1999.
- Classes and implementation of locale facilities; future work and known problems.
- "Extending Locales: Awareness Management in MASSIVE-3", James Purbrick and Chris Greenhalgh, September 1999.
- Details of Locales and the (currently experimental) division of Locales
into Aspects. Also describes Locale selection policies.
- "Aspects in MASSIVE-3", Jim Purbrick, March 2000.
- How to create multiple aspect locales and define aspect selection policies
in MASSIVE-3, with example code.
MASSIVE-3 can record and replay activities in virtual worlds. Only limited
documentation is available at present, I'm afraid:
- "Recording and Replaying Action in MASSIVE-3", Jim Purbrick, March 2000.
- How to record action and replay the resulting history files. (CRG only for
The following documents relate to the development history of MASSIVE-3/HIVEK,
and may be out of date:
- "MASSIVE-3 Core API Excerpts", 28/6/99.
- Extracts from the core system header files, covering Agents and Environments,
in particular. A useful accompaniment for "Application Programming: Basics".
- "MASSIVE-3/HIVEK Consistency", Chris Greenhalgh, August 24th 1999.
- A more detailed description of consistency techniques present in MASSIVE-3/HIVEK,
as demonstrated by the hiveClient application (described here).
- "HIVE Distribution API", Dave Snowdon and Chris Greenhalgh, Nov. 1997.
- Slightly old documentation of the core networking and distribution classes
and facilities in MASSIVE-3/HIVEK, including network and distribution class
hierarchies, notes on serialisation, basic types, geomtry types (not a lot),
agent classes and utilities.
- "HIVE Kernel working design 14/1/98", Chris Greenhalgh and Dave Snowdon.
- Complete list of files and classes as of 14/1/98, i.e. a bit out of date.
Overlaps with "HIVE distribution API", above, having broader - but shallower
For CRGSHARE, which is currently used by MASSIVE-3: