Friday, January 8, 2010

InfiniteRay: A View-based platform

Introducing a side-project I wrote over the holidays. InfiniteRay is a cross-platform graphics platform which uses Lua scripting to manipulate a hierarchy of views. The goal of this project is to make it easy to write complex graphical applications. It turned out to be a pretty cool way to do some rapid prototypes.

You can check out the source here (BSD Licensed).
There are no binaries yet available. However it does build under win32 using mingw and OS X using xcode assuming you have all the prerequisite libraries (see below). Note: The Lua bindings are automatically created by gen.py in the /gen directory.

It's also still alpha-quality so if you're looking for a more mature platform check out the Love 2D Game Engine. InfiniteRay differs from the Love engine in a number of different ways but primarily InfiniteRay is C-based and Love is C++ based.


(Short Video Demo)


(The loader screen)

Features:
- Lua scripting language
- Structured view system to easily create complex compositing heirarchies
- Asynchronous resource loading from files or zip archives
- Drawing support utilizing the cairo graphics library
(http://www.cairographics.org/)
- Font rendering using the freetype font engine
- Asynchronous TCP/IP network support

Library Dependencies:
- FreeType 2.3.11
- Cairo Graphics Library (libcairo,libpixman,libpng)
- zlib


(The asteroid example)