Howdy!
I'm also coming from the Blitz community, and I agree that they are both good. In some ways I prefer PB and in other ways I prefer BlitzMax or Blitz3D. They both are, as you say, excellent products.
For quick and easy coding (RAD prototyping) that doesn't require a OS-friendly GUI, I prefer Blitz3D (or BlitzPlus if 3D is not important to you). But for 'do-it-yourself' low-level power, with the GUI stuff thrown in to boot, I prefer PB. BlitzMax is another beast altogether, and suffers from extreme lack of documentation.
If I had to nit pick them, I'd say that:
- Blitz3D creates rather large exe's, even if the source code is small, and doesn't offer the kind of low-level access available with PB (BlitzMax does, but is not easy without docs...). On the plus side, it has a consistant and very well-thought out command set with good documentation, built-in Fmod (with zero license issues) and a very decent amount of support available (tools, IDE's, User Libs, etc).
- BlitzMax could be a huge knockout, but, as mentioned above, it has surprisingly terse documentation. It has no built-in FMod support, but several modules (libs) have been written that add some support. I find it really frustrating to have to go to forums to find out things that should have been in the included docs... On the plus side, it is almost totally cross platform, officially: The same code can compile on Linux, MacOSX and Windows with little or no changes. You can write really low level stuff if you want, but inline asm is not supported directly.
- PureBasic is great at many things, but I find that I am somewhat spoiled with the ease of B3D's command set, as PB requires many more additional steps sometimes to accomplish the same things. Example:
Open a screen and move some graphics around. Blitz, Blitz3D, BlitzPlus, BlitzMax:
Code: Select all
Graphics 800,600,16
img = LoadImage("image.png")
SetBuffer BackBuffer()
For a = 0 To 599
DrawImage img, 0, a
Flip
Next
The PB version is a bit more involved as you know. One feature that the Blitz Graphics command has that is REALLY handy, is that if you add a ",0" after the depth parameter, you get an "auto" mode that creates your program in a window when in debug mode, and full screen when not. This is very handy, let me tell you!
Anyways, don't get me wrong, I L O V E the fact that PB has very good docs, high speed, creates small exe's (and Dll's - Something that the Blitzez don't do easily) and has one of the best IDEs I've ever seen.
I also really like the new data types added with 4.0, and the "With/EndWith" feature. IncludeBinary, another favorite is also not directly supported with B3D (although it is possible to do with extra tools).
Well, the point is that none of these tools are perfect, but together they make an excellent arsenal of weapons for the would-be game programmer!
Russell