Live data from Hacker News

The best QBasic game ever?

pcworld.com

51–60 of 102 posts

Re: The best QBasic game ever?

#51
post #30
post #17

Earlier quoted context omitted.

He's already using SDL. Plus, QBASIC64 isn't a DOS environment. In fact, when you look at the specs for QBASIC64 then it's a little less impressive than first made out. It also makes me wander why he didn't just learn VB anyway (as the libraries in QBASIC64 would have required additional learning anyway). Even VB classic would have made more sense. Anyhow, this at least reminds the language elitists that a language i…

It's still impressive, though as you say, much less impressive than it seems at first glance. Doing anything useful in QBasic was such a major pain; from what I recall, to use the mouse(which wasn't supported), you needed to write an assembly procedure byte by byte, do a CALL ABSOLUTE to jump into that procedure and re-read the cursor position from memory.

Most of the "good" games of the 1990's were written in assembler, as were many of the "Demoscene" graphics demonstrations.

http://en.wikipedia.org/wiki/Demoscene

Re: The best QBasic game ever?

#53
post #37
post #32

Earlier quoted context omitted.

Yes, thank you. He is NOT using QBasic, it's QB64. He gets instant access to some pretty sweet functionality that was never in QBasic. Transparent PNG support, resolutions with more than 16 colors above 320x200, double buffering, TCP/IP, and the list goes on. Regardless, this guy is getting some awesome press with the QBasic thing. If you want to make money with games, it's all about the marketing. I'll give him a li…

QB64 also has multidimensional arrays, functions, while loops, "user defined types" (structs) ... apart from the lack of pointers, it's not all that far from C or Pascal once you ignore the syntactic sugar. (Or as pg calls it, "Algol with a funny hat".) Not to downplay his achievement - I'm sure making the game was a lot of work either way ... but implementing it in Basic doesn't seem especially praiseworthy.

Hey, guys! I'm the guy making this game! :D Yeah, I compile it in QB64 and use the SDL hooks in it to actually make it run on windows/mac/linux. But yeah, QBASIC has all those things you mentioned already.

Also, yeah, I use the big ugly eye-burning white-on-blue screen. You can see a photo of the development box here: https://twitter.com/manfightdragon/status/319786194395357185

Re: The best QBasic game ever?

#54
post #6

It's written in QB64, a slightly more modern variant of QBasic. http://www.qb64.net/

The original QBASIC binary doesn't even run on Windows any more. It requires DOSBox emulation to run.

It still runs fine on 32-bit Windows. But NTVDM is gone from 64-bit Windows which is probably much more common these days.

Re: The best QBasic game ever?

#55
post #48
post #46

He has a blog: http://www.manfightdragon.com You can see a video from there with some actual code: http://www.youtube.com/watch?v=y2nBge7wq6c It actually doesn't seem that bad of an environment, which is a reminder that we haven't gotten that far with programming since the QBasic days...

My girlfriend just told me that "this looks like something my cousin did" ... it turns out the guy is her cousin. Small world.

Hey, my cousin/your girlfriend just linked me to this. Thanks!

Re: The best QBasic game ever?

#56
post #37

Earlier quoted context omitted.

QB64 also has multidimensional arrays, functions, while loops, "user defined types" (structs) ... apart from the lack of pointers, it's not all that far from C or Pascal once you ignore the syntactic sugar. (Or as pg calls it, "Algol with a funny hat".) Not to downplay his achievement - I'm sure making the game was a lot of work either way ... but implementing it in Basic doesn't seem especially praiseworthy.

Hey, guys! I'm the guy making this game! :D Yeah, I compile it in QB64 and use the SDL hooks in it to actually make it run on windows/mac/linux. But yeah, QBASIC has all those things you mentioned already. Also, yeah, I use the big ugly eye-burning white-on-blue screen. You can see a photo of the development box here: https://twitter.com/manfightdragon/status/319786194395357185

I'm a little offended that you call this building a game in QBASIC when it clearly would not actually run in QBASIC. I built games in QBASIC growing up, and definitely didn't have access to the stuff you have in QB64. I was excited to hear about someone building such an impressive game using that toolchain, so it's a letdown to find out that it was a lie.

It's cool that you put constraints on yourself by using the BASIC syntax, but it's really dishonest to pretend this is being built in classic QBASIC and leverage it for press without making any distinction between the tools you're using and the tools people actually had available to them in QBASIC.

Quote from the PC World article, that is supposedly from you: "It would show that even old, abandoned tools and the most basic pieces of software can still be put in the hands of someone who wants to create their dream and result in beautiful things happening."

This to me suggests that your goal is to show that actual QBASIC, the abandoned programming tool from the DOS era, can be used to build cool games. A noble goal. Using QB64 and SDL and a bunch of modern tools, however, does very little to achieve that goal.

Maybe this is just nit-picking, but QBASIC is a very specific name - the name of a particular BASIC interpreter that came with versions of DOS. You could have easily been more general and said you were building the game in BASIC, and been completely accurate, but then I suppose that wouldn't have gotten you an article on PC World.

And to give some context, I have in the past encountered people who were ACTUALLY building cool modern games in QBASIC. They did this by writing commands out to disk from their QBASIC game and then running windows apps to do the work of talking to libraries in order to do MIDI playback or read from game controllers. This, at least, counted as using QBASIC, and was quite a feat of engineering - even if those games weren't pure QBASIC.

The game looks cool, though!

Re: The best QBasic game ever?

#57
post #13

I used to write level editors for a game called monospace when I was a kid. Still a pretty cool game. Here's a gameplay video: http://www.youtube.com/watch?v=A_K6yB3OsGs

I loved that game. It's a great game with a sad story behind it. I believe the author died of cancer shortly after finishing it.

Yep. The author was Milo Sedlacek (aka Gradius). If I remember correctly, he finished Monospace something like a year before he died. I only knew him through IRC, and I recall how weird it was for everyone to go through it at the time. Most of us were just kids and didn't really have any experience with someone "our age" dying.

Re: The best QBasic game ever?

#58

Earlier quoted context omitted.

Hey, guys! I'm the guy making this game! :D Yeah, I compile it in QB64 and use the SDL hooks in it to actually make it run on windows/mac/linux. But yeah, QBASIC has all those things you mentioned already. Also, yeah, I use the big ugly eye-burning white-on-blue screen. You can see a photo of the development box here: https://twitter.com/manfightdragon/status/319786194395357185

I'm a little offended that you call this building a game in QBASIC when it clearly would not actually run in QBASIC. I built games in QBASIC growing up, and definitely didn't have access to the stuff you have in QB64. I was excited to hear about someone building such an impressive game using that toolchain, so it's a letdown to find out that it was a lie. It's cool that you put constraints on yourself by using the BA…

Yeah, the game's written in the QBASIC language but I certainly don't use QuickBASIC 4.5 or PDS to compile it.

Re: The best QBasic game ever?

#59
post #4
post #2

I can't find anything definitive but I suspect it would be less confusing to say "created by Microsoft" than "created by IBM". It seems Microsoft developed it but IBM somehow wound up with the copyright. en.wikipedia.org/wiki/Gorillas_(video_game)

Back then Microsoft was working for IBM, so it's not that surprising that IBM ended up with the copyrights for QBASIC. What's more surprising is that IBM didn't end up buying the whole of DOS outright (but that's another topic entirely). Also, I seem to recall reading (or seeing a video interview) where Bill Gates said QBASIC was his last ever coding job.

Oh, I see. It still seems lamesauce for an article that's targeted toward techies to say that IBM created it. Seems like it's a journo looking for a story rather than someone who really cares about the subject matter. Oh well, it was interesting, but I'd rather read a blog post about it than a MSM magazine article.

Re: The best QBasic game ever?

#60
post #49
post #37

Earlier quoted context omitted.

QB64 also has multidimensional arrays, functions, while loops, "user defined types" (structs) ... apart from the lack of pointers, it's not all that far from C or Pascal once you ignore the syntactic sugar. (Or as pg calls it, "Algol with a funny hat".) Not to downplay his achievement - I'm sure making the game was a lot of work either way ... but implementing it in Basic doesn't seem especially praiseworthy.

QBASIC allows for functions (as well as subroutines), looping (while, for, do-while), structs (type) as well as multidimensional arrays. That said, all I really remember from my QBASIC days is abusing the crap out of GOTO. Apparently QB64 can directly access C header files as well as Windows DLLs [1], although I don't think the author used any external modules. The source is described as being a solid monolithic bloc…

Heya, yeah I don't use 3rd party libraries but the compiler hooks SDL to do the screen init work.

If I get on Steam, I'll be able to use the DLL features to implement SteamWorks API

Post reply on HN