What 3D Engine for BMax? (again)

BlitzMax Forums/BlitzMax Programming/What 3D Engine for BMax? (again)

Danny(Posted 2009) [#1]
Sorry to those who are getting tired of this question..

But I'm ready to commit to BMax if only I can be sure there's a 3D engine out there that I can use out-of-the-box.

I require modern DX9 style 3D features and eventually want to get busy with shaders. I need accelerated 2D and effects and want to be able to create normal (or custom) gui's to build serious 3D applications with. I don't mind paying for an engine, but since i'll be spending 100's of hours working on it, I'd like to be reasonably sure it works in the first place and will be updated over the time to come (no dead ends).

I've browsed and read for days on the forums and checked all the listed 3D engines. Some are dodgy or haven't given any sign of life for many months up to a year.


So far I've narrowed it down to:

IrrLicht Engine
Features looks very very interesting but the screenshots look like 5 year old DX7 shots, how's that? Is there an active BMax community? Where can I find sample code?

Leadwerks Engine
Looks very proffesional and seems to be actively supported here. Heard some sounds that it might be a bit too heavy for some systems?

TrueVision3D Engine
Also looks interesting but is still still kept up to date? Been reading mixed signals and unsure if this is actually an actively supported product.

Flow3D
Heard about people using it, looks good as well, is it any good? Many people using this?

Any comments, feedback or experience on any of these engines would be greatly appreciated. Or perhaps there's even something better out there?

Thanks for unconfusing me ;)

Danny


GW(Posted 2009) [#2]
There is also Xors3d and Ninfa.


markcw(Posted 2009) [#3]
I'm only really interested in Flow3D (and miniB3D). I believe they all work quite well (but I haven't tried them so I probably shouldn't say that).

Edit: See this topic.
http://www.blitzbasic.com/Community/posts.php?topic=87457


xlsior(Posted 2009) [#4]
Heard some sounds that it might be a bit to heavy for some systems?


Well.. given that you're looking for "Modern DX9 style 3D features and shaders" that would pretty much be the case for *any* 3D engine that you end up going with.

Either you're doing low-end DX7 style things which are plenty speedy on all cards, or you're going more advanced and be limited to running smoothon only the comparitively higher end cards.

there is a HUGE difference in horsepower between low-end and high-end cards, there are certain features that are going to make a game near impossible to run on a lower end card simply because it can literally take dozens of times longer to accompliosh certain effects on those cards.


slenkar(Posted 2009) [#5]
irrlicht engine has dodgy collisions


ziggy(Posted 2009) [#6]
I would go for Leadwerks engine or Flow3D:

Cons:
- Leadwerks engine does not work on integrated intel cards, wich are very common on laptops.

- Flow3D engine seems to have a not very user friendly aret pipeline (but I think if you're using 3DS Max it's a non issue).

- Leadwerks engine is windows only AFAIK

Pros:

- Leadwerks engine is very capable and has a very Blitz3D-like APIs

- Leadwerks engine has a good art pipeline, and even integration tools.

- Flow3D has internal callbacks for non powerful videcards, so it can achieve all the eye candy you would expect on a DirectX9 or modern OpenGL engine, and still be usable at a reasonable speed on modest hardware. It works great even on integrated intel cards.

Other than that, both seem to work very well. Why don't you get demos and decide?

Another very good and capable engine is minib3d but it does not have any of the modern eye-candy like shaders, deferred rendering, etc.


slenkar(Posted 2009) [#7]
minib3d is good as long as you paste in the matrix code by warner in the code archives


Danny(Posted 2009) [#8]
Thanks for the comments everybody. And especially for the comparison Ziggy!!

I'm only interested in making serious Windows apps for the moment, so it doesn't need to run on low-spec machines.

I've looked at miniB3D but that pretty much keeps me at the DX7/B3D level - which is more of a step backwards than forwards - except perhaps that it will work on vista or windows7 due to BMax..
More importantly, from the forums (and version number) it seems that MiniB3D is far from finished or stable.

I'll definitely have a closer look at Flow3D!

Thanks!
D.


ziggy(Posted 2009) [#9]
MiniB3D has been used now in several commercial projects, so I would considere it finished (acording to simonh comments) and stable. Just a plain old-school 3D engine that, being OpenGL based, can be improved given the time.


jkrankie(Posted 2009) [#10]
MiniB3D is pretty stable now, It seems to work on just about everything. I use it in Bullet Candy Perfect, and i haven't had an issue from a user that hasn't been resolved by a driver update.

However, it's not terribly modern. I'd probably opt for Flow modern features and compatiblity, or Leadwerks if you want cutting edge.

Cheers
Charlie


GaryV(Posted 2009) [#11]
I've looked at miniB3D but that pretty much keeps me at the DX7/B3D level - which is more of a step backwards than forwards - except perhaps that it will work on vista or windows7 due to BMax..
More importantly, from the forums (and version number) it seems that MiniB3D is far from finished or stable.


MiniB3D IIRC is being used for games that are being sold. Some of which are getting high praise. MiniB3D uses OpenGL, so it will work fine on Vista and 7.


Tachyon(Posted 2009) [#12]
I've been looking at every single 3D engine/wrapper/module that has ever come down the line, and so far miniB3D wins for me. It's actively being tested, developed and supported right here on Blitz, it is fully cross platform, the code archives are filled with examples, and (from what I understand) it is so close to B3D that many tutorials and examples can easily be converted to work with miniB3D.

I want to embrace Leadwerks, but the Windows exclusivity and steep system requirements scare me. At the very least I need to see this running on Mac before I can use it.

Flow looks like a possibility, but like Leadwerks, until their Mac version is running I can't take it seriously.

Every other module seems to have dodgy support from their creator. I absolutely cannot invest time in a 3D engine, just to run into a major problem 12 months into development and not have ongoing support to help me. That kills nearly every other engine for me. Many people make a wrapper, throw it out there, and then just forget about it. I can't go for that.

So, minB3D is what I am focusing on for a future engine. There are a lot of tricks that can be used to make the old engine look good, and when it comes to indie games, it's not about eye candy, but about gameplay.


siread(Posted 2009) [#13]
For those that don't know, my footy game uses miniB3D...

http://www.newstargames.com/nss4.html

I highly recommend it if you want a solid engine without bells or whistles.


markcw(Posted 2009) [#14]
Another very good and capable engine is minib3d but it does not have any of the modern eye-candy like shaders, deferred rendering, etc.

What about miniB3D Extended? Does nobody use it? It supports these DX9 features.


Amon(Posted 2009) [#15]
AFAIK minib3D Extended is a version way out of date. Klepto hasn't worked on it for at least 2 years I think. It's way behind the current normal minib3d version.


Tachyon(Posted 2009) [#16]
AFAIK minib3D Extended is a version way out of date. Klepto hasn't worked on it for at least 2 years I think. It's way behind the current normal minib3d version.

A classic example of what I said 4 posts up- people have a tendancy to just abandon projects like this. It makes picking out any engine a scary proposition- even commercial-grade projects like Flow have no guarantee of future support.


AdrianT(Posted 2009) [#17]
There's a good art pipeline for Maya, XSI and 3dsmax if you use OgreMax. Used to be Max only but now it supports all the above and renders using the ogre in one of maya, XSI or 3dsmax's standard viewports, complete with materials so pretty cool. There are solutions for most apps, though some only export to XML and require converting from XML to binary models. There's a drag and drop batcher on the flow site that does most of this for you.

As far as flow goes. Cygnus and I left the team back in june/july. There wasn't really enough coming in to support three developers, the current economic climate forced us to quit game dev and work elsewhere. Lina the C++ coder seems to working on flow judging by the periodic updates on the SVN.


popcade(Posted 2009) [#18]
@AdrianT:

Does that mean Flow3D being dying? I paid for this and the software lifespan is so short....

I'd say Flow3D has the potential but now it's just be more or less disappointing.


Gabriel(Posted 2009) [#19]
As far as flow goes. Cygnus and I left the team back in june/july. There wasn't really enough coming in to support three developers, the current economic climate forced us to quit game dev and work elsewhere. Lina the C++ coder seems to working on flow judging by the periodic updates on the SVN.

That's good to know. I offered to help out for free a few months back because I spotted some problems in the BlitzMax module, but I never heard back. That and the lack of a Mac version, and little activity on the website led me to think the project had stalled. So if she's still going on with it, that's good news, although probably too late for me.


Chroma(Posted 2009) [#20]
I tried out Xors3D and was very impressed. It pretty much allowed me to copy and paste my B3D code into BMax (with the obvious conversion of types etc...porting it was very fast).

I might have to revisit MiniB3D. Great thread.


Mr. Write Errors Man(Posted 2009) [#21]
It's too bad Klepto dropped the extended version of MiniB3D,when we got Max3D (or at least the two things coincided). The stuff he was adding was very interesting.


IrrLicht Engine
Features looks very very interesting but the screenshots look like 5 year old DX7 shots, how's that? Is there an active BMax community? Where can I find sample code?


http://www.gprogs.com/ includes BMax samples etc.

In my opinion Irrlicht is underrated.


Danny(Posted 2009) [#22]
Ouch - really disappointing to hear I can tick Flow3D off the list. To be honest I was going through the demo and was starting to liking it - even pretty close to buying it. Another two days of tinkering lost... that sucks, but better than finding this out x-months from now..

Luckily I don't require to port to Mac or Linux, but I do need the extra eye-candy. I'm not in games but serious apps.

I'll have to check out Xors3D as well.

And I agree about Irrlicht being underrated - at least, I guess so; i.e. the feature list and specs look pretty sweet, but the screenshots don't seem to back it up ?! I'll check out the samples - thanks for those!!

the search continues...

D.


gman(Posted 2009) [#23]
just thought id chime in since Irrlicht is mentioned a few times. the Irrlicht BMAX mod has been available and actively maintained for going on 4.5 years now. it started as a feature complete wrapper at Irrlicht v.09 back in mid-2005 (i think the first available wrapped 3D engine for BMAX, other than OGL of course) and has been regularly updated with each Irrlicht release through v1.5.1. while i may not be as fast at responding to posts as i used to be (usually within a week), things that are found to be bugs with the mod are fixed quickly. i have a ways to go yet but am currently working on updating it to the new Irrlicht v1.6. support of the mod has a long, successful history and is still ongoing.

a major design goal of the mod was to make it as much like the C++ API as possible. things like BMAX not having method/function overloading throws a bit of a curve in there but for the most part the mod meets that goal. because of this, you can use code examples found on the Irrlicht forums and regularly reference the Irrlicht API manual directly for help. the API is so close that converting most of the samples consists mainly of mass find and replace calls. if you are fairly familiar with C++ syntax, converting is pretty straight-forward.

things get a little dicey when you want to use C++ classes other folks have written for Irrlicht. you can either rewrite them using BMAX or make them available to Irrlicht using a similar wrapping method. all more work than just dropping it into your project if you were using straight C++.

i think where i probably have a hard time is in questions of use of the engine. while i wrapped it, im definitely no expert and on the more complex stuff the best i can do is try to help point folks in the right direction. the Irrlicht forums are by far a better resource for usage. the community is for the most part very active and supportive, which was one of the main reasons i chose to wrap Irrlicht. many questions are already answered, just in C++.

if you are used to OOP programming then Irrlicht may be for you. i would hope that the public perception of the Irrlicht BMX mod is that its one the the better maintained mods for BMAX and would be on the safer side to use as a basis for projects.


Tachyon(Posted 2009) [#24]
gman: thanks for chiming in! I don't know how I overlooked your module for so long. I will look into it as soon as I can!


Danny(Posted 2009) [#25]
Had a quick play with Xors3D - which does what it says on the tin. Perfect engine I'd say for people coming form B3D (like myself :) that want a little extra.

Been playing more with IrrLicht now though. It's indeed a little more complex to get your head around but I'm very much attracted to the 3D Engine and the GUI options as well. Nice job GMan!!

later,
D.


Damien Sturdy(Posted 2009) [#26]
Danny, Lina still keeps me updated on Flow3D. When Adrian and I left the team, it by no means meant the end of the product.

I know Lina doesn't update much on the forums themselves but I've no reason to think she's dropping the product :-)

Seems like you've made your decision now however, which is cool :-)


Danny(Posted 2009) [#27]
Thanks Cygnus,

I haven't decided yet and I don't mind paying for an engine or anything but the only real thing I'm afraid of is investing 100's of hours in something that might suddenly hit a dead end because it's not supported or updated anymore. And those one-man (woman) shows are always risky on that level..

Xors engine took me 1 minute to figure out and make something - since it's pretty much B3D. IrrLicht sounds like an interesting one too (open source, large community) but I haven't been able to make anything with it yet (still looking for the front door). So I decided to learn a bit more BMax before actually trying out the engines and make my decision.

cheers,
Danny


byo(Posted 2009) [#28]
gman: Please keep up the good work.
This is probably (one of) the best 3D module ever.
It's a joy to see how it's often updated. And now with the 1.6 things are getting big.


Mr. Write Errors Man(Posted 2009) [#29]
Yeah gman, your module rocks. I don't fully understand why it's not more popular. I guess it's because at first look irrlicht may seem a bit complicated.

BTW congrats on baby :)


Chroma(Posted 2009) [#30]
Are there any demos for the Irrlicht maxmod?


byo(Posted 2009) [#31]
Yes. Follow the forum link in gman's signature and get to the Announcements & Downloads section.

There is a zip file full of Irrlicht examples there.