August 7th, 2007
L3DGEWorld is a network monitoring and control application based on Open Arena, a GPL'd game that makes use of the Quake III Arena (Q3A) game engine. L3DGEWorld allows monitoring and control of a live network to take place from within a virtual world created by the game engine.
L3DGEWorld currently creates a virtual world in which spinning objects represent the rate at which IP packets are heading towards particular, monitored IP addresses on your network. The L3DGEWorld virtual world is not restricted to IP packets. The virtual world and objects (known as entities) can be customised to suit any monitoring purpose. An example of a L3DGEWorld variant is LCMON 1.0 which monitors the Swinburne Supercomputer. L3DGEWorld variants can be achieved by using tools such as GTK Radiant (used to create the virtual world known as maps for many games ) and Milkshape 3d (used to create entity models that interact with the virtual world).
This report outlines the basic steps to create a customised map and entity replacement models for L3DGEWorld.
(note: This guide is predominantly for Windows Users and only covers enough knowledge to get custom maps and replacement models working for the L3DGEWorld environment.)
Overview of software needed:
Installing L3DGEWorld and Open Arena:Step 1: Download and install a full version of Open Arena 0.60. Default location of installation is 'C:\Program Files\OpenArena'.
|Figure 1: Copy contents from l3dgeworld folder to Open Arena folder.|
Installing and configuring GTK Radiant (for windows) :New maps/worlds can be created for L3DGEWorld to suit the type of monitoring application. For example, a virtual office could be mapped to represent the real world office filled with computers. (note: For *nix and Mac OSX users, please follow this guide to set up GTKradiant for OpenArena.)
Step 1: Install GTK Radiant from (http://www.qeradiant.com/). The default location would be 'C:\Program Files\GTKRadiant 1.5.0\'
(note: GTKradiant by default is not set up to recognise Open Arena.)Step 2: For Window users, download this zip file and copy the files and folders from the GTK Radiant folder into where GTK Radiant was initially installed. These files and folders are the 'games/oa.game' file (used to instruct GTK radiant the where abouts of Open Arena on the system) and 'oa.game' folder (used to tell GTK radiant what kind of entities can be used). (note: Open Arena must be installed in "C:/Program Files /OpenArena/" else files from games/oa.game and oa.game/l3dge/entities.def will need to be modified.)
Installing Milkshape 3D:Step 1: Download and Install Milkshape 3D. There is not any special configurations for Milkshape 3D.
Overview of steps used to create a map:
Before mapping, all *.pk3 files in the 'baseoa' and 'l3dgeworld' of Open Arena Folder ('C:\Program Files\OpenArena\') need to be unpacked. This will make it easier to find and view textures instead of GTK Radiant unpacking them on the fly. (note: pk3 files are archived files. Your favourite archiving application eg WinZip, WinRar can be used to open pk3 files.)
Unpack each *.pk3 file to where it originally was. Remove *.pk3 files from the folder by either creating a new folder and placing them in there for safe keeping. (note: the whole purpose of this is because *.pk3 files will take precedence over the unpacked files and folders. We just need to make sure the *.pk3 files cannot be found so the extracted files and folders are used.)
Creation of virtual world using brushes:In the virtual world, the environment is made up of several basic shapes (squares, rectangles, spheres and so forth) known as brushes. These brushes are textured to give the virtual world a sense of realism and colour.
|Figure 2: Select 'Open Arena' at the GTK Radiant global prefence.|
(note: If Open Arena is not an option, please refer back to "2. Installing and configuring GTK Radiant (for windows)".)
(note: If GTK start up assertion error occurs, follow instructions to fix the error).
|Figure 3: Select 'L3DGEWorld' for the project settings modification.|
Entity Placement:Using the custom 'entities.def' file (Step 3 of 'Installing and configuring GTK Radiant (for windows)' ), L3DGEhosts can be added by using the right-click menu (Figure 4). Their in game number will correlate to the order in which you add them to the map. This means that the first L3DGE host entity that is added will be referenced as 'Entity 1' .
|Figure 4: L3DGE host entity placements are added by using the right-click menu.|
|Figure 5: 'greenmachine' map being created with GTK Radiant.||Figure 6: 'greenmachine' map loaded in L3DGEWorld engine.|
Textures are what are placed on the surface of brushes. They give brushes and models life.
Map textures will be pulled by GTK Radiant from the 'baseoa\textures\' and '\l3dgeworld\textures\' folder. New textures can be placed in these folder and must be saved in JPEG or TGA format. It is advised to place new textures in the l3dgeworld folder.
(note: If these folders do not exist and *.pk3 files are found instead, then the *.pk3 files need to be unpacked using an unpacking application such as WinZip.)
Lighting:Another essential to map making is lighting. Basic lighting can be added by using the right-click menu and selecting 'light'. The intensity of lighting can be specified at creation. Ensure lighting to be inside the room you have created else at compile time a 'Map leak' error will occur.
(note: The number of lights and complexity of lighting will affect compiling time of the map and possible game engine performance issues.)
Shaders:Shaders are short scripts which define the property of a surface texture. For example, you may notice in some games the sky moving or a piece of armour glowing bright on a model. These scripts instruct the game engine what kind of effects should be applied to a surface. More information about shaders can be found here.
(note: Applying too many complex shader effects can cause performance degradation on the game engine.)
Compiling your map:Step 1: Save the map in "C:\Program Files\OpenArena\l3dgeworld\maps".(Maps will be saved using ".map" as an extension.)
Custom Models can be created and textured to suite the type of monitoring L3DGEWorld will visualise. The follwing instructions can be followed in more detail here. Models/Entities in L3DGEWorld are saved in md3 format. The same format as Quake III models. Example model files for L3DGEWorld can be downloaded here.
Overview of steps to create a custom model:
|Figure 7: Make sure to save and edit the *.qc file for the model before exporting mode as *.MD3.|
We have given a brief overview on how to map a new environment for L3DGEWorld using GTK radiant. New entities can be modeled using Milkshape 3D. There are numerous monitoring systems that could be enhanced greatly with the versatility of L3DGEWorld.