PDA

View Full Version : Blitz / Dark Basic


Jay_Kyburz
12-10-2004, 08:04 PM
The release of Blitz Max has reminded me that it and Dark Basic exists. My understanding is that even tho these are consumer level products they can be quite powerful.

Not long ago I started a thread about C# and Pascal and I taught I should evaluate these platforms as well.

Can anybody think of any other games programming products I should evaluate as well?

whisperstorm
12-10-2004, 08:24 PM
Gamemaker has come a long way since it's primitive beginnings. It's great for making 2d games... http://www.gamemaker.nl

Jay_Kyburz
12-10-2004, 08:46 PM
After 10 minutes of reading the Dark Basic website I remembered why I blocked this out of memory. Blitz looks promising tho.

Anybody know if the Max version is due out on PC a matter of Weeks or Months?

Valkilos
12-10-2004, 11:41 PM
I guess I'll throw in my $0.02.

Blitz is surprisingly fast, stable, and powerful for what is essentially a scripting language. A surprising amount of indie efforts have been done in Blitz (Platypus being one of the more technically impressive). IMHO, though, many useful higher-level commands (collision detection and so on) are either missing or not as effective as they could be, so writing your own routines is standard fare (there are lots of open source libs available, though).

DarkBasic Pro is less stable and fast than BlitzBasic - it does, however, have more useful high-end commands, from what I hear. Unfortunately, there is a dramatic rise in minimum system requirements for a DarkBasic program in comparison to... well... anything else, making it somewhat less than viable.

Of course, take what I say with a grain of salt - I'm a bit of a BlitzBasic fanboy. :D Anyone else have input?

Ricardo C
12-11-2004, 04:12 AM
The release of Blitz Max has reminded me that it and Dark Basic exists. My understanding is that even tho these are consumer level products they can be quite powerful.

Not long ago I started a thread about C# and Pascal and I taught I should evaluate these platforms as well.

Can anybody think of any other games programming products I should evaluate as well?

Conitec's 3D GameStudio (www.conitec.net/a4info.htm), my development system of choice. The engine is quite competitive with current tech, and the user-friendliness of the tools can't be beat. Create a level in the world editor, compile it, and run it. The pre-made scripts library means you can test basic concepts quickly and without typing a single line of code, though of course you'll need to do the dirty work yourself to create something truly unique.

The user community is very active, and freely shared assets (both code an art) are commonplace. The current biggie is a normal mapping shader that's just been released, and works quite nicely. There's also a user-made physics engine, for users without the latest and/or more expensive versions of the software (3DGS ranges from $49 to $899 in price, depending on the features you want.)

I highly recommend it, unless you have the manpower to exploit the soon-to-be-GPL'd Quake 3 engine. It's an enormous time saver, especially for small teams, or lone developers :)

Sybixsus
12-11-2004, 04:27 AM
After 10 minutes of reading the Dark Basic website I remembered why I blocked this out of memory. Blitz looks promising tho.

Anybody know if the Max version is due out on PC a matter of Weeks or Months?


Hehehe, that's the million dollar question. The original plan was that the PC version would follow in a few weeks. It *could* be longer but I rather suspect the pressure to release it will escalate dramatically now that a Mac version is available.

Axeman
12-11-2004, 09:26 PM
Blitz is surprisingly fast, stable, and powerful for what is essentially a scripting language.

Blitz is not a scripting language. All versions of Blitz compile to machine code.

Jay_Kyburz
12-12-2004, 12:03 AM
I jumped in and got a copy of Blitz 3d and Visual Blitz this evening.

I found searching the forum really useful. ;)

robleong
12-12-2004, 12:39 AM
You won't regret getting Blitz3D, rather than waiting for the PC version of BlitzMax, and after that, the 3D module. Don't forget visiting blitzcoder.com too! ;)

Jack Norton
12-12-2004, 04:18 AM
Just an advice... while everyone talk well about blitz, I can tell you that the debugger is terrible.
Also Blitzmax on my Mac was quite slow...but is an early version... ;)

Phil Newton
12-12-2004, 05:03 AM
I don't think the debugger is that bad. It's not as advanced as some other languages, but it still does the job. Lets you check the value of variables and step through code line by line, so it does all I need it too. The bundled IDE (if you can call it that) is very poor, but there's a few excellent third party ones out there. I've heard good things about Visual Blitz, but I'm a Protean user myself.

Blitz isn't perfect by any stretch of the imagination, but I find it fun to use which is a big plus for me. I'll stick with my usual answer for this type of question, and give the clichéd (but still true) saying of "try them and see which one you like".

EpicBoy
12-12-2004, 05:40 AM
I played with the BlitzMax demo a little last night and it didn't seem slow to me at all. The language additions they added are excellent and I love that it allows so much more flexibility and power now.

Blitz is an A+ language in my book. It's well supported and it's pretty much bug free - unlike DarkBasic and others of its ilk.

Jack Norton
12-12-2004, 01:55 PM
I don't think the debugger is that bad.
Make a management game with 10.000 different players, updating team rosters, and we can talk ;)

Anyway can´t beat VC break-edit-continue...

I played with the BlitzMax demo a little last night and it didn't seem slow to me at all
On my iBook, I ran the demo of the ship that shoot zombies and was VERY slow. I have a new ibook G4 1,2Ghz ... My games written in C+PTK run very fast... ;)

~J~
12-12-2004, 04:59 PM
Hi folks,

My first post here and something that I can give a constructive answer to :D

Blitz3d is a great little language to learn. It's fast, can produce some cracking results and has a fantastic forum over at blitzbasic or blitzcoder (blitzcoder however can contain the odd d!ckhead though so be careful).

Phil Newton hit the nail on the head, the debugger is awful though! Gives some pointer values but nothing really definitive, and the inbuilt IDE will put a few people off.

But I'd recommend it to anyone....

exepotes
12-12-2004, 05:35 PM
listen to that guy!! (~J~) :D :D . trust me, he's doing some very nice stuff with b3d, and some other people has (and will) do too!
i'm currently testing it, and it's a nice language, with some issues, but what you gonna do... (EVERY language has issues, and i've programmed in COBOL )
pascal (or delphi) is actually my prefered language, because of the balance of power/easyness. it's like and older (and forgotten) c#... or something like that. if you want, try it with the omega components (www.delphisanctuary.com - they are free), and enjoy. very easy to use, and POWERFUL.
i'll keep my tests with b3d (and probably buy bmax PC someday), just because of the community, and because it's game orientated. and i like that :).

Sunshine
12-12-2004, 06:35 PM
Just from my own experiance. I bought DarkBasic and well... It Blows!

They may have a new version out by now, but the one i got a year or so ago was absolutly pointless unless you are an absolute noob. It was more suitable as a replacement for QBasic :rolleyes:

Vectrex
12-12-2004, 09:52 PM
"Anyway can´t beat VC break-edit-continue..."

man.. if blitzmax had 3d and that then everything else can go jump. I think edit and continue is one of the most powerful features you can put in an ide. It makes me smile just thinking about it (I'm a flash script monkey by day and THAT has a worthless debugger :) )

EpicBoy
12-13-2004, 05:57 AM
man.. if blitzmax had 3d and that then everything else can go jump.
Well, it should have it in the coming months.

And if you're experienced with OpenGL you can have it right now if you want - BlitzMax exposes the OpenGL API to you, so you can code it yourself if you're comfortable using OpenGL directly.

Vectrex
12-13-2004, 08:02 AM
I was more talking about the break and continue feature of VC. Does anything else have that? It's the one feature thats drawing me towards using vc as I waste SO much time restarting/replaying/testing/repeating that to be able to break, change code and continue uninterupted is a godsend. If blitz had that it would be a very major feature.

EpicBoy
12-13-2004, 08:16 AM
I think you threw me when you said, "man.. if blitzmax had 3d".

My bad. ;)

EpicBoy
12-13-2004, 08:19 AM
To be honest, I've find "edit and continue" to be of limited value. There aren't many cases where I decide I'd like to change some code and continue running as opposed to just stopping and starting over again fresh.

I suppose if you were doing a game that was heavily stats based or something (like Jack's) it might work for you, but in my 6-7 years of professional game development I've never encountered a situation where this feature was actually useful.

I think it's a fabulous marking bullet point for their sales pamphlet, but I question it's real world uses.

Fry Crayola
12-13-2004, 11:05 AM
Make a management game with 10.000 different players, updating team rosters, and we can talk ;)


Only 10,000?

Try 1,000,000...

Jack Norton
12-13-2004, 02:16 PM
You made a management game with so many players with Blitzbasic??
Congratz!

Anthony Flack
12-13-2004, 05:43 PM
I don't understand how the number of players can be a factor. Did you write unique code for each player, or what? 100 players, or 10,000, or 1,000,000... it's just data.

Black Hydra
12-13-2004, 06:36 PM
I notice some arrogance from many C++/C# coders about products like BlitzBasic.

Now, I understand C may have some advantages at being a lower-level language giving you some more controls. And learning OO, DirectX and the likes is hard enough to want to give yourself some credit afterwards, as I myself have learned C, (not to the extent I use Blitz and DBPro, however).

But I must say that if you want to make games I would prefer Blitz3D over C++. They are streamlined to give you the tools you need to make just about every game you could ever want with less learning, easier to use structures, and without all the precoding of libraries for this and that.

Of course, anyone who is going to make software tools would be better off in C++, or if they were going to make a game that was outside Blitz's bounds. However, if your going for a game like many of you are, I would say Blitz3D can speed things up and also remove many of the complexities that often require high levels of calculus math and physics understandings.

While there is politeness over here, I think it is fallible to assume Blitz3D is a more impotant version than C++ because it is easier and doesn't have the more complex OO structure.

Heck, even if I can't persuade you BlitzMax is the best of both world by keeping the ease of standard Basic Blitz and adding in OO potential.

20thCenturyBoy
12-13-2004, 07:40 PM
As a long term C++ coder there is no way I can go to Basic :p . But I must admit I haven't used Basic since QBasic. Does BlitzBasic still have GoSub, Begin and End? My brain is hardwired only to use languages with braces. That's why I can't stand Delphi either. My loss I guess. Does Blitz come with any tools or is it just a lib?

20thCB

Vectrex
12-13-2004, 08:41 PM
As a long term C++ coder there is no way I can go to Basic :p . But I must admit I haven't used Basic since QBasic. Does BlitzBasic still have GoSub, Begin and End? My brain is hardwired only to use languages with braces. That's why I can't stand Delphi either. My loss I guess. Does Blitz come with any tools or is it just a lib?

20thCB


same here to be honest, BUT blitzmax adds just about everything that stopped me from using blitz, with the clean oo syntax.

http://www.blitzmax.com/Products/macide.png

20thCenturyBoy
12-13-2004, 08:57 PM
same here to be honest, BUT blitzmax adds just about everything that stopped me from using blitz, with the clean oo syntax.

http://www.blitzmax.com/Products/macide.png
Wait, the type comes after the variable? That's like driving on the wrong side of the road :D

20thCB

Vectrex
12-13-2004, 09:12 PM
isnt their use of type basically what a class is? :confused:

Fry Crayola
12-14-2004, 12:44 AM
You made a management game with so many players with Blitzbasic??
Congratz!

Not yet, but in the process of it. The database is finished though and works (and it's nicely fast), so the number of players will not be a hindrance in any way.

The big thing is getting them to play football...

Teq
12-14-2004, 01:06 AM
I'm not the greatest coder in the world, but have "learned" quite a few languages in my time (braces!? whats wrong with begin and end ;) ), I've used both Dark Basic and Blitz3D and prefer Blitz (for speed, though apparently pro is quite good). I use C++ and OpenGL for my own projects (as I am hoping to port them), but if I wanted to get a good quality game out quickly I'd use Blitz (usually leave things like that to one of the other coders as for some reason I've been put on web duty!)

EpicBoy
12-14-2004, 06:27 AM
Vectrex

Yeah, a "type" is a "class" for all intents and purposes. Same thing. Has members and methods, can inherit, virtual functions, etc.

You can even include C/C++ code right into your Max program and have it compiled alongside your regular code.


BlitzMax really is a great step forward and you'll note the lack of the word "basic" anywhere in it's name. It's hard to call the language a basic dialect anymore. I was playing with it last night and it's really a very nice system.

The debugger could use some work, but the language (like its predecessors) has a lot of safety nets and it's hard to get yourself into a C++-esque debugging situation where you just have NO IDEA where the problem is. You usually know right away what the problem is once the debugger kicks up a fuss.

The language has a little bit of everything. The ease of use of BASIC, the safety of C# and the power of OO It's truly nice.

Fry Crayola
12-14-2004, 09:16 AM
Can anyone tell me what BlitzMax's 2D functions are like?

Blitz 3D's two-dimensional drawing was a bit limited. No real time rotation or scaling and no transparency meant you needed to use a 2D-in-3D engine to get those results. While I've little doubt that a 2D-in-3D engine in BlitzMax (when the 3D module is released) would outstrip it's 2D functionality it would be good to have a strong commandset from the off for the less processor and graphics intensive titles.

EpicBoy
12-14-2004, 09:41 AM
It's got all the stuff you mentioned - tinting, masking, alpha, rotation, scaling, etc.

HairyTroll
12-14-2004, 09:43 AM
To be honest, I've find "edit and continue" to be of limited value. There aren't many cases where I decide I'd like to change some code and continue running as opposed to just stopping and starting over again fresh.

I think it's a fabulous marking bullet point for their sales pamphlet, but I question it's real world uses.

Lisp users will tell you that there is nothing quite like modifying code while the application is running.

EpicBoy
12-14-2004, 10:40 AM
Scripted languages, I can see the benefit. Compiled languages, I question it.

Nutter2000
12-15-2004, 03:11 AM
Edit and Continue is very good for bug fixing, especially if you have a long list of small bugs to deal with, but I wouldn't use it for anything else.

Vectrex
12-15-2004, 03:28 AM
I think it'd be brilliant for game balancing mainly (and logic errors). I mess with physics and gameplay variables for ages before I'm happy and waste loads of time restarting and getting back to a particular spot in the game. If blitzmax could say they had that then it would be taken alot more seriously by c++ zealots. They would at least get one extra sale :)
..anyway how could it NOT be better to be able to do that? :confused:

EpicBoy
12-15-2004, 06:12 AM
..anyway how could it NOT be better to be able to do that?
Come on, you're a programmer. Do the math. :)

Jack Norton
12-18-2004, 07:47 AM
Not yet, but in the process of it. The database is finished though and works (and it's nicely fast), so the number of players will not be a hindrance in any way.

The big thing is getting them to play football...
Well making the DB is only the beginning... you check also for yellow/red cards and make players unavailable for 1-2 next matches? what about injuries? fatigue? their skills remain fixed or slowly decrease with age? the CPU does good work at making tactical decision or just make standard formations?
I can go on... but making a football management game with a language that's not OOP and doesn't have a good debugger is a nightmare. If you manage to make a decent game out of it, I'll admire you :)

Fry Crayola
12-18-2004, 01:59 PM
Well making the DB is only the beginning... you check also for yellow/red cards and make players unavailable for 1-2 next matches? what about injuries? fatigue? their skills remain fixed or slowly decrease with age? the CPU does good work at making tactical decision or just make standard formations?
I can go on... but making a football management game with a language that's not OOP and doesn't have a good debugger is a nightmare. If you manage to make a decent game out of it, I'll admire you :)

The DB is only the beginning indeed. Sadly that's also where I am.

Having said that, the cards and bans are stored with reference to the competition or football association (depending on the rules) rather than the player, which eases the load on that aspect.

A lot of the key processing in the game follows a "focus" system, with the game focussing more on those leagues and competitions that are important to the gamer. If you're managing in the English Conference, why waste processing power on making sure the manager of Nicaraguan Campeonato Nacional side Real Estili has perfected his tactics for the derby against Atletico Estili? It cuts down drastically on the amount of unnecessary processing with practically negligible effect on gameplay. Players still get better and poorer, get injured and tired, but in a more abstracted way.

The theory is sound, and I'm confident I can hold it all together.

Evak
12-27-2004, 12:41 PM
I just started using Bmax and its a different beast entirely compared to blitz3D. as far as what blitz 3D can do. It does quite a lot when you consider its DX7.

I recently put all mu past 18 months worth of projects on a simple web page. I can't wait to get my hands on a 3D rendering module for blitzmax. The language is much more like C++ than the previous basics. I guess thats why it doens't have basic in the name.

If you want to check out some of the stuff I have been working on in blitz 3D since last December check out my media page.

quite a few images and some video clips too

http://s93153354.onlinehome.us/media/Media.htm

Jack Norton
12-27-2004, 12:53 PM
If you're managing in the English Conference, why waste processing power on making sure the manager of Nicaraguan Campeonato Nacional side Real Estili has perfected his tactics for the derby against Atletico Estili?
Yes, indeed.
I made the same decision when programming USM. A customer prefer less accuracy but a faster game than a SLOW game...!

Anyway, good luck with your project, and let me know when you have a demo! :cool:

C_Coder
12-27-2004, 04:21 PM
A customer prefer less accuracy but a faster game than a SLOW game...!

I agree with that. I am a long term C/C++ programmer and it is something like 12 years since I touched Qbasic last and I'm not going to that language any soon.

Although, come to think of it, next time when I would do a simple game I would evaluate Blitz before going hands down coding it in C.

Jack Norton
12-28-2004, 12:01 AM
Although, come to think of it, next time when I would do a simple game I would evaluate Blitz before going hands down coding it in C.
For a simple game I think Blitz(max) rules.
But I can't stand not being able to debug properly... maybe it's just me, but I can't develop well without a good debugger :)

halodrake
12-28-2004, 05:34 AM
Can anybody think of any other games programming products I should evaluate as well?


Freya->
http://geekzine.net/freya

Something I wrote myself. It's slowly working towards a 2.0 release, but it's stable and powerful right now, and working towards being ported to other platforms.

Evak
12-28-2004, 08:45 AM
heh yeah, thats because BlitzMax beta doesn't really have a proper debugger. Wonder how long we will have to wait.

I'm a 3D artist and just started coding in Bmax, its a real pain having limited documentation, and poor debug tools. Probably easier if you have experience with other languages though.

Managed to get through the basics and am just starting on methods now.

Dock
12-29-2004, 05:43 AM
I'm currently using Blitz 3D, and I'm really very happy with it. I have stumbled across some problems, but they're most often my own code faults, and the excellent community at www.blitzbasic.com is very helpful with code discussion.

I'm an artist more than a programmer, so this language suits me very well. I plan for my project to be finished in 2005, by which time BlitzMax may have its 3D component available and I can consider moving over to that. It would be great to be able to produce Mac versions of games too.

HairyTroll
12-29-2004, 09:49 AM
Scripted languages, I can see the benefit. Compiled languages, I question it.

The following is taken from a Slashdot interview with Kent Pitman (Ask Kent M. Pitman About Lisp, Scheme And More, 12-Oct-2001) (http://slashdot.org/article.pl?sid=01/11/03/1726251&mode=thread). It goes into some detail as to why being able to debug an application while it is running is useful:


... The world is ever changing and it's useful to allow programs to change dynamically with it. I can load new or changed functions, classes, and method definitions into a running image that I'm debugging, or even in a deployed production application. When I do, the code that was running will immediately start using the new definitions. Classes can be redefined even if the new class has different slots, and, if I care to, I can control how the update is done from old to new slot arrangements for already-created instances. This kind of thing supports programs that must be continually running yet must be responsive to changes or even just bug fixes.

... Not only can functions, packages, classes, methods be dynamically added, redefined, or removed, but programs can also inquire about whether aspects of the programming environment (functions, packages, classes, and so on) are defined, can manipulate those objects as data, can save them away, can transform or encapsulate them, etc. ... New programs can be created on the fly, then compiled and loaded and executed in the same running image as they were created, without ever exiting (and even without doing file I/O). This facilitates automatic programming and the development of layered languages.


Perhaps it is just me, but I get butterflies reading about stuff like this.

The sad thing is, this kind of functionality has been available for 20+ years, before C++/Java were even on the map.