page_image
Lunar Engine

Description

Lunar Engine is a fully functional 2D game engine, with an easy to use API for developers. The engine is written in C++ and OpenGL for developing all types of games and applications. (Currently supported under Microsoft Windows 2000, XP, Vista, 7)

Projects currently using Lunar Engine:
Lunar Radiation


Features


General

  • Blazing fast 2D rendering
  • Full OpenGL 2.1 support
  • Hardware adaptation

Collision detection Collision detection

Managing

  • Memory control
  • Cache control
  • Event listeners
  • Secure objects
  • Automated updates

Rendering

  • Draw order based rendering
  • On/off screen rendering
  • Multi pass support
  • Popular blending techniques
  • Light blend for lighting effects
  • Multiple shader programs

Rendering window

  • Movable, resizable and scalable render window
  • Full screen and windowed mode
  • Message listeners

Input system

  • OS native input system
  • Full keyboard support
  • Full mouse support including scroll wheel

Scripting

  • Advanced built-in scripting language
  • Scriptable classes, properties and inheritance support
  • 16, 32 and 64-bits integer, boolean, string, color and vector data types
  • Required and variable parameters
  • Full type-checking

Shading Shading

Resourcing

  • Scriptable resource system
  • Embedded MySQL database server and connector
  • Customizable data tables for queries
  • Automated data file system

Scene

  • Node based scene graph
  • Translatable, rotatable and scalable nodes
  • Node rendering callbacks
  • Rectangles, borders, ellipses and Bezier-curves

Collision detection

  • Optimized collision detection system
  • Axis-aligned bounding box collisions
  • Oriented bounding box collisions
  • Bounding sphere collisions

Shading

  • GLSL 1.2 shader support
  • Vertex and fragment shaders
  • Scriptable shader programs
  • Full uniform, attribute and sampler variable support

Capturing

  • Capturing system for render to texture
  • On/off screen capturing using frame buffer objects
  • Automated viewport corrections

Particle system Particle system

Threading

  • Basic thread system for programmers using Pthreads
  • Joinable threads

Timing

  • Precise high resolution timer support
  • Timer callbacks, when ticked
  • Multiple timers and syncing capabilities
  • Functionality for timing user code

File system

  • Load/save plain and binary files
  • Load/save encrypted files with custom key
  • Strong 256-bit file encryption

Particle system

  • Fast point sprite based particle system
  • Scriptable particle systems
  • Fully customizable particle emitters
  • Six built-in particle affectors
  • Support for user derived affectors

Font

  • Texture based font system
  • Full TrueType support using FreeType
  • ASCII and extended ASCII support

Text Text

Text

  • Advanced text system integrated with fonts
  • Customizable word wrapping
  • Style tags and line breaks
  • Left, center and right alignment

Sound

  • Professional sound system using FMOD
  • All popular sound formats
  • Hardware and software sound support
  • Sound streaming
  • DSP spectrum analysis
  • Multiple sound channels

Texture

  • Advanced and robust texture system
  • All popular image formats using FreeImage
  • Power-of-two and non power-of-two images
  • 24-bit (RGB) and 32-bit (RGBA) texture support
  • Cropping and tiling support

Animation

  • Easy to use animation system using FFmpeg
  • All popular video formats including flv
  • Alpha channel frame support
  • Animation callbacks on frames
  • Variable animation duration

Texture Texture

Expression solver

  • Built-in mathematical expression solver using Math Solver
  • Multi-threaded calculations
  • Unary, binary and ternary operations
  • Unlimited nested parentheses
  • True conditionals
  • Hexadecimal, octal, quaternary and binary input/output
  • User defined constants, variables and functions
  • Step-by-step solution system

Random

  • Statistically good random generators
  • 32 and 64-bit generated numbers

Utilities

  • Color/vector/matrix utilities
  • Callback utilities, functors
  • Date time utilities
  • Random utilities
  • Math utilities
  • String utilities
  • Type conversion utilities



FreeType fmod FreeImage
FFmpeg MySQL OpenGL