(This announcement is being posted to this list on behalf of Lorien Dunn.
See also: http://raa.ruby-lang.org/list.rhtml?name=hail_ruby)
Announcement: Hail (the GPL ruby extension/c++ library)
Download location for Hail (the AIE windows game):
loriendunnNOSPAM@hotmail.com (remove the “NOSPAM”)
This extension is the (very much updated) code for everything to
do with ruby from the AIE game “Hail” that isn’t wrapping an Imagin8
engine class. It is known to work on Windows and Linux.
The package contains: An FAQ about Hail (the game), ruby, and open-source software Timer: provides millisecond accurate timing from a hardware clock. Log: a unified debug log for c++ and ruby. Memory: a screaming fast memory pool allocation system. On win2k seems to be around 6* faster than malloc/free, and on (a very optimised) linux 2.4.19 around 2*. Vector3: a basic 3d vector class that is very easy and fast from c++ and very easy from ruby. Scheduler: Allows deferred execution of ruby code-blocks. If your event loop runs fast enough it is accurate to the millisecond, otherwise it catches up. Based on a scheduler by Roger Dannenberg for interactive music systems and midi sequencing. Signal: Like a Signal/Slot framework, but lets you connect to any number of ruby code-blocks. RubyMM: An exception safe c++ to ruby communication library. Lets you use any ruby class/instance/module from c++ with minimal effort, and hence makes it easy to write c++ classes with virtual ruby methods. Also eases embedding ruby in a c++ application. Audio: a realtime 3d game audio engine written with the above classes and Fmod. Makes it easy to embed all the sounds an entity can make inside that entity, and allows control of all those sounds at once though a Manager. Fmod is a free-as-in-beer for non-commercial use audio abstraction lib
available from www.fmod.org. Here are some of its features:
*If supported by your soundcard/drivers/platform you get hardware accelerated 2d/3d audio with environmental reverbs (EAX 3.0). If not you get MMX/FPU 2d/3d audio. *Runs on windows, wince, linux, macos, playstation2, game cube, and xbox. *On linux it can use OSS/Free, ESD, and ALSA 0.9 *On windows it can use WinMM, DirectSound, ASIO, and DolbyDigital. *On all platforms it understands wav, aiff, mp3, ogg, and wma formats. *Lots more like mod, midi, and audio-cd playback (not available from ruby yet).
END OF DOC