PDA

View Full Version : LEAF Game Engine



Relfos
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.
http://leafproject.com.sapo.pt/

LEAF features
3d/2d Renderer, using DirectX8
Network client/server, using WinSock
Complex scene/texture manager
Support Milkshape3d models, incluiding animation
Webserver
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.

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

Relfos
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)

Sly
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.

Firlefanz
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?

Firle

Relfos
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).

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

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

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

Am I right that LEAF2 is still on Delphi?

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

Relfos
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.

cht666cht
08-11-2005, 11:00 AM
Hi,

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

thanks

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

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

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

Relfos
09-11-2005, 11: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.

Relfos
06-01-2006, 12:46 PM
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

Firlefanz
06-01-2006, 01:05 PM
Hi!

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?

Thanks,
Firle

Relfos
06-01-2006, 01: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.

Firlefanz
06-01-2006, 01: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)

Firle

Firlefanz
06-01-2006, 01: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

Firle

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

Firlefanz
06-01-2006, 03:28 PM
Hi!

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:

Firle

Relfos
06-01-2006, 03: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.

Jdv
09-01-2006, 12:19 PM
Hello,

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.

Relfos
09-01-2006, 04: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.

Relfos
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:

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

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

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

Relfos
11-01-2007, 02: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
http://leafproject.com.sapo.pt/leaf2.html
Also, there's lots of tutorials here
http://leafproject.com.sapo.pt/tutorials.html

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