Elflight Engine


Elflight EngineThe Elflight Engine is a unique cross-platform 3D game engine optimised for developing games or applications that are primarily Internet-based.

It supports collaborative real-time editing and can run in a web browser or standalone. Game resources can be intelligently streamed whilst playing to minimise download time.

It has been in development since 2006 and is currently in its third major version. The technology is continually being refined and has been used in various commercial projects.

Platforms

The Elflight Engine is written in Java and compatible with Mac OS X, Windows and Linux. We are in the process of porting it to C++ as well as making it available for smart phones and tablets.

Availability

We use the engine as the foundation for bespoke commercial projects. Please contact us if you would like to discuss your requirements.

Summary


  • Web browser or standalone
  • Stream resources over Internet
  • Real-time collaborative editing
  • Optimised for high frame rates
  • Works well on modest hardware
  • Object-oriented, robust, extendable
  • Mac OS X, Linux and Windows

Scene Graph


  • Object-oriented 3D scene graph
  • Nested transforms
  • State management
  • Bounding-volume camera frustum culling
  • Discrete LoD
  • Controllers for per-frame operations
  • Thread-safe scene graph
  • Instancing support, shared geometry
  • Multiple passes per geometry/scene

Cameras


  • Standard camera
  • First-person perspective
  • Third-person perspective
  • Above-view
  • Custom cameras
  • Camera collision handling

Texturing


  • Background texture loading
  • BMP, TGA, JPG, PNG, GIF, TIFF, ELB
  • Normal maps
  • Specular 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 collision response w/gravity
  • Custom collision responses

Animation


  • Hierarchical animation structure
  • Interpolation (step, linear, bezier)
  • Joint-based skeletal animation
  • Scene graph node-based animation

Audio


  • OpenAL Support
  • Automatic source management
  • Scene graph integration

Terrain


  • Streamable over the Internet
  • LoD for maximum performance
  • Multi-texturing (texture splatting)
  • Light maps or real-time lighting
  • Traditional height-map based terrain or
  • Cell-based true 3D terrain
  • Both support real-time editing

Environment


  • Procedural sky dome with gradient
  • Multiple animated procedural cloud layers
  • Animated specular mapped water
  • Custom textures and geometries
  • Time of day interpolation

Model Import


  • Background model loading
  • Client-side and server-side encode/decode
  • OBJ, MS3D, DAE (Collada), ELF (native)
  • Most of these support animations
  • Custom model loaders

Resource Handling


  • Stream 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

Asset Server


  • Supports multiple processors/cores
  • Supports multiple worlds
  • Streams assets to the client
  • Asset relationship tracking

Game Server


  • Supports multiple processors/cores
  • Support for multiple game worlds
  • Scriptable simulation framework
  • Virtual clock w/ automatic synchronisation
  • Automatic persistence of game objects
  • Automatic game object synchronisation
  • Multiple scripting languages, including Lua

Networking


  • Non-blocking IO-based framework
  • TCP/IP (or UDP with custom module)
  • Efficient and scalable
  • Automatic message encoding/decoding
  • Message tampering detection
  • Support for queries and notifications
  • Remote exception handling
  • Remote method calls

Elf2D


  • Object-oriented 2D framework
  • TrueType font support
  • Drop-shadows and anti-aliasing
  • Multiple look and feel (skinning)
  • Vector and texture based rendering
  • Wide range of standard 2D components
  • 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
  • Various standard shaders
RSS News

30th January 2014

Analytics3D 1.3.2

An update for Analytics3D is available.

Smoother transitions on iOS 7 when navigating to...


23rd January 2014

Analytics3D 1.3.1

A further update for Analytics3D is now available.

Added support for sharing to additiona...