Leadwerks Engine Review (Great Tool For 3D Development)

Josh (the Leadwerks creator) gave me a free copy of his Leadwerks gaming engine. I normally don’t have much use for game engine licenses, but after hearing that Leadwerks is a BlitzMax compliant (basically offers a Blitz3D like syntax, and state of art 3D capabilities) I decided to give it a test run.

I was hooked. (And nowadays using it for 3D game development)

Brief overview
Before going deeper in the review, I must say that Leadwerks engine is 5 our of 5 star engine for indie/casual games development. You can use BlitzMax or C, C++ to program it (C# and Delphi are community supported). Leadwerks offers great rendering capabilities with cool looking shadows and lights.

I’m using Leadwerks with BlitzMax which let me write games for Windows. Anyone who has Blitz3D background will be delighted to see that the rendering syntax is very close to Blitz3D commands.

Video says more than thousand pictures, so check out the system.

I have been using Leadwerks for less than a few months, but I can warmly recommend the system to anybody who wants to create 3D games. Especially those who have used Blitz3D should immediately step into using Leadwerks.

The good, bad and ugly
There aren’t much things that I could say were ‘ugly’, but there are some good and bad points. Here’s my thoughts on these. On a good side:

  • Very easy syntax (very Blitz3D like)
  • Object-oriented: Blitz3D like syntax doesn’t mean that Leadwerks wasn’t about using object oriented coding practises. After all, it’s a framework that can be programmed using BlitzMax for example.
  • Beginner-friendly forums (there are members who are willing to help people)
  • Ready enough for creating 3D applications (as far as I’m concerned, it’s possible to create 3D game with the engine, without need to think “when certain features will be finished”)
  • Documentation is okay (I’d say it’s sufficient, and if you own Blitz3D, you can actually use Blitz3D online documentation too to some extent)
  • Tutorials (decent amount, enough to get you started)
  • Features: lighting, materials, shaders, ok asset management, decent art pipeline, physics, audio, terrain system)
  • Performance: it’s superb fast.
  • Frequent updates: the engine is getting patched in frequent basis.
  • Tools such as the Sandbox editor is great for example to artists
  • Price: at the time of writing it’s only $150 which in my opinion is dirt cheap compared to the deal you get (it could easily be $300 or $400 or even more). I don’t know, but my guess is that this price will go up at some point when Josh figures it out that he could be asking for higher price :)

I’ve mentioned that performance is fast, and here’s one small example that proves it. I was testing to have 200 different textured, shadowed zombies all animating in their own sequences (they are individually animated, even though on this video they are all in sync) and was able to see smooth FPS rates. My estimation is that when there’s particle effects, different materials and other game logic added we are still talking about at least 50-100 different zombie meshes to be seen on the screen simultaneously (and please notice that this is only on-screen, there can possibly be hundreds of more off-screen where they aren’t rendered). Here’s the video for you to check out:

Then some cons, since there’s always the dark side with everything:

  • Content pipeline requires a bit effort to get used to (only .GMF are supported, but exporters are provided to get models from various formats such as .3DS, .B3D and many many others)
  • The asset file sizes can grow big, since the asset mechanism uses file name to identifier meshes. For example, I have one zombie mesh in my Dead Wake game, but 10 different materials/textures. I could not paint different materials on different zombies meshes, but needed to first create separate files (zombie1.gmf, zombie2.gmf etc.) to be able to assign materials. This isn’t a big deal if you don’t need this type of system, but it means the file sizes can grow quite big.
  • Strict license: you should check out the terms before buying. Now there are some restrictions if you want to make your game moddable.
  • Attitude on the community forums: sometimes it feels that there’s some quite young developers with the Right Opinions… and sometimes it feels that it’s bit of “my way or highway” style of threads. I suppose this happens in any forums, and while the overall apperance is pretty positive I’d say there’s some negativity on the forums too.
  • Compatibility: Leadwerks requires Shader Model 3.0 which means that some older cards won’t work (according to Steam hardware survey we are roughly talking about range of “50-60% of computers can handle” it – roughly speaking, since there’s no direct data about SM 3.0. This figure is approximation at the time of writing. The good news of course is that this percentage gets better all the time)

Overall I’d say the none of these ‘bad sides’ are really that bad (well, except the compatibility if you were dreaming of creating 3D games for older computers). I’ve managed to deal with all of these in my project, so I’d say people should simply try the engine and see if it works for them. All engines have some problems, and to my thinking Leadwerks engine has no single major flaw.

Bottom line
This has been quite of praise for the Leadwerks engine, and that’s simply because I think the engine is very good option especially for indie developers (the price is low, the quality is very high) who want to create 3D games. Developers with Blitz3D background (like me) are pleasantly surprised to see such familiar syntax.

Beginner developers have a gentle learning curve in the game development (if you know BlitzMax, then you have no problems with Leadwerks) although I think it’s perhaps not ideal for starting development since there’s vectors and materials and other things that might confuse total newbies.

More advanced users find it a very good solution for a gaming engine solution that’s easily expanded (you can create your own networking lib for example, by using BlitzMax or C++) if you have the skills. The performance is excellent, so making a nice 3D game is no longer about tools, it’s about the guy using the tool.

I very much recommend Leadwerks engine for all game developers who have a bit of programming experience and wish to start making 3D games.

5 thoughts on “Leadwerks Engine Review (Great Tool For 3D Development)

  1. Dery

    The guy behind the AbyssalEngine’s name is one Colton Burgess and he is a known scammer and constantly harasses other engine makers.

    Read up on him here:

    http://www.gamedev.net/community/forums/topic.asp?topic_id=450767

    http://www.mmorpg.com/discussion2.cfm/thread/37720/page/1

    http://www.corpnews.com/forums/viewtopic.php?t=2017&postdays=0&postorder=asc&highlight=mourning&start=0

    http://www.indeed.com/forum/loc/Portland-Oregon/Newcomer-s-guide-Portland/t26970

    In this case Jay above is most likely Colton Burgess.

    Reply
  2. Jay

    Leadwerks Engine?

    - Very poor C/C++ support.

    - Quite buggy and sluggish engine.

    - Very poor compatibility with video cards, especially older models which severely limits the market penetration of any product powered by it.

    - Very unprofessional developer who thinks he is a professional but is really just an amateur wanting to be a professional. Cannot take any form of criticism even the helpful kind.

    There are MUCH better engines out there than this. Most are much more expensive.. but you get what you pay for.

    here’s two:
    http://www.AbyssalEngine.com
    http://www.Unity3D.com

    RealmCrafter “Professional Version” is also levels beyond Leadwerks engine..

    Reply
  3. pushedx

    I’ve been a Leadwerks engine owner for a month now (same name used here as on LW forums). I think your review is pretty accurate and fair on the engine. I think the good thing about Leadwerks is that the “bad things” are things that can be fixed in time! Let me explain:

    * Content pipeline requires a bit effort to get used to – The content pipeline right now seems to be one of the biggest issues for artists. However, content pipelines usually are, and the problem is not out of the realm of being improved in the future as the engine matures.

    * The asset file sizes can grow big – Similarly to the last point, this is something that the engine is lacking, but something that can be improved in the future. Such optimizations are only made after the engine has reached a stable mature phase with a healthy amount of users, which LE is still a bit away from.

    * Strict license – This is pure speculation, but I’m pretty sure this is due to the fact the engine is built in Blitxmax. I’m a new owner of Blitzmax and have read around the forums with particular issues that would lead me to believe this.

    * Attitude on the community forums – This is a real kicker and I find myself having to bite my tongue *a lot* rather than go off on people who clearly have no idea of what they are talking about. Yes, this is one of the biggest downsides to the engine, but in time the community will grow and mature. Sometimes I just have to close the page to avoid trying to smash someone into their next lifetime, it can be quite frustrating and displeasing.

    * Compatibility – Some might say it’s bad to leave out the older users but this issue is not as bad as you would think. When you choose to design a game using an engine, it will have a development cycle of probably a year at least more like 2 or so. Why on earth would anyone want to spend 2 years developing a game that will support “today’s” older gen technology when the “older” gen technology that will exist when the game is actually released will be far better? When you use the Leadwerks engine, you are developing for the future, not the past, which is not a bad thing. Sure, right now 50-60% of users could play your game, but do you have a game that is ready to be released -now-? Of course, that is just my opinion on the matter but it makes sense though, right?

    So, I think most of the “bads” that are associated with Leadwerks are just a result of the project being in more infant like stages if anything and not real flaws of the engine itself. I mean so far there are not any concrete examples of people building projects that are technically limited by the design of the engine.

    Overall, the Leadwerks engine is definitely worth every penny. It really is a steal right now for BMX users and even C++ users. if you want the most out of the engine, you need to be a BMX user though, which after playing around with BMX, I’d recommend any serious programmer to look into their technology. I’m a die hard C/C++ programmer and BMX is an invaluable tool and enjoyable to use.

    The only real catch to the Leadwerks engine that I should mention is that it is a real engine and you need to be a programmer to actually make use of it. Apparently, there are quite a number of people at the forums who have missed that memo and naturally think the Leadwerks engine would write their game for them, what a shame, what a shame.

    Reply
  4. psycho

    “Leadwerks requires Shader Model 3.0…according to Steam hardware survey we are roughly talking about range of “50-60% of computers can handle”…”

    Yes, let’s halve your profits!
    And I believe that Steam statistic is about hardcore gamers – those who buy new hardware. But many people have notebooks with graphic cards that are powerful enough for nice graphics (GTA3, LOTR:BFME, RA3) – so you also loose these folks (even though you could just skip the stupid shaders).

    So, if you are going to make games for hardcore gamers only, why not to buy some serious engine (possibly leadwerks?).

    Reply

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Pro-Human Quiz: