View Full Version : Andorra 2D - Version 0.4 released

01-07-2008, 12:57 PM
Andorra 2D version 0.4 released

Andorra 2D is a next generation 2D-Engine. Andorra 2D features a very simple API for programming hardware accelerated 2D games and applications using Delphi or FreePascal/Lazarus.
Andorra 2D is able to handle multiple graphic system via plugins.
This allows you to use the engine with DirectX or OpenGL. By using modern 3D-Hardware, the graphical content is displayed with a very high frame rate.

Version 0.4 added a bunch of new features, further improvements and bug-fixes to Andorra 2D.
The new surface system allows you to render your scene to off-screen surfaces.
Every surface contains a revolutionary new scene object that allows you to apply your scene settings in a very simple way.

By applying shader effects written in the Cg or the HLSL language to image objects (and surfaces), you are able to do amazing post-processing effects.

The particle system had also been rewritten. Using multiple threads, the new system takes advantage of multi core processors. The particle system is much more flexible now and up to five times faster.

Another important aspect is the improved Lazarus and Linux support. Most differences between using Andorra 2D with Delphi and Lazarus are now history.

For more details regarding this release, visit the project homepage:

To download the newest version, visit

You can get an overview over all available downloads here:

Have a lot of fun with this new release and many thanks to the new developers Manuel Eberl and Nikolai Wyderka,

Andreas St??ckel (Igel457)
Andorra 2D Project Administrator

Shader demo video:
<embed id="VideoPlayback" allowFullScreen="true" src="http://video.google.com/googleplayer.swf?docid=7955897031380532582&hl=de&fs=true" type="application/x-shockwave-flash"> </embed>

01-07-2008, 03:10 PM
I've tried the demo's using a low end graphics card (radeon VE) and they performed pretty good (usually around 60-140fps) using the opengl renderer (couldn't test DirectX because I dont have that installed).

Currently I'm a happy PhoenixLib user, and I have no plans to change that, but say for arguments sake that I want to switch. Why should I choose Andorra over PhoenixLib?

(Bumped to news btw)

01-07-2008, 04:01 PM
No problem, here are a few reasons:

- Phoenix Lib is "OpenGL only" and therefore unflexible. When a new DirectX or OpenGL version is released, all I have to do is change about 1000 lines of code (from about 50.000). This is also an advantage for the user - let's say in ten years everyone has a ray tracer graphic board and all other graphic operations are done using software. To get your Andorra 2D application run again simply exchange this single graphic system library. A software renderer that will allow to use Andorra applications everywhere is in progress.

- Andorra 2D is more flexible than Phoenix 2D regarding formats: If you want to add a new image format (e.g. for protecting your game content), all you have to do is to write a small image loader library and include it in your project (see AdPNG.pas, AdBMP.pas, AdTGA.pas, AdFreeImage.pas etc.). Its the same with video and package formats.

- You can either fully integrate your application into the VCL/LCL or use it as an standalone application that directly uses SDL, GLFW or the Win32 API. All window events can be received via the Andorra Window Framework wrapper (AdDraw.Window.Events) in both modes.

- Andorra 2D allows you to use multiple surfaces to draw at. They can be offscreen - the video in my first post was rendered on such a surface and I simply dumped its content into a file.

- Andorra 2D features a flexible shader interface that allows you to do cool effects (this effect framework will be extended with one of the next version, including predefined effects)

- Andorra 2D makes use of dual core CPUs (only in the video player and the particle systems now)

- I forgot: Andorra 2D has a video player :P

Ok, I'll also tell you a few reasons against choosing Andorra 2D:

- Some features in the OpenGL plugin hardly depend on extensions and therefore won't run everywhere - but you don't have to use those features (Surfaces, Shaders)

- Andorra 2D is a graphic engine and not a game engine (for instance it doesn't feature a input or a sound library)

- No script support included now (and won't ever be)

- Most tutorials are in german (btw. does PhoenixLib have Tutorials?)

- My documentation has a few "gaps"

Thats it for now - I hope I didn't name a feature that PhoenixLib has. Remember I don't want to make PhoenixLib "bad" - I think it is a great thing and Andreas Lago should keep on working on it.

Another thing: I opened a thread about adding Andorra 2D to the "Game Library Guide" here (http://www.pascalgamedevelopment.com/viewtopic.php?t=5389&highlight=). Probably someone could do this...

I hope I convinced you, ;-)

01-07-2008, 04:42 PM
i really liked it, i moved andora souce source to my "src-vip" folder

01-07-2008, 05:04 PM
Can I ask what is "next-gen" about it?

01-07-2008, 05:11 PM
It's using Hardware Acceleration! So its a generation after the last generation that used the software mode.

Don't take this too serious :P

Edit: And all in all: Search for another 2D Engine that supports DirectX, OpenGL, Cg and HLSL shaders and has support for video playback and uses the next generation programming language Pascal.

01-07-2008, 05:26 PM
next generation programming language Pascal.
You got a point in there...

I don't take it serious, but just wondering as any one says their engine is next-gen. You can make it run on next-gen game consoles :P

If you search for a 3D engine that uses DX, OGL, Cg and HLSL shaders you can almost make a 2D with it. I did that with uber zombie. 3D engine, 2D graphics. (no offense). Why not making it 3D?

Anyway, movie looks nice.

01-07-2008, 05:39 PM
Thanks for your reply.

What you say sounds convincing - people who are able to use a 3D-engine should do this I think.

At all, Andorra 2D supports displaying 3D-models. The only thing that can not be made "3D" is the sprite engine.

I just liked to make a 2D-Engine (for me this means that images can be drawn on any desired position with one command) because for many people this is more simple than using a 3D library.

01-07-2008, 05:55 PM
Your correct in that point. An easy-to-use game engine is always a pre! I'm trying to create my 3D on some sort of same way: as less calls as posible to render a 3D model with a shader, but at the same time I want to render non-pre-coded advanced stuff.

01-07-2008, 07:15 PM
Andreas, you now have your own little place here on PGD as I've added a new Andorra 2D forum under Game Libraries and Components. I also duplicated your post and made this thread a sticky and the duplicate a newsitem on the front page.

Thanks for the elaborate explanation. It helped a lot. As said earlier, I dont think I'll change as I like the additional features of Phoenix that Andorra doesn't offer right now, but I do believe Andorra has much potential.

Regarding PhoenixLib's tutorials, afaik there aren't any. But there are quite a few demo's which I believe are just as valuable as a tutorial would be.

02-07-2008, 05:26 AM
Regarding PhoenixLib's tutorials, afaik there aren't any. But there are quite a few demo's which I believe are just as valuable as a tutorial would be.

And you always has me for support :) And btw Phoenix Lib uses a plugin system for textures/images aswell, there's atleast a GraphicEx plugin floating around somewhere.

And i as far as i'm concerned when OpenGL 3.1 is released i have to change about 0 lines of code. OpenGL is fully backwards compable, and that's nice :)

And as far as i'm concerned, protecting game assets by some user defined formats is as useless as it can get, i can promise you if someone wants you'r assets it won't help abit.

There's for instance programs that can download textures, displaylists, shaders, vertex buffers etc directly from the GPU, which basically mean; if you can see the the texture etc, you can rip it aswell.

However great work! Always nice to have some alternatives :)

04-07-2008, 02:44 AM
Looking at the sources today i noticed that you are using huffman to compress bitmap data, i did the same on my engine some time back, until discovered UCL http://www.yunqa.de/delphi/doku.php/products/ucl/index maybe you can make good use of it on the engine.

05-07-2008, 10:12 PM
Thanks for another release!

I have used Andorra 2D for a few projects now and have tried making a few simple games with it. It's very easy for me to understand compared to other libraries while still being powerful.

Hopefully you'll continue supporting this excellent lib :D

04-08-2008, 07:40 AM
I like the structure, and the design of the site. It was easy to setup a blank screen in Lazarus.
Although, it's pretty easy to make a sprite class and a particle class for yourself so I have no use for it but beginning users can benefit by it. Maybe a more advanced collision detection system would be nice; as well as a tile engine.