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.


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.


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


  • 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


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


  • Background texture loading
  • Normal maps
  • Specular maps
  • Light maps
  • Mip-mapping
  • Multi-texturing


  • Triangle meshes
  • Custom mesh types

Bounding Volumes

  • Spheres
  • Ellipsoids
  • AABBs
  • OBBs
  • Bounding models


  • 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


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


  • OpenAL Support
  • Automatic source management
  • Scene graph integration


  • 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


  • 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


  • 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


  • 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

19th December 2017

MacHylafax 2 Announced

MacHylafax 2 is in development and will be released during 2018. As well as new features requeste...

1st February 2016

MacHylafax 1.43

An update has been released for MacHylafax.

Release notes:

Fixed a bug which would someti...