6 ms·
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
by klipt 14y ago
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.
- shrughes 14y ago"Real" QBASIC has structs, maybe some of the other things.
- wvenable 14y agoYeah QBASIC has multidimensional arrays, functions, while loops, structs. But I agree with your point, QBASIC is pretty much like C or Pascal without pointers.
- doktrin 14y agoQBASIC 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 block of 12k lines worth of BASIC, which in and of itself is fairly throwback-worthy. [1] http://en.wikipedia.org/wiki/QB64 http://en.wikipedia.org/wiki/QB64 edit : checked an old QBASIC manual to confirm whether or not multidimensional arrays (2+) were supported DIM cube(3,5,4)
- manfightdragon 14y agoHeya, 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
- manfightdragon 14y agoHey, 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 https://twitter.com/manfightdragon/status/319786194395357185
- kevingadd 14y agoI'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!
- 14y ago