View Full Version : Using Blitz3D...
Curiosoft
08-16-2005, 11:57 AM
Hey folks,
I'm thinking of using Blitz3D since it has a nice plug-in for physics. My concern is that Blitz3D may not be powerful enough to do everything I need.
After reading archives, my biggest concern is that it is very hard to debug in Blitz3D.
My other option is Torque. Does anyone have any thoughts on either of these decisions?
My objective is to create a fun and visually appealing game as fast as possible.
Take care,
Curiosoft
Bad Sector
08-16-2005, 12:23 PM
If you want to create a game as fast as possible and your only options are Blitz3D and Torque, then by far i recommend Blitz3D.
Laser Lou
08-16-2005, 12:53 PM
I don't own Blitz3D, but I've heard a lot of good things about it. I do own a copy of Torque
If you'd like to modify an existing game, harnessing its power, Torque is the way to go. If you'd prefer an environment that simplifies making a 3d game from scratch, Blitz3D might be better for you.
Sybixsus
08-16-2005, 01:19 PM
The Blitz3d debugger is pretty underpowered, but since almost everything is managed for you, you rarely need an advanced debugger. When you do need one, it takes a bit more work to debug, but I've found that the time saved in development is greater than the time wasted debugging. And that's coming from someone who codes very fast and very rough, and debugs everything he broke afterwards ;)
Savant
08-16-2005, 01:46 PM
I can vouch for that as well. Yes, the debugger sucks, but the nature of the language doesn't require you to do much hardcore debugging in the first place. The limited things that their debugger does do tend to be enough to figure out what's wrong with your code.
sparkyboy
08-16-2005, 02:21 PM
Well I concur with the above.I own both torque and blitz3d but torque is way out of my league so to speak.As for blitz3d, it really is easy to use for anyone who has any idea of REAL 3D (but there's also 2D capabilities! :))
As for the debugger,well for me, it seems like a last minute addition, but due to the ease of use, and everything that it is able to do, it's definitely a worthwhile tool (Just be careful with your algorithms and variables, because you'll be basically on your own ;) )
As for the speed of production,well I've read on many forums that a lot of 'PROS' use it to knock up a quick prototype of an idea, before getting down and dirty with C++ (Darn lucky gits :p )
All the best
Mark.
Greg Squire
08-16-2005, 02:58 PM
I would recommend Blitz3D as well. I've been very pleased thus far with it. It's a very robust and capable engine. Blitz3D has been discussed numerous times on this board, and it's always come with high recommendations. The debugger, as mentioned, is the biggest draw back. Also, I'm just curious as to which physics plug-in you're referring to?
dustin1138
08-16-2005, 02:59 PM
Yep, I'm Blitz all the way. I think it's very versatile and very quick. The 2 biggest complaints I have against the program are this:
1) No "no response" collisions. During collision all of the choosable responses result in your object halting or sliding around the collided object. It would have been so nice to have a response like, "hey your player just hit a waypoint. Just thought you'd like to know" instead of "hey your player just hit a waypoint so I'm going to stop him dead in his tracks!" There's numerous work-arounds (mine includes having an internal collider that can absorb the collisions/notify/then reset) but all of them, including mine, require additional programming or an external 3rd party app (each with their own quirks). It'd be nice to have this feature built in.
2) Collisions are unrecognized if both objects are moving. The object you're colliding with must be stationary otherwise it's like your object's passing through Casper. Once again, there are work arounds to address this. But *once again* this requires additional programming and opens you up to potential missed collisions.
If you can overlook these pesky pains then the payoff is solid. I'm roughly 85-90% with the functionality of my Blitz game. And this is after only a matter of weeks of working on it at night after work and sometimes on the weekends.
EDIT: The physics engine he's mentioning is most likely JV-ODE a 3rd party app that's a steal at $20!!!
electronicStar
08-16-2005, 05:01 PM
I am using Blitz3D and I can only recommend it to you.
I have tried the Tokamak plugin and although it's very nice and smooth it requires a bit more work if you want to do something different than what has been preset by the creators(see dustin1138's post for the type of problems you might encounter). For example I found it very difficult to do a rubber bouncing ball. I think some Physic behaviours are probably impossible to simulate.
Anyway, you can no doubt make great things with blitz3D if you want to see some examples, try the demos at the following link:
link (http://www.blitz3dfr.com/phpfrench/download.php?list.3)
Diragor
08-16-2005, 09:30 PM
I'm really anxious to get my hands on the official BlitzMax 3D module. According to Mark's last worklog it's going to have dynamic shadows, physics and all kinds of great features built right in.
Olivier
08-16-2005, 10:12 PM
1) No "no response" collisions.
2) Collisions are unrecognized if both objects are moving.
Following the advices from fellow devs I was thinking of using another dev environment, why not Blitz3D. But what you wrote about the collisons seems a bit annoying to me. Are the workarounds huge? I mean would the code be long and over-complicated to overcome those Blitz weaknesses?
I didn't found the time to download game/tech demos yet. But before I invest to much time in Blitz3D I have one question: Would a game like Turtle Bay be easily doable in 3D with Blitz3D?
I really recommend Blitz3D, and for physics, you cant go wrong with http://www.devcode.co.uk/jv-ode.html
It is an awsome ODE plugin, and the support from Vip3r on the plugin is great.
Here is the thread on the blitzbasic forum for the JV-ODE plugin
http://www.blitzbasic.com/Community/posts.php?topic=48743
Jim Buck
08-17-2005, 08:29 AM
Is it that the collisions don't work if both objects are moving, or is it if both objects are moving fast enough that they pass through each other in one frame (the "tunnelling" effect created by a collision system that doesn't do 4d checking)?
electronicStar
08-17-2005, 09:43 AM
I think they are talking about the collisions of the physics plugin (ODE or TOKAMAK) and not blitz built in collisions which don't have these problems.
Physics engines are great but there are some limitations.
Savant
08-17-2005, 09:48 AM
I think they are talking about the collisions of the physics plugin (ODE or TOKAMAK) and not blitz built in collisions which don't have these problems.
No, you have that backwards. The built in collisions are not the greatest. I mean, they do what they do just fine, but they have those 2 main limitations:
1) There is no "no touch" collision type
2) Two moving objects will not register a collision
Robert Cummings
08-17-2005, 09:50 AM
Blitz3D by far will be the simplest, easiest way to get the game going. No mac support though.
my biggest concern is that it is very hard to debug in Blitz3D.
Utter nonsense.
Reactor
08-17-2005, 10:04 AM
If you do go for the Blitz3D solution, make sure you factor in the cost of a decent IDE (such as Protean (http://www.proteanide.co.uk)). Keeping in mind that some people will no doubt disagree, writing code with the standard IDE is a bit of a pain (especially in the undo area). However, once you're up and running with a decent IDE, Blitz3D is great.
Of course, I'm a complete beginner who knows next to nothing. Feel free to ignore me :)
Small edit: Savant, sure you sure about two moving objects not registering a collision? The basic collide demo can be set up to do that really easily.
Savant
08-17-2005, 10:37 AM
There's SOME problem with 2 moving objects but I don't have first hand experience, sorry.
And yes, get a good IDE. I use Protean and you'd have to pry it from my cold, dead fingers at this point.
yeah, protean is a godsend !
You cant go wrong with Blitz3D, coupled with protean and a bonus like ODE :)
Olivier
08-17-2005, 11:41 AM
I looked at Blitz3D more seriously today. Seems easy to use, fortunately I had some previous experience with a Javascript-like environment. So the year I spend on Jamagic wasn't a total waste of time. :)
My biggest concern was proper MD2 support. Everything went pretty fast and easy. Just one question remains about MD2: Can those meshes have multiple material IDs, flat colours, like 3DS/X meshes? Or is a texture compulsory to have sort of different material colors?
Like others said, the IDE looks *outmoded*. I was badly surprised to have only 1 undo level! I'd also need indentation and the ability to comment/uncomment selected code. I'll have a look to 3rd party IDEs, thanks for the Protean link.
Some examples provided with Blitz3D demo were interesting. Especially collide.bb showing multiple moving entities. They all seemed to collide well, bug free. I'll go in further investigation, but Blitz3D seems pretty good so far.
To see Blitz's 3D capabilities, I also checked Best Friends, Wonderland, Juno Nemesis and Super Gerball. Those games look fantastic and damn stable! I wondered if Super Gerball uses some *special physics* or Blitz3D's inbuilt collision system?
Robert Cummings
08-17-2005, 01:55 PM
My biggest concern was proper MD2 support. Everything went pretty fast and easy. Just one question remains about MD2: Can those meshes have multiple material IDs, flat colours, like 3DS/X meshes? Or is a texture compulsory to have sort of different material colors?
You want .B3D support, not MD2. B3D offers the following:
vertex colours
vertex weights
bones
mesh deforming
keyframed animation
8 texture layers
2 uv map layers
smoothing groups / normals
All of this can be accessed within the 3DSMAX plugin at www.onigirl.com/pipeline for absolutely STUNNING art path. In fact it is one of the best art paths I have ever seen. Not only that, you can mix stuff up inside the file, like having a complete cut scene for instance.
I did the early plugins myself but these were later replaced by the pipeline ones which rock.
If you don't have Max, there's milkshape (with a b3d plugin) and many other apps are supported such as lightwave and so on. There's a plugin SDK you can get from the blitz site. Forget MD2 though, as it's a completely rubbish format. 3DS and X are pretty rubbish compared to B3D as well.
Robert Cummings
08-17-2005, 01:58 PM
Simon will answer this best, but I believe Super Gerball actually uses Blitz's own collisions but hacked about with Simon's own code: he did a lot of trickery.
I think if Si was doing it today he might even use ODE? JV-ODE is the best solution for you if you're doing physics.
Olivier
08-17-2005, 02:54 PM
Thanks Robert. The info you're giving is more than helpful. The B3D Pipeline looks very impressive, the word is weak. I'll definitely look into using .B3D format.
Wow, Blitz3D + B3D Pipeline + a good IDE seems a powerfull trio for (indie) game developement. Everything seems pretty stable, and tends to cut down the costs/development time.
Indiepath.T
08-17-2005, 02:56 PM
I seem to remember the Mike (retro64) did some fancy stuff with the collision system for Best Friends. Perhaps he can share some of that code with you.
Greg Squire
08-19-2005, 03:48 PM
...2) Two moving objects will not register a collision
Yeah, I'm still having problems overcoming this one in my game. I have some moving walls in my game and the player can sometimes just walk right through them (problem #2 above). I'm doing some ellipsoid-to-polygon collisions, and it all works fine, so long as the walls don't move.
Could anybody point me to some workarounds for this?
Robert Cummings
08-19-2005, 04:01 PM
This is fairly easy to solve: one of them will always still register the collision, and you need to use countcollisions to loop through them.
In order to detect if the other item has recieved a collision you will be wanting to use the entityname hack and types.
Basically the handle is stored as the entityname, and this allows us to retrieve the object type of the other item in the collisions, and go into it's types and set a flag that it has collided. By doing this, you can cut down on repeated collisions for example, a snooker game.
For code, check out david bird's code in code archives for object and handle. Should get you started.
vBulletin v3.6.0, Copyright ©2000-2008, Jelsoft Enterprises Ltd.