BlitzPlus - BASIC Development

I’ve seen a few mentions of Blitz in the forums and finally decided I would go check it out. I have to admit this language seems taylor made for creating games. Without a manual and using the demo product I was able to get some basic animation running in no time.

Has anyone here ever used Blitz to produce a complete game?

I’m planning on buying the product today and I would like to know if anyone has success or failure stories.

www.retro64.com
All Blitz. That’s just one developer.

Blitz is just… amazing. I really wonder why I persevere with Java. I’m still waiting for someone to give me a good reason not to use Blitz instead.

Cas :slight_smile:

Well I can see one thing I don’t like, arrays are global. You can’t use them inside of a Type definition and you can’t pass a reference to one into a function. This means you can’t have a generic routine that does something to a passed in array.

Limitiations like that actually help you write games.

Cas :slight_smile:

Found a way around it, just kind of annoying when you want to write libraries to help you do common things.

hehe I went to www.retro64.com to try out some games, just to leave it again, when I remembered how tedious installers are for small puzzel games you’ll just play for a short while. I guess Webstart, Applets and Shockwave has made me lazy 8)

Anyway that would be something talking against Blitz, but that off-course is a subjective objection. As princec pointed out in another thread, it seems like most non-java people prefers installers.

There seem to be two disadvantages:

  1. File size - the produced executables are pretty huge.

  2. Flexibility - seems like all the examples I look at are pretty damn similar looking and feeling. Although this could just be down to the developer…

EDIT: 3) Can’t find any support for standards. No XML processing!!!? Web connections would have to be implemented by hand?

EDIT: 4) Can’t find any support for database access?

EDIT: 5) Doesn’t seem to be as multi platform as they’d lead you to believe. Lots of features seem to disappear with the loss of DirectX(etc…). This probably doesn’t matter to Cas but it might bother some folk.

EDIT: Thought I’d found a way round it all by using custom shared libraries. However, the spec only seems to work for windows DLLs and even then the calling syntax appears to be a nasty hack. Still to push on…

That said, I think I’ll take my laptop time out as a reason to go off and play with Blitz :slight_smile:

EDIT: Plus side, looks like I could write a quake 2 clone in this in a matter of days! Yay!

Kev

Oh, where does the OO support come in by the way? Or is that only in the 2D version? Blitz 3D seems to ignore user created objects?

Kev

I’m having quite the little riot converting some of my java utils to BlitzPlus. I can already do full screen or windowed, custom mouse pointers, fixed frame rates, draw strings using my own custom bitmap fonts.

Certainly Java has advantages in a number of places however for the type of games I want to do Blitz is looking like my “final answer”. BTW did anyone look at the Cosmo Bots game, it is very nice.

OO stuff

Look up the Type keyword, in BlitzPlus at any rate.

Note : I saw an OGL binding for BlitzPlus so this would be like Java and LWJGL.

I’ve been playing a lot with DarkBASIC. I’ve been impressed by it, but frustrated at the same time (I guess it’s like that with anything). I haven’t tried BlitzBASIC to compare, but you might try it out to see what you think.

TYPE - seems to be structs for Blitz3D.

Kev

[quote]There seem to be two disadvantages:

EDIT: 3) Can’t find any support for standards. No XML processing!!!? Web connections would have to be implemented by hand?

EDIT: 4) Can’t find any support for database access?

EDIT: 5) Doesn’t seem to be as multi platform as they’d lead you to believe.
[/quote]
Basically the same advantages/dis as Flash then: it’s damn fast and easy to get something that looks quite good going, but every time you try to do anything even remotely clever, time-saving, re-usable or (god forbid) slightly complex you pull aside the curtains and find a brick wall instead of a window (a la Matrix).

i.e. it’s an excellent proposal at first, especially if you “try before you buy” rather than examining/evaluating on spec and/or have no “deep” example use-cases to test it against, but then you soon get more and more frustrated - unless your inventiveness and time are both quite small and you can stay within the tiny playpen without noticing how small it is.

This happens to have been my main concern about Dark back when it was new. I haven’t even tried Blitz, beyond a ten-minute glance, so I’m going on what you’re saying here,but it does sound a familiar experience.

I know a little of DarkBasic. Don’t know how similar ut is to Blitz. But those packages have something that is at the same time a great limitation and a great advantage. Its very easy to start working with but they also made it very hard to do complex things. For simple games that don’t require complex terrain algorithms, complex AI behaviors or a scene graph its the right tool.

File sizes of Blitz games are tiny. They are generally an order of magnitude smaller than having to deal with an embedded JRE, and a considerable percentage smaller than a JAR file.

DarkBasic is fairly insignificant compared to Blitz - Blitz is focused exclusively on delivering the goods. If you’re doing XML processing, you’re not writing a game. Look again, and look harder this time. There is no tool on the market today that is more effective.

Cas :slight_smile:

I think this is an excellent summation of the problem with those “super weapons” like Blitz.

What some of you might need isn’t Blitz but middle-wares. A rock solid exporter/importer for your great 3d models into your app, including boned animations etc. A smart data flow control system like there’s one with Axiom (the Dotnet version of Ogre). Speedtree. Physics engine. And a lot more.

Want to be any more patronising? :wink: I’m looking perfectly hard and being pretty impressed. There are significant limitations already tho.

Using XML => Not writing a game, you look harder… theres plenty of good reasons to be using XML in games.

The executables of Blitz3D at least are not small, in fact its noted in their own FAQ that they are pretty big compared. Not that this really compares to the JVM.

I’m having a go at a new version of Martian Madness in Blitz3D as we speak and its an interesting experience. More than any extended Java based functionality I’m missing real classes/objects. This pseudo OO just isn’t really fitting in with my over zealous Java tastes.

Kev

Hey now, you know me - I’m a Java zealot :wink: If I’m going to patronise anyone it’s going to the be the Game Technologies Group who appear to have sat on their arses for 6 months without anything to show for it…

There may be but you generally find that XML is total overkill for most uses in games. And if it really hurts you’ll also find that Blitz interfaces nicely with C libraries and is easily extended with plugins.

Wtf? Really, look harder! Install Bugatron. Total executables size including all DLLs: 737kb. Super Elvis - comparable in scope - 12.5mb or so.

I do find though that progress is far easier to achieve when you have fewer decisions to make. In fact I even started using Java like this - deliberately cutting down on pointless object orientation, using more “globals”, etc. End result: games get finished faster. Blitz tunes this to an extreme. Some OO is nice, and this is present in the new BlitzMax (along with garbage collection).

Blitz also adds scene graph functionality and toolage far superior to anything currently available in Java (an idiot can write a 3D game in Blitz).

It’s now available for MacOS X too.

I’m just wondering here - what’s Java got to compete???

Cas :slight_smile:

A nicer language?

I started programming Basic games when I was 8 years old. 1978. Retro-chic is one thing, but that’s taking it a bit far.

I think that part of my brain has rusted over by now.

[quote]Hey now, you know me - I’m a Java zealot :wink: If I’m going to patronise anyone it’s going to the be the Game Technologies Group who appear to have sat on their arses for 6 months without anything to show for it…
[/quote]
And then this …

Cas i think you deserve your ass being wiped for that late statement. ;D

Maybe XML is a total overkill when being used through the Java xml libraries but a text data format similar to xml is a choice for many comercial games. Look at the data files used in Doom3. Pak files are just zip files renamed pk3 to make bundles. Its possible to rename then to .zip and look inside.

And suprise suprise every data file that is not a picture or a sound file is a text file with definitions. This includes entity data files, meshes, animation data, configuration files, map files, everything uses the same text format similar in structure to xml. You can even have inheritance relationships between data.

An idiot can write idiotic games with Blitz better than he can write them with any other language. If people want to make a good game they need a good game idea and that is not the programming language that is going to do the miracle. Its how much games people play and how much they assimilate of the game design and mechanics of game classics that will help them. The tools only make it easier or not to realise that game idea.

Man don’t even say that again. That is a sacrilege for two reasons. One because this is a java forum and two because this is a games forum.

[gives a deserved wiping into Cas ass]

Uhh, did you mean ‘whipped’? I hope so…

[quote] I think that part of my brain has rusted over by now.
[/quote]
Yes, it can be quiet painful because guess what? Basic really sucked.

I agree with Bombadil, some good intermediate classes would do the trick.