RAGE a 2d game engine made using allegro 5
ArekXV

Hi guys, I'm not sure if this topic should go here or not, sorry if I missed the forum.

This is a game engine I've been working on past few months. It's a game engine made using C++ and Allegro Game Library. Games are made using scripting language Ruby.

It currently has loads of features like loading, showing and manipualting images; playing audio, grabbing input from keyboard, mouse and joysticks, Fragment and Vertex shaders, events, fonts, PhysFS support, UTF-8, drawing primitives, color operations, and more.

I am currently using Allegro 5.0 branch and have ported almost all features of it into the engine.

Ruby is a good choice for me (afar from being the awesome language that I love) because it's portable, object-oriented with easy and powerful syntax and a garbage collector (which became really awesome as of version 2.0.0).

Allegro was the first game library I've worked with when I started with C++ and it was so easy to figure out, just awesome.

I've even extended a bit of PhysFS support so that you can zip everything into one package and append it at the end of executable file of the engine and you will have a all-in-one game.

Currently I know that it can work both on Linux and Windows. I'm planing on extending support to OS X, iOS and Android (if possible).

It's still in beta but I plan on finishing stable version somewhere around December. Features planned for stable version are:
- Network Sockets
- Box2D API for physics
- Particle engine (which is finished already :))

It's open-source (and it will be with a zlib license when stable version comes out), so you can check it out here: https://github.com/ArekX/RAGE

Latest preview build is available here (missing network support and Box2D): https://github.com/ArekX/RAGE/releases/tag/100rc

GullRaDriel

Sounds nice. A pity I would not use allegro with ruby.

I wish you good luck .

ArekXV

Would you care to elaborate why you would not use it?

GullRaDriel

I'm not a ruby user, my bad ^^

jmasterx

Thanks for making this. Ruby is a really nice scripting language. Though, you may want to eventually add LUA support for more widespread use. But your boot script for example is very clear and clean.

Excellent work :)

Dizzy Egg

Pardon my ignorance, but I don't get it....how is this any less complicated than just using allegro and your favourite libraries...?

Thomas Fjellstrom

Because its more of a "game maker" or Unity style thing. You feed it Ruby scripts, and the engine does the rest.

ArekXV

It's easier because of many features that Ruby offers, such as garbage collector and it's language centric features (lazy enumerators, easier threads, way more simple string handling than C), regular expressions, etc. Not to mention that compared to Lua Ruby is actually object oriented (Lua just emulates object orientation). Combine all that with awesomeness of Allegro power and you've got yourself RAGE 2D game engine :)

And the way the source code was made it is really easy to extend it with some more custom features. I've also included native support for Ruby extension libraries DL (DL module and Win32API class via DL module) and Zlib so those can be used from get go.

Thread #613185. Printed from Allegro.cc