3D Engines

BlitzMax Forums/BlitzMax Programming/3D Engines

Moraldi(Posted 2007) [#1]
I don't know if already exists but it would be very useful a complete list of 3D Engines for BlitzMax

Thanks!


assari(Posted 2007) [#2]
May not be complete but try here under game engines
http://www.2dgamecreators.com/blitzmax/resources/


Moraldi(Posted 2007) [#3]
Very helpful because I am new to BlitzMax world
Thanks a lot!


Dreamora(Posted 2007) [#4]
then forget about 3D for the next 2-3 months and learn BM first please. No, in case you have Blitz3D programmed for years, this won't help you, you will need to start at 0.1 instead of 0 in that case.


Moraldi(Posted 2007) [#5]
Thanks Draemora,
But I have a lot of experience in Object Oriented Programming and speaking generally I think a comparison table between BMax and standard C++ where someone can see the differences and similarities among them will help people like me to reduce the period you mentioned to 1 month or better


Picklesworth(Posted 2007) [#6]
I find that staring at official modules helps to give an idea of how programming in BlitzMax should look :)


Dreamora(Posted 2007) [#7]
Thats right. C++ or even better C# experience (as BM is managed so managed references, not long pointer hick hack) will help you quite a little when learning BM.

Don't think there is a comparision table as it would be a little desturbing to see that most stuff in detail works different than C / C++. (you can't use pointer + x to iterate through arrays as they are true objects for example and things like that)

But to give some you some general informations to compare:

Numerics in BM are by value. They are no objects. If you need to change them, you can declare them as variable:int VAR in the function header.

Everything else beside numerics (including array and string) are objects. They are always managed reference and given to functions by reference.
There is no delete keyword like in C++ (but there is a new), the GC will free them themself if they are not referenced anymore. But be aware that BM has no root link reference counter like C# so cyclic referencing will prevent the whole cycle from beeing freed!



That are the basic difference with large impact between BM and C++ I think.
The rest like no overloading, no real constructors (beside new() ) and some specific inheritance behaviors (as well as no multiple inheritance) normally do not have such a worse impact in general situations.


Moraldi(Posted 2007) [#8]
All these sounds logical and helps. I don't forget that BMax is not expensive comparing prices to commercial C++ products. I bought BMax because I hope to develop QUICKLY 3D games.
Besides inheritance, function overloading, multiple constructors and things like that are useful most to the maintenance and support of an application and not to the development time.


CodeGit(Posted 2007) [#9]
If your intention is to develop "quickly 3D games" I'm not sure that BMax is the correct product for you. It has no support for 3D other than a few 3rd party 3d engines that are not as good as having a dedicated 3d engine built into BMax itself. From my understanding BRL might even have stopped the developement of the 3D engine for BMax. So maybe this is not the best choice for you.


Rozek(Posted 2007) [#10]
They have stopped MiniB3D???

Please, tell me, that this is not true - I would like to have a comfortable programming environment (language + libs) with middle-end 3D support (not low-end - I could do that myself - and not necessarily high-end as I'm not a professional 3D programmer) and I would not like to go back to PureBasic just because of their 3D support.

In my opinion, BlitzMax is the far more comfortable Basic (PureBasic is so close to C that I don't really know why I should not use C directly) but PureBasic seems to have the better runtime library set (+ documentation)

Fortunately, its easier (for people like me) to extend the runtime libraries (see my current Lua work - and consider, that I'm a complete BlitzMax beginner!) rather than to modify the language itself. Thus, I would like to continue with BlitzMax (I need the cross-platform capabilities!) but would also like to see 3D support (well, and multi-threading)

Mark & Simon, you saw this ;-) You did a marvellous job, but there is still plenty of work left ;-)


GfK(Posted 2007) [#11]
MiniB3D != Max3D.


Rozek(Posted 2007) [#12]
I know, but...

...CodeGit talked about the 3D engine for (and, probably, built into) BlitzMax - and we are here in a BlitzMax forum.

Or did I misunderstood you?


H&K(Posted 2007) [#13]
CodeGit talked about the 3D engine for (and, probably, built into) BlitzMax - and we are here in a BlitzMax forum
Max3D is a planed 3d engine built into Bmax. (This is what codegit is talking about)

MiniB3D is just one of many 3d engines, the difference is that its written with Bmax


Moraldi(Posted 2007) [#14]
CodeGit:If your intention is to develop "quickly 3D games" I'm not sure that BMax is the correct product for you

Then for what is it for?.
I have spent years with C and C++ because I am in love with these languages but (as usually happens with great loves...) I am tired. I don't want to reinvent the wheel trying to complete a 3D game with a C++ compiler and a powerful but complicated 3D engine. With Blitz3D I discovered the easy and rapid development without spent my time on basic tasks such rendering and handling all my meshes. But I missed methods, strict declarations (who saved me from stupid bugs )etc. I am sure that BRL knows that completing an official BlitzMax 3D module will offer a unique product to the market but they have faced very serious problems. I don't know if these problems are part of the existing BlitzMax structure or of the Max3D


Rozek(Posted 2007) [#15]
@H&K:

Thanks for the info - I did not know that yet (and thought, that MiniB3D would be the "most official" 3D engine for BlitzMax)

Does anybody know anything "official" about Max3D?


tonyg(Posted 2007) [#16]
Does anybody know anything "official" about Max3D?

Yes, Mark said to live your life as if Max3D will never exist.


Rozek(Posted 2007) [#17]
Well,

although these are (probably) bad news, they are still better than no news...

Thanks for the info!


AdrianT(Posted 2007) [#18]
We have a Bmax enging in the works. Should be ready to ship in about 4 months. Will probably have a beta before then though.

It's an Ogre Wrapper that uses Bmax for keyboard and gamepad input, sound etc. Lets you use ogre within a Bmax window with full control of the window, so windowed mode and maximized works, as does fullscreen. You can use Maxgui with it, of CEgui for skinned GUI's. Or you can mix both Gui's as needed.

Has full XML and LUA support for CEgui including .scheme, .layout, .looknfeel, .imagesets and custom falgard widgets.

Keep an eye out for FLOW in the coming months :)

Currently uses newton for collision and physics.


CodeGit(Posted 2007) [#19]
My point is:

If you want to develope 3D games as easily as you could with Blitz3D.

a) Use Blitz3d
b) Use something that is specially designed with 3D games in mind and that has a MODERN 3D "engine" built into it. ( The Leadwerks option looks pretty good http://www.leadwerks.com/index.php?page=engine_features.htm )

BMax has no NATIVE 3D engine and BRL have stated that development of the NATIVE engine will most probably never happen. That is why I said BMAX is NOT suited for developing 3D games, it just simply does not have a MODERN 3D engine and most probably never will.


LarsG(Posted 2007) [#20]
BRL have stated that development of the NATIVE engine will most probably never happen. That is why I said BMAX is NOT suited for developing 3D games, it just simply does not have a MODERN 3D engine and most probably never will.
Where did you read this?


CodeGit(Posted 2007) [#21]
Mark says "live your life as if Max3D will never exist" - from one of his latest worklogs

Why would anybody consider using BMax for writing 3D games when this is the official statement and there are other tools available that are better suited for the job.

My intention is to have no more debate, I have stated my opinion and that's it.


Sveinung(Posted 2007) [#22]
@CodeGit
Can't find the worklog you are refering to...can you please give me a link.

Sveinung


tonyg(Posted 2007) [#23]
There's this


Damien Sturdy(Posted 2007) [#24]
Actually the phrase that came out of the horses mouth was "What 3D module?" I believe... it was in a post, and not a worklog.

Actually, looks like TonyG found it!

As for 3D engines, I have faith in the one we are working on called Flow. The developer has developed it from the ground up to integrate properly with Max. As the max developer I can say it does that well already- I can use the Ogre API to do stuff in Max!

If you want the latest features then you can use them, or you can keep it simple. We'll post more when it becomes available but this one will be supported, updated and it will work- and fast. It will also be out way before any Max3D will.


Tachyon(Posted 2007) [#25]
Several 3D Engines are mentioned, but I'd like to see some of the Senior BlitzMaxers throw their opinions into the mix as to which engine...

1) Has the most complete BlitzMax wrapper.
2) Utilizes the most advanced tech (shader support, etc).
3) Is easiest to implement and learn.


Russell(Posted 2007) [#26]
Personally, I'd like to see things like JV-ODE, Flow, MaxMod etc become officially integrated into BMax when/if they all become cross-platform. Perhaps Mark could work out some sort of licensing agreement with the authors of these wrappers and modules? I'm sure this would make a LOT of people happy.

Would you pay $125 for all of this? I know I would!

Russell


Gabriel(Posted 2007) [#27]
Personally, I'd like to see things like JV-ODE, Flow, MaxMod etc become officially integrated into BMax when/if they all become cross-platform.

Why? Officially integrated or not, they're still modules. They can have intellisense ( assuming your IDE does ) and they can be documented. It's my understanding that user modservers can be set up so that modules can be sync'ed. Exactly what should this "official integration" involve?