Features
If you have a specific enquiry about the engine, please contact us.
Summary
- Cross-platform 3D Game Engine (Java-based)
- Streams games/applications over the Internet
- Deployment within or from a web browser window
Display Modes
- Web browser (embedded or full browser resizable)
- Application window
- Full screen
Overall Architecture
- Optimised for high frame rate
- Works well on modest hardware
- Object-oriented, Robust and highly extendable
- Tested on Mac OS X, Linux and Windows
Scene Graph
- Object-oriented 3D scene graph, nested transforms
- Bounding-volume based camera frustum culling
- Discrete LoD Support
- State management for (eg. fog, light, materials)
- Controllers for per-frame operations
- Access to scene graph from background threads
- Instancing support, shared geometry
- Support for multiple passes per geometry and per scene
Cameras
- Standard camera
- First-person perspective camera (with input handling)
- Third-person perspective camera (with input handling)
- Above-view camera (with input handling)
- Custom cameras
Texturing
- Background texture loading
- BMP, TGA, JPG, PNG, GIF, Animated GIF, TIFF, ELB (Native)
- Normal maps, specular maps, ambient occlusion maps, light maps
- Mip-mapping
- Multi-texturing
Geometry
- Triangle meshes
- Custom mesh types
Bounding Volumes
- Spheres
- Ellipsoids
- AABBs
- OBBs
- Bounding models
Picking
- Bounding volume picking
- Triangle picking
- Edge picking
- Vertex picking
- Mouse picking
- Custom bounding volumes
Collision Detection (Static and Swept)
- Bounding volume to/from bounding volume
- Bounding volume to/from geometry
- Geometry to/from geometry
Collision Response
- Sliding player to geometry collision response w/ gravity
- Custom collision responses
Terrain
- Streamable over the Internet, virtually any size
- Optimised for high frame rate
- LoD Support
- Multi-texturing (texture splatting)
- Light maps or real-time lighting
Environment
- Procedural sky dome with support for gradient colours
- Multiple layers of procedurally generated cloud, animated
- Animated specular mapped water
- Custom textures and geometries
- Dynamic to facilitate weather conditions, time of day etc
Animation
- Flexible - animations may be stored in a hierarchy
- Interpolated transforms, including step, linear and bezier modes
- Jointed skinned models for skeletal animation, rigid or smooth binding
- Animations can affect scene graph nodes as well as joints
Model Import
- Background model loading
- Client-side or server-side decoding/encoding
- Wavefront OBJ, Milkshape MS3D, Collada
- Elflight ELF (native format - supports animation)
- Custom import/export modules
Collada Import
- Automatic and seamless triangulation
- Fast parser for decoding models
- Animations (including skeletal) - stepped, linear, bezier
- Material support includes texturing, transparency, translucency, ambinet occlusion maps
- Tested with Maya, 3D Studio, Softimage XSI.
Export
- Wavefront OBJ
- Elflight ELF (native format - supports animation)
- Custom export modules
Resource Handling
- Streams from local disc or remote server
- Virtual filing system with version control
- Virtual local hard disc for caching
Login Server
- Supports multiple processors/cores
- Supports multiple worlds
- Stores user account information
- API for integration with client
- API for integration with servers and tools
VFS (Asset) Server
- Supports multiple processors/cores
- Supports multiple worlds
- Streams assets to the client
- Asset relationship tracking
- API for integration with client
- API for integration with servers and tools
Database
- Database-vendor independent 'data stores'
- Provides a clean abstraction from database
- Enables data to be moved from one vendor to another should the need arise
Game Server
- Supports multiple processors/cores
- Support for multiple game worlds
- Scriptable simulation framework
- Virtual clock and automatic synchronisation of clients
- 'Entities' for server-side representation of objects and players
- Flexible 'Data Sets' for storing entity and other data. Automatic persistence.
- Synchronisation of entities and data between the server and the client
- Support for multiple scripting languages, including Lua
- API for integration with client
- API for integration with servers and tools
Networking
- Non-blocking IO-based framework
- TCP/IP (UDP possible with custom network module)
- Efficient and scalable - automatic message encoding/decoding
- Message tampering detection
- Support for queries and notifications
- Remote exception handling
- Remote method calls
Elf2D (HUD)
- Object-oriented 2D framework
- Flexible font support - TrueType, Pre-rendering, drop-shadows, anti-aliasing
- Multiple look and feel (skinning)
- Vector and texture based rendering
- Wide range of standard 2D components
- Various layout managers (pixel, row, column, table)
- Supports embedding of 3D within 2D
- Supports drag and drop from 2D to 3D
Special Effects
- Vertex shader support
- Fragment shader support
Sound Effects / Music
- OpenAL support via JOAL