TECHNOLOGY

Typhoon is written in C++ and Lua. It uses a new component-based entity system with support for multiple scenes, entity hierarchies, prefabricated entities and components, inheritance, properties for editing and serialization. The main components are programmed in C++ and exposed to Lua. Scripts are written exclusively in Lua and control the application logic.
The rendering technology features standard, advanced and innovative effects. It is based on the DirectX 9 API and the shader model 3.0.
The engine uses state-of-the-art techniques for the rendering of sky, terrains, water and underwater environments. It includes also a physics engine, a sound engine, a character animation engine and an AI steering library.

Learn about the water technology…
See what's under development…

FEATURES

Core 

  • Component-based entity system
  • C++ - Lua interoperability
  • Virtual file system
  • Data compression and encryption
  • Console system
  • XML serialization

Rendering 

  • Material system based on shader model 3
  • HDR pipeline
  • Support for multiple cameras and viewports
  • Reflections (planar and omni)
  • Refractions
  • Image filters
  • Bumpmapping, parallax mapping

Lightning 

  • Deferred direct lightning
  • Deferred volumetric lightning
  • Support for directional, point, spot, ortho, SH lights
  • Cascaded shadowmapping
  • Deferred shadowing
  • Dynamic sky lightning
  • Light shafts

Water 

  • Procedural, deferred animation of waves (linear and circular Gerstner waves)
  • FFT-based animation of waves
  • Reflections, refractions, Fresnel effects
  • Real-time generation of caustics
  • Underwater scattering
  • Underwater volumetric godrays
  • Smooth water line
  • Smooth transition underwater

Terrain 

  • Flexible geometry synthesis
  • Clipmap-based LOD system
  • Deferred procedural texturing

Character animation engine 

  • Skeletal animations
  • Animation blending controlled by scripts
  • Procedural animations

Input

  • Keyboard and mouse support

Physics engine (based on ODE) 

  • Collision detection
  • Rigid body dynamics
  • Picking (for editor)
  • Buoyancy simulation

Sound engine (based on FMOD) 

  • 2D sounds
  • 3D sound sources
  • Multiple listeners
  • Sound occluders

Particle engine 

  • Highly optimized and GPU friendly
  • 2D and 3D particles
  • Trail renderer

AI steering library 

  • Boids simulation
  • Path following
  • Obstacle avoidance