Log in

View Full Version : why use blitz and why not use it


Jack_Norton
12-02-2003, 11:31 PM
Not going to start a flame (I hope!), but recently another thread (Programming games with VB) make me thinking about it.
I just finished my first game in Blitz3d, but if I had to start again now, I surely wouldn't use it.

Let me tell you why:
-DEBUGGER:as I told in another thread, the blitz debugger is really bad, compared to VC one. The "break, change code and continue" feature is really awesome and can cut your dev time consistently.
-USELESS 3D: if you plan to make a 2d game, like a simulation or a strategic one, there's no really need to use the 3d features of blitz3d. you can go on simply with VC and a library
-SPEED: Blitz is quite fast, more than VB, but C of course is even more quick ;)
-PORTABILITY: hope M.Sibly will get blitzmax capable of making multi-platform games... now if I use ptk I can port from pc to mac in 5 minutes (I tried it personally and really works :p)

So the only "advantage" of using blitz would be the basic language, since mostly can't program in C. Well let me tell you this: until september, I hadn't even managed to compile a single exe in VC 6 :)
Then I tried ptk (I know, I keep talking about it, but I think it's really worth) and I finished a small game in less than one month.

I make a quick example. Load a sprite and display it on screen:

Blitz:
image=loadimage("test.jpg")
drawimage image,x,y

VC and PTK:
image->loadPicture( KMiscTools::MakeFilePath( "test.jpg" ) ) ;
image->blitRect( 0,0,-1,-1,0,0 ) ;

Apart for the ending ";" I can see really not much difference :P
Of course you have to learn the basics of C. But at least when you learn, you learn to program in C, that's even good to put it on your resume.
I can't put on my resume "blitz basic programmer" :D

Don't get me wrong about blitz, I love that language, and I believe that if you need to develop quickly is still a good choice... but if blitzmax is just another BASIC language, I doubt I'll try it.
What I want is an API Library, complete and easy (like ptk and others) that I can use in C !

MxxM
12-03-2003, 12:02 AM
Hi Jack_Norton!

You mentioned "protean ide" in that other topic, I would be interested to hear more about it. What things have been done better in that one compared to blitz3Dīs default ide?

I havenīt used Blitz3D many days but I really like it because everything is packed in one so nicely and your job is just do the games. Donīt have to worry about technical stuff so much..

Maybe same benefits could be archieved by using some nice library with C++ but I donīt know..

Anyway Blitz3D feels just so user friendly and easy to use, just download it and start coding your game :)

Whatīs that ptk?

Jack_Norton
12-03-2003, 12:32 AM
You mentioned "protean ide" in that other topic, I would be interested to hear more about it. What things have been done better in that one compared to blitz3Dīs default ide?
just look in the www.blitzbasic.com homepage and you'll find a sponsored link to the protean website.

I don't use it, because I won't do anymore blitz games in near future and so I don't want to spend 29$ to buy it :P but from what I've seen around seems good.

I havenīt used Blitz3D many days but I really like it because everything is packed in one so nicely and your job is just do the games. Donīt have to worry about technical stuff so much..
yes if you want to do the next action/puzzle/platform game (SIMPLE games), blitz is awesome, even if you can't do mac/linux games... ;)
but since I'll be doing mostly strategic/rpg/simulation games, using blitz isn't good really!

Anyway Blitz3D feels just so user friendly and easy to use, just download it and start coding your game
yes, I did that. Unfortunately now the game source code is a complete mess, and without good OOP and structured language features (like C/C++) every single addition is quite painful.
I wanted to make a game with future updates/patches over time, but that is just too hard in blitz :(

Whatīs that ptk?
it's a C/C++ library.
http://ptk.phelios.com

you need to learn something more than blitz of course (you need the basics of C at least), but then your life is much easier (if you aren't interested in 3d games).

RTF
12-03-2003, 12:51 AM
I'm leaning towards Blitz right now for a number of reasons:

-All the game library functions I could want in one place, tested, ready for use. This is a big one for me. Free libraries will generally get you as far as "here's a pile of graphics functions" before dropping off. PTK looks nice, but considering that I want to be making money here, I'd much rather spend a little extra time fiddling with the Blitz debugger than take a royalty hit for possibly years. And with other commerical libraries I've seen(say, Fastgraph) there is quite a large up-front payment needed that I'm shying away from, being a college student.

-Sufficent speed/power for my needs. Although I'd really like having a "BlitzPython" or somesuch so that I could make use of all the great built-in Python data types, and I know I'm not going to get as fast a game as if it were compiled C/C++, I'm not planning to tax people's computers too much in the first place, and I can make do pretty well with Blitz's tools. I've programmed fairly sophisticated strategy games in TI-BASIC, after all, and I'm used to lousy/nonexistent debugging tools and somewhat awkward programming practices :D

-Useless 3d? Of course it is, if you're not going to make a 3d game. But who cares - the 2d is quite good. (I'm going to get BlitzPlus, if I do end up getting a Blitz, so this is a non-issue anyhow)

-Portability is the issue I don't like much, but given my needs, I figure that Win32/DirectX should constitute a decent market for some years to come. And if the market shifts, you can bet the platform Blitz uses will, too! So as long as they stick around, all I'd have to do to update my product would be to get the new flavor of Blitz and drop my old code into it, and then change around whatever's needed for the new version. If Blitz goes away, then I'll just have to port it to another language. But by that time, something new and great that still fits my needs will have probably come up, so I'm well-set no matter how you slice it.

Jack_Norton
12-03-2003, 01:35 AM
Well of course anyone can choose what he believe is the best path :)

Just some quick notes:
PTK looks nice, but considering that I want to be making money here, I'd much rather spend a little extra time fiddling with the Blitz debugger than take a royalty hit for possibly years.
as far as I know, ptk doesn't require any royalties... :p
anyway if you're going to fight against the blitz debugger... goodluck! ;)

I've programmed fairly sophisticated strategy games in TI-BASIC, after all, and I'm used to lousy/nonexistent debugging tools and somewhat awkward programming practices
ah well, that's explain all then!! hehe
I'm not so inclined versus bad debuggers :)

I figure that Win32/DirectX should constitute a decent market for some years to come
of that I am not so sure. If you look around, the win market is litterally FLOODED by new games/product.
anyway I still get around 100 downloads/day of my soccer game even after 90 days, and spent only the 79$ of download.com, not extra advertising at all... so maybe the only trick is to make a great game! :p

princec
12-03-2003, 03:15 AM
Why not use it?

Well, because you can use Java ;) No wait! Before you get all flamey there's a couple of little things worth bearing in mind:

1. There are very many IDEs for the language. There are more Java IDEs than there have ever been C++ IDEs. Some of them are free. Some of them are better than any C++ IDE available. Some are both (Eclipse (http://www.eclipse.org) is my favourite). The debuggers in all the Java IDEs are all jaw-droppingly useful compared to C++ ones, thanks to the way Java is designed. But I very rarely ever have to use a debugger anyway - as Java is designed to catch most of the familiar debugger territory mistakes that you'll come across.

2. It's faster than Blitz, by quite a way.

3. You're in total control of your environment, like in C++. You can fix any problems you come across except VM problems and fortunately because of the huge and long term distribution of the VM all the bugs are nicely ironed out.

Just plugging ;)

There's even some mileage in writing a Java wrapper for PTK.

Cas :)

Jack_Norton
12-03-2003, 03:21 AM
There's even some mileage in writing a Java wrapper for PTK.
uhm this is an interesting thing! :)) I may switch to java soon ;) hehe

simonh
12-03-2003, 08:36 AM
(Java is) faster than Blitz, by quite a way.

'Faster by quite a way'? That is too unspecific for my liking. How much faster? In what areas? It may be quicker in some respects, but Blitz is fast too, not just its compiler but also its integrated 3D engine. I've been using it for years, and never had a problem with slow-down, even with old computers. I can't say the same of Java.

Also, Java just has too many side 'issues' for me to consider working with it, you only have to look at the big download size of Alien Flux for evidence of that.

For me, the main benefits of using either version of the Blitz programs is that they are very easy-to-use, and contain integrated 2D/3D engines that are fully featured and well supported.

A lib such as PTK might work OK, but has it got a community of thousands that can help out should you get stuck? Has it got an active user base that is constantly producing tools that are perfectly suited to game making with your engine?

The Blitz user base absolutely rocks. For example, only the other day, a user released Gile[s], an advanced lightmapper program that uses global illumination to produce lightmapped scenes comparable with those you might get from Lightwave or 3DS Max. It costs a tiny fraction of those programs, and because it was written by a Blitz user, it is perfectly suited for use with Blitz, exporting to Blitz3D's own .b3d format so you what you see in the program is what you see in Blitz.

Compatibility is another thing I like about Blitz, BlitzPlus programs use the lowest version of DX available, so your game will run on every WinOS platform since Win95/WinNT 4 with no additional hassles. Basically it means your game is ultra-compatible, something which cannot be undervalued with shareware games.

Blitz3D is not so compatible, it requires DX7+, however it still makes it wonderfully easy to create 3D games, featuring things like automatic collision detection and sliding, an entity hierarchy system, camera picking and so on, things which would be difficult to program for the average user and yet I could not live without when programming a 3D game.

So basically, you don't have to worry about any of the lower level stuff which seems to really drag out some game's development processes, and just concentrate on making a *game*, in a tight, all-in-one environment.

gana
12-03-2003, 09:05 AM
As one who has used c++/dx and blitz, i can say that it all depends on your skills rather than language. If i remember correctly, Best friends, a fine game, was written in blitz. It was one of the most enjoyable games i played. It played flawlessly.

Jack:
Congrats on the release of your game. While i do love c/c++, i can tell you that if you are going to learn about it, you will create lot more problems with it than b3d. You must think about memory leaks and resource releases. It has its fair share of its headaches too. Don't get pulled in by the seemingly simple and easy look of the language. There is a reason it is used by top companies to make retail games. It is way too powerful. But do you really need it ? If you do, then go ahead. But be prepared to slog out during your initial days. There are lot of things you may have to learn.
But it is always better to learn c/c++. It would be helpful in the long run.
How many lines of code are you talking about in the game ? You should only come to the 3d part of c++ to see how simple blitz is.
Anyway all the best with whatever you choose. I used to vehemently argue that c/c++ was the best. But now i have come to believe that anything that gets your job done with the least effort in time and money is the best tool for that job.
Find a language you are comfortable with and carry on with your work. Release more games and all the best :).


To your success,
Gana.

KNau
12-03-2003, 09:42 AM
There are 3 stages to every business: INPUT, ACTIVITIES and OUTPUT. In our case it would (abbreviated) look like this:

INPUT:
Market / publisher demand
Game idea

ACTIVITIES:
Game design
Game programming
Marketing / web design

OUTPUT:
Completed game
Customer downloads

** You only get paid for the OUTPUT portion of your business **

What this means is that your choice of programming language is completely academic and has no bearing on your potential bottom line. There is no programming at the output stage and there is no line that can be drawn between "I love OOP" and "I make more money". Therefore there is no need to evangalize or defend your particular choice of language because as long as you are focused on the output of your business then you are perfectly right.

Jack_Norton tried Blitz and didn't like it so now he uses something else. Great. Other people swear by Blitz and they, too, are right. It is impossible to prove someone's choice of programming language wrong because the language does not matter to the bottom line of your company. The customer doesn't care if you used Java, C++ or Turtle Graphics as long as the game runs on their computer and is fun to play.

I've used Dark Basic - the slowest, ugliest, most over-the-top verbose language around. The native editor only runs in full screen mode at 640x480 and there is no "debugger" to speak of. And yet I have a game that is finished and seems to sell despite my best efforts to screw it up :) Go ahead, tell me how I chose the wrong language and should switch after the fact. Tell me how I will make more money if I reprogrammed my game in Visual Basic, Blitz, Java or C++.

RTF
12-03-2003, 09:51 AM
About that whole royalty thing; I think I just bought into someone else's FUD without looking closely :P But they don't use the magic words "royalty-free" in but one place on the site, when there are many places where you might look. (The EULA uses other terms)

And I'd really doubt that Java is faster than Blitz for games. Pure Java, at least.

Jack_Norton
12-03-2003, 11:38 AM
A lib such as PTK might work OK, but has it got a community of thousands that can help out should you get stuck? Has it got an active user base that is constantly producing tools that are perfectly suited to game making with your engine?
PTK is different from blitz, it is a 2D library. So you don't need tools like Gile and so on. Basically everyone who is programming in C can help you. Source for pathfinding, encrypt, file i/o, etc.
Of course the basic graphics command are all in the library, but since it's 2D, I think almost all features are already covered :)

You must think about memory leaks and resource releases. It has its fair share of its headaches too.
I already learnt about those...:eek:
I consider myself now a beginner C programmer :p

It is way too powerful. But do you really need it ?
I need it simply because with ptk is the only simple (even if it is still C) way to write a cross-platform game. Being able to code in ANSI C, then test it for 5 minutes on a Mac and see the SAME game running, is great.

And I can't do that with Blitz. Still waiting for Blitzmax to come out... :P
And about this, I answer to this question:
Tell me how I will make more money if I reprogrammed my game in Visual Basic, Blitz, Java or C++.
if you reprogrammed your game with C and PTK, you'd now have three version of your game, one for pc, one for mac and linux(even if it is not easy to port to linux).
While the mac market is not huge as the pc one, is still valuable... ask around ;)

p.s. if Blitzmax come out and it doesn't have a so poor debugger, I'd be happy to throw away Visual C. But I strongly doubt it :(

Ty_Smash
12-03-2003, 11:57 AM
I've always found the Blitz debugger to be rather excellent. Not quite up to the high standards of some others, but it certainly does all I need it to do.

As many people will say, the main reason is ease of use. Unfortunately there is a stigma with using Basic instead of C++, but I can live with that. Blitz is by far the best thing I ever bought for this PC (and when used in conjunction with the Protean IDE (http://www.proteanide.co.uk/) it comes into it's own). The unofficial pre-processor (http://home.iprimus.com.au/jamjr/tangental) is also another great tool.

At the end of the day it's your choice, and that's the best thing about it. It's great that there's so many languages to choose from, that cater to everyone's styles :)

Uhfgood
12-03-2003, 12:13 PM
Jack - just a side note, some people have mentioned this. BlitzPlus is the 2d version, blitz3d is the 3d version. Although blitz3d does include the old 2d engine, if you're doing just a 2d game then blitzplus would be better to get. If you want to compare ptk w/C to blitz, compare it to blitzplus.

Ptk is 195 bucks for multiple shareware licenses, blitz3d was only 150 for me with a book, and now I believe that b3d is only 100 bucks. Secondly, I keep hearing alot about portablility, and yet you claim to be a C beginner. Plus I haven't seen anything that suggested to me that the mac and linux markets are worth pursuing (indie games-wise).

I have to agree with KNau the most though, because he's right. It doesn't really matter what you develop in, as long as people like it. If Jack wants to use C/C++ and PTK that's his choice, but no need to knock down anything else.

Jack_Norton
12-03-2003, 12:14 PM
As I said, for simple games, blitz is surely a good language.
I don't want to be too proud, but I think there aren't many FINISHED games complex like mine made in blitz :o
Now I'll post just a function of my game (sorry for the spamming):

-------
edit: I removed it, was too long and not really useful!!!
-------

now think about me, at runtime, getting bad values or even errors. In blitz I have to scroll the debug list over and over to find the variable... while in C I can just add a watch.

When I finally find the error: quit the game and restart, since I can't change pieces of code on the fly (while in C I can). Getting the same result, in a simulation game, is quite difficult, takes long time, and can be absolutely random.

Lot of potential bugs still are inside my game... brr...!

Now you understand why I don't like blitz? :D

Uhfgood
12-03-2003, 12:17 PM
Sounds like you need to learn to program ;-)

There are quite a few games made in blitz that are finished. And you are sounding too proud, as if yours is the only complex game.

btw, you'll still have the same problems in C/C++ I don't care if you have a decent debugger, you still need to learn to program correctly, no matter what language.

Jack_Norton
12-03-2003, 01:04 PM
Secondly, I keep hearing alot about portablility, and yet you claim to be a C beginner.
yes that's why I have chosen ptk. I changed one line and it worked on mac. If I was a C expert, I'd use SDL or Torque, they are portable to mac/linux too, but I can't even compile the examples... :p

There are quite a few games made in blitz that are finished. And you are sounding too proud, as if yours is the only complex game.
I know there are other blitz games around, but which ones are really complex? for complex I mean not how many lines they have (of course!!) but which kind of structures and how many variables they have?

this is the struct of the player type in my game (sorry about italian comments):
Type giocatore_t
Field nome,cognome
Field altezza,peso,eta,ruolo,posizione
Field velocita,resistenza,forza,agilita
Field parata,tackle,passaggio,tiro,dribbling
Field testa,elevazione,punizione,rigore,tecnica
Field fantasia,freddezza,carisma,aggressivita,rating#
Field valore#,inf_res,squalifica
field y_league,y_tmp;y_intcup
field r_league,r_tmp;r_intcup
Field squadra,maglia
Field play,infortunio
Field nazione
field contr_YY,contr_MM;scadenza contratto MM/YY
field status;0=normale,1=cedibile,2=in vendita,3=incedibile
field salary;salario settimanale giocatore
field cu_gol,cu_ass,cu_rat
End Type

I manage about 10.000 to 25.000 of those depending on user preference. I do search on the database depending on various skills/stats. I update all those after every match, create new ones on the fly (player from youth squad) and retire old one.
I have also quite some hard work generating a random league (different every time you start the game) and a huge database of names/surnames which change depending on the nationality of the players...
Believe me, soccer (or other sports) simulations are the most complex kind of games you can make!! :) Probably I should have planned it more carefully, but I was in a rush, I wanted to finish something :p

Said that, I still think myself as an average programmer with lot of passion. But when I make a good thing, I get proud of it ;)

Fenix Down
12-03-2003, 01:11 PM
I agree with KNau in the sense that the output is what matters. In this regard it doesn't really matter what one uses to program the game. One should make the game using whatever language/development platform they are comfortable with, assuming that this language/platform provides enough functionality, flexibility, and power to achieve what one wants to achieve. It's that simple. I don't see a problem with using a language/platform that has more power than you can leverage (how much you can leverage though depends on your programming experience in my opinion), as long as you're comfortable with it and can get the job done.

I have to disagree though, that using something like BlitzBasic instead of C++ would necessarily speed up development. That in my opinion largely depends on how much programming experience you have, how well you know your development environment, and how comfortable you are within it. At this point (after about 4 years of working with C/C++ and writing the first version of my game engine) I doubt that using Blitz would provide me with much of an advantage. But certainly it would've made my life a hell of a lot easier when I first started with game programming.

At the same time, some experienced programmers like Mike Boeh (Best Friends) and MKing (Juno Nemesis) use Blitz because they believe they can write game quicker this way. Which may be true for them. Not sure if it would be true for me though. At least it wouldn't be as fun for me to program in Blitz. And we're all doing this because we have fun doing it, right? :)

Ty_Smash
12-03-2003, 01:19 PM
I think you hit the nail on the head there. It all depends on what you're used to and where your experience lies (as opposed to how experienced you are in general).

I've done years of Basic stuff, but only recently started with C++, so Blitz is more natural for me. I'm really struggling with C++, but yet I picked C# up in a very short space of time. Weird.

"And we're all doing this because we have fun doing it, right?"

Couldn't have said it better meself :)

Joe
12-03-2003, 01:23 PM
Originally posted by Fenix Down
At the same time, some experienced programmers like Mike Boeh (Best Friends) and MKing (Juno Nemesis) use Blitz because they believe they can write game quicker this way. Which may be true for them. Not sure if it would be true for me though.

Stop speculating and download Blitz for yourself to find out. I've been writing C/C++ for over 10 years and currently using Blitz to create my first 3D game just because it is packed with features that would take longer for me to implement in C/C++. Not to mention that it has been tested thoroughly.

In the end, KNau hit it right on the nose!

KNau
12-03-2003, 01:31 PM
Most Dark Basic and Blitz Basic games should run in Linux using WineX. Mac is either do-able or in the works, I'll have to check that.

Concerns are being expressed here because you claim to not want to start a flame war but then proceeded to denegrate other development software and other developer's games (!) as somehow lesser than yours. I'm hoping some of your tone is a result of english not being your first language.

I'm glad you found a language you like to use. In fact what you did is the (IMO) exact perfect way to approach development. You made a game, evaluated the tools and found you didn't like them and moved to something that works better for you. It's much better than people who pass judgement on a set of tools without even testing them.

I'm setting out to learn C++ as part of a New Year's goal and I will for sure check PTK out - so at the very least, thanks for the information about it! It looks like it could really help get me started :)

Jack_Norton
12-03-2003, 01:31 PM
If I wanted to make a 3D windows only game, I'd use for sure Blitz3d!
No way I can learn all the complex 3d stuff in C... 2D is enough for now ;)

Trixx
12-03-2003, 02:03 PM
To Jack Norton :
Just a quick question : Do you use undocumented Object and Handle commands ( for storing and retrieving type pointers ) in your game ?

Jack_Norton
12-03-2003, 02:16 PM
Concerns are being expressed here because you claim to not want to start a flame war but then proceeded to denegrate other development software and other developer's games (!) as somehow lesser than yours. I'm hoping some of your tone is a result of english not being your first language.
Yes I think it's because of that, surely!
I haven't denigrate any other games. Look at the posts, I only said that I made a game more complex than mostly blitz games, not that is the best, the best-selling, or the more adapt to the casual gamer (that's for sure!!).
I looked Uhfgood games and even if they are simple, they're fun.
I think the common mistake was to think that the term complex = better, and this was not my intention! :p

Just a quick question : Do you use undocumented Object and Handle commands ( for storing and retrieving type pointers ) in your game ?
nope, I could get advantage using those? I didn't find any good info about using them...

p.s. my apologies again if I offended someone, that wasn't really my intention... maybe I was too nervous because I couldn't spot that damn last bug, but I just found it and hopefully tomorrow I'll release USM 1.1 with match engine :)

Trixx
12-03-2003, 02:39 PM
nope, I could get advantage using those? I didn't find any good info about using them...

I don't know if they can "fit" in your code , but they are very powerful when dealing with complex Type structures.
You can find more info at :

"How to use Object and Handle commands in general and creating your own (hardcoded) polymorphic functions, being able to handle multiple object structures in a single call" - >
http://www.blitzcoder.com/cgi-bin/code/code_showentry.pl?id=thechange08052002184613&comments=no

Ty_Smash
12-03-2003, 03:17 PM
Object() and Handle() are two of the best commands in Blitz. When used in conjunction with a bank (or list if you write one ;)) they make handling lists of types simple.

HunterSD
12-03-2003, 06:02 PM
The unofficial pre-processor is also another great tool.
It never ceases to amaze me how people pop up and say that they use the ubbpp...

At the same time, some experienced programmers like Mike Boeh (Best Friends) and MKing (Juno Nemesis) use Blitz because they believe they can write game quicker this way.
I actually wrote Juno Nemesis in Blitz because I didn't know any other languages at the time. It seems to have been a fairly lucky choice, though, because after investigating many other possibilities, I am still staying with Blitz.

Strictly speaking, C# would be the perfect language for me, if there was a sensible 3D engine developed for it and the minimum requirements weren't so high (runtimes etc).

Uhfgood
12-03-2003, 07:27 PM
For the record, my previous games weren't written in blitz ;-)

I'm working on some blitz projects though :-)

Keith

HunterSD
12-03-2003, 08:25 PM
When BlitzMax materialises, I think it's going to offer the best of both worlds. Hopefully it's not going to be too far off!

Jack_Norton
12-04-2003, 01:09 AM
To Trixx, thanks for the useful link. I don't think I'll use them in USM since it is quite finished and I should rewrite good part of it, but in future if I'll ever make another blitz game, I think I may use them :)

When BlitzMax materialises, I think it's going to offer the best of both worlds. Hopefully it's not going to be too far off!
I hope too, I subscibed to the newsletter (the one advertised at blitzbasic official website) in which there should be more info about blitzmax from mark sibly directly, but haven't received it yet :p
Anyway, beside the cross-platform thing, I hope that mark will chenge some aspect of the "basic" language to make it more similar to oop basic languages like VB.
The best feature would be for sure a break-changevalue-and-resume debugger, but I think that this is quite difficult to implement...!

HunterSD
12-04-2003, 01:15 AM
BlitzMax will include OO. Mark hasn't said anything about the debugger yet, though...

Ty_Smash
12-04-2003, 01:22 AM
Originally posted by HunterSD
It never ceases to amaze me how people pop up and say that they use the ubbpp...

It's helped me optimise a lot of my code using the profiler.

I agree that C# is a great language, but it's not too oriented towards games at the moment. It's a bit of a shame really, because it's one of the few languages that I've just been able to pick up with hardly any effort (Blitz being the other one).

HunterSD
12-04-2003, 01:38 AM
I agree that C# is a great language, but it's not too oriented towards games at the moment. It's a bit of a shame really, because it's one of the few languages that I've just been able to pick up with hardly any effort (Blitz being the other one).

Definitely. Both the language and the way that it wraps all of the yucky Win32 API I can't fault. The runtime size, lack of portability and lack of mature 3D engines built for it I can. Maybe in a few years it could be suitable for shareware, who knows?

From what I have seen of BlitzMax, though, it is heading in a direction I find extremely pleasing...

Ty_Smash
12-04-2003, 01:52 AM
Originally posted by HunterSD
From what I have seen of BlitzMax, though, it is heading in a direction I find extremely pleasing...

Agreed, it sounds very promising. I wasn't really that bothered about it before, but now a few more details have been revealed (as well as a tiny performance comparison) I'm much more interested.

I'm still more than happy with Blitz as it is, but I'm not going to say no to a better version.

Jack_Norton
12-04-2003, 01:59 AM
From what I have seen of BlitzMax, though, it is heading in a direction I find extremely pleasing...
interesting...! developing 3d multi-platform games... mmmh.. I could even try to stand the debugger ;)

Jokes apart, you have any links with info about it? thanks

HunterSD
12-04-2003, 04:48 AM
There isn't a single solid deposit of information on BlitzMax, and Mark hasn't said all that much publicly. Checking his worklog and maybe do a forum search would probably be the best way. The main bits it will include are:

* Linux, Mac and Windows support
* GUI, 2D and 3D in one package
* Brand new compiler - fast and supports OO
* Completely modular in design
* Modules outside of the core compiler (ie the runtime.dll in the current Blitz) are written in BlitzMax itself - and full source will be provided.

Any inaccuracy with the above is my fault entirely - it's from memory.

Anthony Flack
12-04-2003, 06:37 AM
That's pretty much how it stands re:blitzmax. But no release date or concrete list of features, which is fine by me: I'm another developer who believes in taking the "it's done when it's done, and it'll be what I want it to be, no promises" approach. I do know for a fact that the cross-platform stuff is coming along nicely though.

I'm a very happy blitz3d user myself; I like using it and it does what I want it to just nicely. I also think the game I'm working on may prove to be more complex than Jack's, despite being in a "simple" genre... but you'll just have to wait and see - it's done when it's done, and it'll be what I want it to be...

But for sure, everyone just use whatever pleases you. I've got no time for snobs - actually if anyone here is sniffy about BASIC programmers, then let's see how good your games are first...

Jack_Norton
12-04-2003, 12:02 PM
I've got no time for snobs - actually if anyone here is sniffy about BASIC programmers, then let's see how good your games are first...
Just to clarify, I don't snob basic... if it has good OOP/structured language and a great debugger. I'd be much happy to use Blitzmax if it has those features (at least the first one it should have).
I still believe (as I said) that to make a 3d game blitz3d is the best tool around (but unfortunately I can't do a 3d game yet, too much work needed).
Anyway I'm very curious to look at your game when it will be finished :) could you give an anticipation of what genre it is? (action, simulation, strategy, etc)

Anthony Flack
12-04-2003, 03:57 PM
Oh I know you're not one of the snobs, Jack - but they're out there for sure...

It's an action platform game, with loads of stuff in there... hmm, the pictures seem to be gone from the website, I guess Ed got fed up with my ever-increasing bandwidth. Time to buy some of my own server space I guess...

Jack_Norton
12-05-2003, 12:20 AM
Oh I know you're not one of the snobs, Jack - but they're out there for sure...
I know what you mean ;) but let them talk, when you'll have finished 3 games in one year and they'll be still finishing the 3d engine of the first... :p hehe

an action platform game? sounds cool!

One day I'll do one myself. I liked ghost'n'goblins a lot and want to try to make a game similar to that one (won't be easy of course!!).

HunterSD
12-05-2003, 01:08 AM
but let them talk, when you'll have finished 3 games in one year and they'll be still finishing the 3d engine of the first...

Or, more like, they finish a game. And then another. And then another. Then Anthony comes out with a game so incredibly polished, detailed and playable, they will want to weep. :)

Jack_Norton
12-05-2003, 01:43 AM
Hehe, cool :)
I think it all depends on how much time you have, or you can wait :p
I'd have waited some more time before releasing USM, but I needed to get something out. I think that is important first to build up a catalog with few games, to get known (of course that doesn't mean getting out quickly poor games! lol)

HunterSD
12-05-2003, 05:16 PM
A catalog of games probably isn't imperative - look at Pretty Good Solitaire, which for many years was the only game on the site.

Jack_Norton
12-06-2003, 12:42 AM
Hmm not sure that this is possible anymore nowadays.
Remember that those were times when shareware world was practically unknown to developers...
Looking around now I see about 1-2 new releases a week (even more maybe). In those days (3-4 years ago), I was looking for every new Spidweb game with impatience (and I did know them only because I saw one game on a CD magazine).

Maybe is still possible, but 500 times more difficult :p

princec
12-06-2003, 03:17 AM
Back on thread for the moment, just to throw something into the mix...

Scenario:

customer runs game. Game plays fine for 10 minutes then crashes. Customer emails you to complain. What can you ask them to send you to help them out and where did it come from?

Would it, perhaps, look as useful and comprehensive as:

java.lang.RuntimeException: java.lang.RuntimeException: Spurious example
at xap.features.GamePanelFeature$GamePanelInstance.doTick(GamePanelFeature.java:251)
at xap.gui.Component.tick(Component.java:1714)
at xap.gui.Component.tick(Component.java:1721)
at xap.gui.Interface.tick(Interface.java:309)
at xap.Game.main(Game.java:479)
Caused by: java.lang.RuntimeException: Spurious example
at xap.gidrahs.MadJellyFeature$MadJellyInstance.doGidrahTick(MadJellyFeature.java:104)
at xap.features.GidrahFeature$GidrahInstance.doAliveTick(GidrahFeature.java:168)
at xap.features.LivingEntityFeature$LivingEntityInstance.tick(LivingEntityFeature.java:170)
at xap.features.EntityFeature.tickAllEntities(EntityFeature.java:441)
at xap.features.BattleZoneFeature$BattleZoneInstance.tick(BattleZoneFeature.java:80)
at xap.features.BattleZoneFeature.tick(BattleZoneFeature.java:308)
at xap.Ticker.tick(Ticker.java:52)
at xap.features.GamePanelFeature$GamePanelInstance.doAnimationTick(GamePanelFeature.java:403)
at xap.features.GamePanelFeature$GamePanelInstance.doTick(GamePanelFeature.java:245)
... 4 more


I can't stress enough how much this helps in diagnosing problems, and that I don't even have to think about doing it - it's free.

I've seen numerous threads on Dexterity from developers with "mysterious crashes" that just won't go away and it strikes me that with a comprehensive log exactly where the error occurs would have solved half of them in a jiffy.

It might also be prudent to point out that if time is money, you would probably not want to waste time searching for phantom pointers in C++, which I'm certain a lot of you C++ programmers spend quite a bit of time doing, even with years of experience.

It's interesting to note that no-one has kept a log of development activity in their games projects ("searching for corrupt pointer reference, 4 hours"). Without that kind of measurement you're never going to know what sort of direction you might take for improvement.

Cas :)

HunterSD
12-06-2003, 07:02 AM
Yeah, but too bad your VM is as big as my game :P

Joe
12-06-2003, 07:12 AM
Originally posted by princec customer runs game. Game plays fine for 10 minutes then crashes. Customer emails you to complain. What can you ask them to send you to help them out and where did it come from?

This scenario can be eliminated if you had a better QA process.

princec
12-06-2003, 07:46 AM
It's invaluable as part of the QA process. During development of Alien Flux I had a huge open alpha test, with over 100 testers, followed by a closed beta with about 20 more dedicated testers.

And when you've got a customer demanding you fix a problem, time is of the essence. Let's be honest - software is so complex it's almost impossible to get it 100% right first time even with thousands of hours of testing.

Cas :)

Jack_Norton
12-06-2003, 08:57 AM
I don't use java, but I completely agree with princec on this.
Finding all the bugs on USM took me more than 50% of dev time!!!

RTF
12-10-2003, 12:38 AM
Actually, now that I've tried it for more than a few days, I'm realizing how mean Blitz can REALLY be when it comes to debugging; truthfully, I had an easier time on the TI. Or the Atari 800 for that matter.

The worst error I had, that caused me to decide to quit Blitz, is the "end of function without start of function" one. It happened to me twice. The first time, I deciphered that it was an unresolved loop in the function. The second time I wasn't sure what was going on, and I figured it was a waste of my time, because I had neither useful information on the problem nor a way to aquire it other than tinkering at random.

At least in TI-BASIC, I knew what it was really referring to when it gave errors. Out of range matrix references were usually as bad as it got; carefully building my loops was the rest, basically.

I'm running back to Pygame now, since I don't need the 3d, nor do I need scrolling graphics, and I'll get a pile of great built-in Python data types to go with it. At first I had some misgivings about Pygame's capabilities because I ran some tests with bad code, but after careful inspection of other people's products with Pygame and then my code, I realized it had to be my code that was doing it. Then I realized it was also my LCD monitor that was doing it - the test moved a sprite made of black lines on a white background, at a resolution non-native to the monitor. I had also at the same time limited the framerate to something quite low, around 20 FPS, through a misunderstanding of the timer functions in Pygame. No wonder I thought it looked awfully choppy. :p