Choosing What to go With
Miscellaneous Forums/General Discussion/Choosing What to go With
Hello Blitzers
It's been a while since I attempted to write a computer game, several years, and i'm just completely out of the picture as to what is current!
My brother and I have decided to start work on a new game together, I think our first game together in over half a decade (although we've both had our own projects inbetween).
I'm going to program it, and I intend to use BlitzMax because I want to support Windows+OSX and the server will be Linux, so it's the perfect tool being as I am an old Blitzer.
Thing is despite having released several things written in BMax now, (even 1 commercial application for the Mac) i'm not actually very good with it! Nor am I up to speed with what is the latest knews on the scene.
It seems the most popular choice of engines is one of the two MiniB3D ones, although I read Mark's worklog and it says he was aiming for an Xmas release of Max3D - tbh, i'd rather use a tool that is out, i'm sure Max3D will be brilliant but I dont want to count my chickens before they hatch.
What about other engines, are there any others that are popular around here (i'm bound to need help and dont want to be the sole user! lol) what are they like to use/performance?
I'm also going to be looking at physics systems, have you used one with BlitzMax, what was your verdict of it?
I'd be interested to hear all your views of working with different 3D and physics engines in BlitzMax, it would really help me in choosing the right tool for the coming job.
Becky
I've only dabbled with MiniB3D but it seems to be the most popular choice. I got as far as creating primitives, cameras and lights within seconds as the command structure is near identical to Blitz3D.
I'm assured that MiniB3D development will continue regardless of the status/appearance of Max3D.
MiniB3D would be the answer.
good luck :)
ok I think that pretty much confirms my thoughts on 3D engine :)
What about physics though, has anyone used any of these wrappers? I've never tried one before - well I almost did but couldnt get it to compile - i'm a disaster with installing modules I never really got the knack of it sadly! I cant even get my Vista machine to run BMax grrr, but anyway, that aside I want to do ragdolls, destructible buildings, and might use the physics engine for my vehicles (although i'm tempted to hand code that).
As I dont know much about them yet, I dont want to get caught out later by chosing the wrong tool.
Physics - no clue. Sorry!
I had major headaches trying to get Blitzmax to run in Vista, until I turned UAC off - its worked perfectly well ever since. UAC is pointless anyway as it reaches a point where you just click through whatever it asks without bothering to read it.
If you're going to mess with third party modules then you'll almost certainly need to install MinGW as well, which
is a chore in itself. All the ones I've seen come with instructions on how to install it. Put the files in the right place, start the IDE and Rebuild Modules.
Then just add "Import <moduleGroup>.<moduleName>" (i.e. BRL.Retro)
sswift had some physics code for sale, think it was part of his sprite engine.
>What about physics
Not sure about 3d... But Brucey's box2d & chipmunk wrappers are great for 2d
UAC is pointless anyway as it reaches a point where you just click through whatever it asks without bothering to read it.
That's all well and good during development, but if you release anything you better darn well test it with UAC on ;]
sswift had some physics code for sale, think it was part of his sprite engine.
His physics code is 2D and wrapped tightly to his sprite system... not a great idea to adapt it for miniB3D I wouldn't think.
What about ODE? Seems to be plenty of threads/posts on it in the B3D section... You still have access there right Becky?
What about other engines, are there any others that are popular around here (i'm bound to need help and dont want to be the sole user! lol) what are they like to use/performance?
If you're thinking support and performance you'd be much better off with either Gabe's TrueVision3D wrapper or Halo's Leadwerks Engine. They also have a much larger scope of features.
I'm assured that MiniB3D development will continue regardless of the status/appearance of Max3D.
By whom? I haven't really been following it lately, because I really couldn't care less any more, but the last time I looked at it, I got into a fairly heated discussion with Simon about the degree of completeness (at the time, the lack of loaders for any format that wasn't .b3d and AlignToVector [IIRC] being broken), and I was basically told that MiniB3D was considered complete, and if I wanted anything done about my gripes I would have to implement and maintain the changes myself.
Since MiniB3D wasn't particularly well designed or written, we decided it wasn't worth all the extra work (it took us nearly 20 minutes to figure out why ScaleEntity didn't work correctly) when $150 could get us a complete engine we didn't have to muck about with to get working properly and that was vigorously tested across a wide range of hardware configurations. Since then, largely due to the lack of multi-threading in BlitzMAX, we were forced to switch to C#. Thankfully since Gabe's TV3D wrapper is true to TV3D, rather than Blitz3D, porting the game to C# was laughably easy, compared to having to start from scratch. Something else you might want to consider, depending on what kind of game you plan on making.
As for Physics, I'd go with PhysX. It's free, well supported and hardware accelerated. Failing that, ODE is a distant second.
@Hotcakes: Yes I do, I still use B3D very often, I will look into ODE
If you're thinking support and performance you'd be much better off with either Gabe's TrueVision3D wrapper or Halo's Leadwerks Engine. They also have a much larger scope of features.
The only thing that scares me is how many users of these systems have BlitzMax, I dont want to be the only one and have access to little or no support if I get stuck and need help to move forward.
I have been thinking about Irrlicht, not very seriously, but because I have friends who know the engine - but they dont use BlitzMax and I dont fancy moving to Visual Studio and X-Code and whatever i'd find for Linux etc.
I do like that MiniB3D is similar in usage to Blitz3D, and maybe that might make porting to Max3D later on easier, just from an ease of use and familiarity point of view that saves 6 months of learning. I did use MiniB3D on a simple project a while back, and I got on with it quite well.
I'm wondering the same thing on the physics, because Mark's worklog talks about ODE. Would I be better off using ODE physics now rather than going the PhysX route?
Are there wrappers for either of these available or does it not work like that?
Thank you for all the help, advise and opinions. They are muchly appreciated.
Personally I can't see the point of BlitzMax any more. When I finally give up on B3D I'm going to jump to C# and XNA, it means you'll be able to code for the xbox and have an instant distribution route through the xbox live marketplace.
FYI, about 50% of our users right now program with BlitzMax:
http://forum.leadwerks.com/viewtopic.php?f=2&t=3That percentage will probably decrease as I advertise, just because there are a lot more C++ programmers in the world.
oh i've never been particularly taken with consoles, certainly the game we're making on this ocassion would definitely suite home computer users more. I may one day make some console games, but from a personal interest level they don't tweak my fancy.
..Shiva or Unity appeal to you?..they both does have everything you asking for..
Well sometimes it's good to go back to things, I finaly got BMax working on my Vista machine by going back through all the MinGW stuff again - it seemed installing some SSH software had overwritten my entire path :/.
I've been hunting for ODE to give it a try - but can't seem to find a Max version yet, although did find a post where someone had questions on it so I know it exists! I have to master ye olde search function I think ;)
Tv3d, PhysX and JV-ode are Windows only.
klepto2's extended minib3d has built-in Newton physics and GL shaders.
Standard minib3d has a collisions system but I don't see any cross-platform physics wrapper for it.
The best cross-platform 3d physics libs are ODE and Newton.
If you like B3D and can get by with DX7, there's always the B3D SDK. :P
no B3DSDK is not just DX7, but Windows only, if I was going to do that i'd just use B3D itself. Great though it is and even now still perfect for quickly thrashing out some coded geometry or doing geometry processing on objects, it's just time to move on and use it just for supporting tools.
It does appear that there isn't a multi-platform ODE module for BlitzMax, or from what I can find any multi-platform physics module, so i'm a bit confused. I was hoping for ODE as it's apparently what Mark is integrating into Max3D so I thought that might make upgrading the 3D engine later a bit easier by using it now, but I think for the moment i'll just ignore physics engines completely, code my own, and add a proper physics system later just for explosion ragdolls and collapsing buildings.
Thank you all for the advise and opinions, it's all been much appreciated.
You might be able to use klepto2's Newton physics without the GLSL or maybe you could 'port' the Newton wrapper to standard minib3d. I don't know though as I've never used minib3d.
Use Leadwerks engine...you won't regret it.
Use Leadwerks engine...you won't regret it.
You will if you want your game to work on Average Joe's PC.
Leadwerks is really nice and slow..my 8800GT struggling to eat any demo I ever try..
Leadwerks engine is still Windows only.
"I'm going to jump to C# and XNA, it means you'll be able to code for the xbox and have an instant distribution route through the xbox live marketplace. "
Instant? Isn't there an approval process?