View Full Version : LEAF Game Engine

23-10-2005, 10:50 PM
Hi there, I'm here to show my first project in Delphi. It's a complete game engine, called LEAF, that implements most features needed for a game. This version is still Alpha, and lacks some features, needs some optimizations and bugfixing, but its already funcional. It was used in a MMORPG game, called Tugapod ( http://tugapod.ptudo.com ). Unfortunely, the team decided to move to c++, we'll no longer need the engine, so I decided release it to the delphi community.

Note that the current site is only temporary, but the source code is already avaliable, along with some samples.

LEAF features
3d/2d Renderer, using DirectX8
Network client/server, using WinSock
Complex scene/texture manager
Support Milkshape3d models, incluiding animation
Music using Bass (for *.mod), or DirectShow for midi music
Script engine ( similar to Scheme/Lisp)
File Package support (*.LEAF files, editor included)
Basic support for AI (Pathfinding)
Data/File Compression support
Vertex Shaders (only Cellshaded implemented)
Terrain rendering (complex tiling system, uses quadtrees)
Simple skybox
GUI system ( windows, buttons, icons, text)

Also a LEAF2 is already in development, more powerful and with new features, stay tuned for news and more samples ;) .

Edit: I've just added some more features of the engine.

23-10-2005, 11:26 PM
Sounds good, do you have any screen shots you could post of the delphi version in action?

24-10-2005, 09:33 AM
We used to have lots of screenshot of our game, Tugapod, in the old site. However, the old site was replaced and the screenshots were lost. Fortunely, I've still have some screenshots in my hdd.

http://img466.imageshack.us/img466/1163/screen378yg.th.jpg (http://img466.imageshack.us/my.php?image=screen378yg.jpg)
http://img466.imageshack.us/img466/9786/screen429cv.th.jpg (http://img466.imageshack.us/my.php?image=screen429cv.jpg)
http://img466.imageshack.us/img466/6783/screen334ra.th.jpg (http://img466.imageshack.us/my.php?image=screen334ra.jpg)
http://img466.imageshack.us/img466/1642/screen307wa.th.jpg (http://img466.imageshack.us/my.php?image=screen307wa.jpg)

24-10-2005, 10:22 PM
That is excellent that you decided to make the engine available for the wider Delphi community. I'm sure some people will make good use of it.

25-10-2005, 06:24 AM
The screens look very good. Good job :D

You don't need the engine anymore, right? But will you offer some support or change/add a few things if somebody wants to use it?


25-10-2005, 08:49 AM
Something I forget to say is that the Tugapod source code is also avaliable at https://sourceforge.net/projects/tugapod/.
No, I won't modify the engine, but instead I will work in a new one, called LEAF2. The original LEAF, the one I released, its already functional, and can be used to make 3d games with little effort. If someone is interested in using it, I'm willing to help. I've created plenty tutorials and samples during the development of the engine, I'll release them soon.
Also take a look at the MMORPG source, altough the game have some nasty bugs, its a good example how to use the engine, and what it is capable of. Also there are several useful free tools (with source code), including the game world editor we build for it, and the package editor ( used to compile .LEAF files).

25-10-2005, 03:01 PM
That looks amazing :shock:

I'm not really sure why, but somehow it reminds me of WoW.

25-10-2005, 06:19 PM
Nice screenshots!

Am I right that LEAF2 is still on Delphi?

25-10-2005, 09:25 PM
In the original post, he mentions that the team moved to C++.

25-10-2005, 09:26 PM
Yes, LEAF2 will be created in Delphi, the main diference is that this time I'll use OpenGL for the graphics, I'm going to try to make it portable. Recently I've heard about FPC, so I'll also use it to develop the new engine.

I've already update the site, some new samples avaliable, and cleaned up some code of the Cellshading sample.

About the team, I was the original creator of the LEAF and Tugapod. Later some people joined the team, and we moved to C++ to create a new version of the game. However, I'll continue in Delphi and will work on the game project at the same time.

08-11-2005, 10:00 AM

I'm trying to download the source code of LEAF from the links above, but none of them works... is there any other url?


08-11-2005, 05:25 PM
Apparently, our host decided to delete the files. I already put them in another place, try downloading it now, should work.

09-11-2005, 08:07 AM
Ok, thanks!

09-11-2005, 10:19 PM
hello. if you have some 2D examples, please contact me :P (answer post...)

09-11-2005, 10:33 PM
The LEAF engine was created for 3d games, however it can be used for 2d, altough the 2d support was designed for GUI stuff, and isnt very well optimized.

I'm currently working in a 2d game for a contest, after the contest end, i'll put the sourcecode in the site.

06-01-2006, 11:46 AM
Well, after some time, I've come back with good news. First, I've return to Delphi, C++ just doesnt attract me. I remodeled and optimized the engine core, finished some demos, and there, the new version 0.85, its ready to download in my site. Also, recently I played a little with FPC, and in future LEAF will be compatible with it (I already managed to compile some basic demo there :P).
The old engine was too ugly to mess with, so this time, I managed to make it programmer-friendly, so even beginners should find it easy. Only some basic OOP concepts are needed, because this engine is completly class based, instead of most Delphi Engines that are component based.

Some new features include:
Optimized renderer code, now API-Independent*
New scripting language, similar to Pascal.
New demos, included with source code
Stencil shadows, still need some optimizations and bug fixes

* Only D3D8 supported now, OpenGL port is in development

06-01-2006, 12:05 PM

Including Delphi Source now, this is great!

Could you make an additional download including the Exe files?

I would like to take a look but without modifying my Delphi right now, because I have DX9 headers also installed right now...

Is there any chance you change it to DX9?

What about collisions or physics, perhaps include Newton?


06-01-2006, 12:16 PM
I removed the exe files because my host has limited storage. Maybe you can compile it without modifying your Delphi, try adding D3D8 folder to Project->Search Path, that way it will only affect the current project.
In the next versions I'll try to upgrade it, I never programmed in DX9, but I think its easy to change.
About Newton, I already tried it, but removed it because I has having some problems with colision with multiple terrains. However, the LEAF engine has it own colision/physics engine, its very basic but for most games is suficient.
I'm planning lots of more features for the next version, including sound and better physics, and more 3d model formats.
Right now, I'm adding some screenshots to the site.

06-01-2006, 12:21 PM
Sounds very good (and also looking good), I'll keep an eye on it. :D

My current project is soon finished and I want to do something with 3D next.

Please keep us informed. 8)


06-01-2006, 12:26 PM
I took a look at your Tugapod website, looks promising. I need something like this, it will be no RPG but will use a similar view.

Interesting stuff. :D


06-01-2006, 12:57 PM
Alright, demo screenshots can now be found in the site.

06-01-2006, 02:28 PM

I wanted to have a look at the Tugapod World Editor, I thought
it is perhaps the Editor from the Screenshots, but got following error:

Log session started at 16:21:15
Renderer.D3D8.Create(): Creating device
Renderer.D3D8.Create(): Querying device caps
Error Client.LoadPackage(): Package not found.[SYSTEM.leaf]

Then it start but I cannot see something. Too bad the site is not in english and I cannot understand a single word (except 'Downloads', lol) :wink:


06-01-2006, 02:36 PM
Ah, the Tugapod World Editor, I see.
To run the editor you need the game packages, can be found in the Download section of the site, its the Tugapod-Resources.rar
When I've some free time I'll make an english version of the site :)

Edit: I forgot, the file was deleted yesterday, I'll upload it as soon as possible.

09-01-2006, 11:19 AM

I've tried to compile your source but I can not find the LEAF_ACTOR file which is used by the 3rd person camera class.

09-01-2006, 03:04 PM
Yep, your right, that file is missing. Sorry :(
Download again the source, I've just added the LEAF_Actor.pas to the rar.

23-08-2006, 09:45 PM
Finally after some months of work I've got a stable version of the new LEAF2 engine. This engine was partially based on the old one, but this time uses OpenGL and is way more powerful.
I dropped the low level interface of the old engine, and this time you can create very nice stuff with few lines of code :D
Its pure class based, no components, but this way it also works with FPC. And works in Linux too!
Various tutorials are already avaliable, and more will be added soon.
For complete feature list and download links visit http://leafproject.com.sapo.pt/leaf2.html
I'd like to hear your feedback, and any sugestions/requests :wink:

23-08-2006, 10:11 PM
Looking good :-)

23-08-2006, 10:54 PM
Very nice! :) I'll be posting a news item shortly.

24-08-2006, 02:57 PM
I'm impressed! Keep up the good work!

11-01-2007, 01:41 PM
Version 1.1 of the LEAF2 engine was released.
Lots of bugs were fixed, many optimizations and new features were added.
This probably becoming one of the most complete and portable game-engines for Delphi and FPC!
Thanks for everyone that showed interest in using it, and those that helped finding bugs :wink:

You can find the complete feature list here
Also, there's lots of tutorials here

I'm also looking for someone with MacOS programming experience, that can help me porting the engine :wink: