19 ms·
The best QBasic game ever?
- jessedhillon 14y agoThe gameplay video reminds me of the early 90s game, Syndicate http://en.m.wikipedia.org/wiki/Syndicate_(video_game) http://en.m.wikipedia.org/wiki/Syndicate_(video_game)
- RawData 14y agoIt's no Nibbles...
- benatkin 14y agoI 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)
- laumars 14y agoBack 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.
- benatkin 14y agoOh, 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.
- laumars 14y ago> Seems like it's a journo looking for a story rather than someone who really cares about the subject matter. Welcome to the world journalism. It's full of people who either aren't technical enough to work in the field they're reporting on, don't care that much about such industries (they're reporting on it for the love of journalism/writing), or have to dumb stuff down so much to appeal to a wider audience that the article loses accuracy / objectivity.
- taternuts 14y agoThere has definitely been additional libraries added since the making of "Gorillas", but still it's pretty impressive. He's been posting updates to /r/gamedev (http://www.reddit.com/r/gamedev/comments/12urov/im_making_a_game_in_qbasic/ http://www.reddit.com/r/gamedev/comments/12urov/im_making_a_...)
- profquail 14y agoThe author also posted a bunch of information about Black Annex on /r/IndieGaming: http://www.reddit.com/r/IndieGaming/comments/1bqegf/i_put_my_qbasic_game_on_greenlight_and_its/ http://www.reddit.com/r/IndieGaming/comments/1bqegf/i_put_my...
- Scaevolus 14y agoIt's written in QB64, a slightly more modern variant of QBasic. http://www.qb64.net/ http://www.qb64.net/
- laumars 14y agoThe original QBASIC binary doesn't even run on Windows any more. It requires DOSBox emulation to run.
- ygra 14y agoIt still runs fine on 32-bit Windows. But NTVDM is gone from 64-bit Windows which is probably much more common these days.
- dpcan 14y agoYes, 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 little more credit if he used that tiny dos-box blue editor that comes with QB64 to code the entire game tho :)
- fyi80 14y agoHe is running on a much stronger system (with respect to syscalls and hardware support), but it's basically the same language.
- zapdrive 14y agoYes, comparing it with the IBM's Guerillas game is like comparing apples to oranges.
- klipt 14y agoQB64 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.
- baddox 14y agoHow would it perform on a state of the art personal computer in 1991, when Gorillas was released?
- jere 14y agoIt wouldn't according to this: >Black Annex requires at least a 2.6GHz processor due to the scope of the project and the unoptimized multi-dimensional arrays.
- tdicola 14y agoWow, as someone who played with making games using QBasic on a 486 as a pre-teen I am seriously impressed. I have to chuckle at requiring such a fast processor to run well though. Assuming the author doesn't rely on too many DOS game programming tricks (I remember having to peek and poke various memory locations to trigger esoteric video resolutions, etc.) it probably wouldn't be too hard to convert this to run on visual basic & a .net wrapper of SDL or some basic graphics library.
- laumars 14y agoHe'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 is only as powerful as the developer who's wielding it.
- jfim 14y agoIt'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.
- D9u 14y agoMost 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 http://en.wikipedia.org/wiki/Demoscene
- nollidge 14y agoQB64 appears to compile to various platforms, while VB does not. Also, VB is pretty GUI and event-centric. QBasic is a pretty good local maximum of being quite expressive while still being a strictly procedural language.
- doktrin 14y agoThis is very, very cool. Speaking as someone who also wrote QBASIC games as a child, this evokes sharp pangs of nostalgia. I happen to have an old QBASIC book (pub 1993) next to me, and was skimming through it shortly before coming across this article. Random file I/O : OPEN filename$ FOR RANDOM AS [#]filenumber LEN=recordlength The book then goes on to provide helpful ways to guesstimate at the record length of a file on disk. Drawing 2-D "staircases" diagonally in both directions across the screen : PSET (0,0) FOR p = 1 TO 25 LINE -STEP(25,0) LINE -STEP(0,15) NEXT p PSET (639, 0) FOR p = 1 TO 25 LINE -STEP(-25,0) LINE -STEP(0,15) NEXT p END Nostalgia, indeed :P
- tdicola 14y agoI remember buying this book as a kid http://www.amazon.com/Qbasic-Games-More-Fred-Sexton/dp/1565292316/ http://www.amazon.com/Qbasic-Games-More-Fred-Sexton/dp/15652... and literally poring over it for hours (before the internet, you had a lot of free time as a kid) to see how to make neat graphic effects and games.
- illuminated 14y agoJust realised, same indentation and no-end-character rules as python :) Although I've been writing qbasic back in the days and now writing python for fun, I've never realized this before...
- laumars 14y agoNearly every programming language follows those same indentation rules. And it's pretty common for languages not to have line termination characters too. What you're describing is pretty normal rather than a delightful coincidence.
- damncabbage 14y agoIt's not white-space sensitive; "FOR" is the start of the loop, and "NEXT p" is something approximating the end (a goto or sorts).
- nollidge 14y ago
- opinali 14y agoI still vote for Gorillas :)
- fizx 14y agoI 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 http://www.youtube.com/watch?v=A_K6yB3OsGs
- davexunit 14y agoI 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.
- jordan0day 14y agoYep. 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.
- bluedino 14y agoReminds me of 'Slumming with BASIC programmers' - http://prog21.dadgum.com/21.html http://prog21.dadgum.com/21.html I was always amazed at the guys on CompuServe/AOL (and later GeoCities) who were writing RPG's in QBasic. I guess I was mostly impressed by the graphics they made, but they kind of proved to me you could write more than hangman or Nibbles in BASIC.
- songgao 14y agoWhen I was a child, nibbles was my favorite: http://www.youtube.com/watch?v=fZF6tnrfAX0 http://www.youtube.com/watch?v=fZF6tnrfAX0
- stuaxo 14y agoSomewhere in the depths I've got a version of this I customised ... up to 4 players, powerups, cheats and about 20 levels.. [and probably loads of bugs]
- nollidge 14y agoThat's pretty awesome. I wrote a SCREEN 13 graphical version from scratch. IIRC, the snake sprites were gradient blocks that were procedurally generated, and then used GET and PUT to pick and place them. Wish I still had a copy of that stuff that I could put on Github!
- boyter 14y agoI always thought that DarkDreads Mysterious Song was the most impressive QBasic game, http://darkdreams.rpgdx.net/downloads.html http://darkdreams.rpgdx.net/downloads.html This looks like it might take the title though.
- LolWolf 14y agoPossibly one of the coolest/most nostalgic things I've seen in some time. Badass indeed.
- songgao 14y agoIn case anybody also wanna review those classical QBASIC games, I've just found Boxer.app[1], a free DOS emulator on Mac. And there's also a big collection of DOS games for free download[2]. [1] http://boxerapp.com/ http://boxerapp.com/ [2] http://www.dosgamesarchive.com/ http://www.dosgamesarchive.com/
- polemic 14y agoHah, reminds me of back in my grade 8th grade (equivalent - ~13 years old?) 'typing' class (circa 1995) - a friend made a 3d engine in QBasic that let you fly a wireframe spaceship around. It was pretty amazing, all things considered.
- aerolite 14y agoA friend of mine also made a 3d engine with QBasic that was a racing game when we were in 9th or 10th grade. I remember as he was developing it he was referring to a trigonometry book for a class that he hadn't yet taken. It was totally ridiculous and awesome.
- shmerl 14y agoI remember playing around with that Gorilla code adding custom bananas which exploded half the screen, hehe :)
- Klinky 14y agoProbably one of the better games that runs within the original QBASIC was Wetspot/Wetspot 2. http://www.youtube.com/watch?v=nv9VDvvGRkQ http://www.youtube.com/watch?v=nv9VDvvGRkQ
- autodafe 14y agoLots of memories there. Fun fact - the programmer of that game went on to contribute to the Allegro graphics library. Going from QB to DJGPP+Allegro seemed like a natural progression, and quite a few people in the QB community followed a similar path.
- markhelo 14y agoAnyone with a ZX Sinclair Spectrum Basic game code? I need to walk down nostalgia too!
- 1mrankhan 14y agooh man, this reminds my childhood. I used to play every qbasic games.
- craigching 14y agoNot QBasic, but this was my first PC programming "experience" [1]. I got tired of typing these in, so I would con my Dad's secretary to type these in because she could type (I didn't really understand at the time that a secretary typing wasn't the same as a programmer typing :P). Some worked, some didn't and I think I wasn't really old enough at the time to understand why they wouldn't, but I have a lot of fond memories and pride at getting these to work. [1] http://www.amazon.com/BASIC-Computer-Games-Microcomputer-Edition/dp/0894800523/ref=sr_1_1?ie=UTF8&qid=1366169968&sr=8-1&keywords=basic+computer+games http://www.amazon.com/BASIC-Computer-Games-Microcomputer-Edi...
- BHSPitMonkey 14y agoJust wait until PC World finds out what some game developers are making these days using C++, a language from 1983!
- drakaal 14y agoI think Gorrila's was the ultimate Qbasic game. It was "Scorched Earth" before Scorched Earth was a game. I learned programming by turning Gorrila's in to a game with buildings that moved every turn, and changing the graphics.
- nollidge 14y agoAccording to Wikipedia, that style of game goes back to at least 1976: http://en.wikipedia.org/wiki/Artillery_game http://en.wikipedia.org/wiki/Artillery_game
- rm999 14y agoI learned how to program by reading through the code for qbasic gorillas (the game in the video in the article) back when I was a wee lad. Therefore, gorillas is the best game ever to me. That said, qbasic was maybe not a best first language - I became a much better programmer when I learned C++ years later. Still, I really really appreciate that as a young child I had access to a fun game with the source code revealed. It changed my life.
- joeshaw 14y agoI am also very thankful for the source for Gorillas and many simpler BASIC games before it. I started out by adding color to many existing text BASIC games and then moved on to writing my own. Years later a friend of mine and I added modem support to Gorillas so we could play each other from our houses. Of course Scorched Earth would have been better, but we didn't have the source to that, nor the programming ability to add it at the time.
- stiff 14y agoHe has a blog: http://www.manfightdragon.com http://www.manfightdragon.com You can see a video from there with some actual code: http://www.youtube.com/watch?v=y2nBge7wq6c 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...
- froo 14y agoMy girlfriend just told me that "this looks like something my cousin did" ... it turns out the guy is her cousin. Small world.
- manfightdragon 14y agoHey, my cousin/your girlfriend just linked me to this. Thanks!
- deleted 14y ago[deleted]
- trevorcreech 14y agoThis is some of the first non-trivial code I ever wrote: http://trevorcreech.com/tmp/SHOOTEM.BAS http://trevorcreech.com/tmp/SHOOTEM.BAS I loved QBasic.
- precisioncoder 14y agoThis was the first programming language I was taught. I got super excited with it, by the second class I already had a working etch-a-sketch. By the third I was writing a roguelike based on Moria. At the point my teacher told me to do my own thing and went back to trying to get the other less enthusiastic students to learn. I had a blast that semester, loved that class.
- DanBC 14y agoThe game author can't really be blamed for the awful article. Putting a screenshot of the game above a video of Gorillas, and then claiming they're both written in the same language, is misleading.
- manfightdragon 14y agoYeah, I was really shocked by that angle when I saw it in the article. It's pretty bad.
- daigoba66 14y agoI wrote a game in QBasic when I was 10. At the time I didn't understand the concept of a sub routine _returning_ after being called. So the end of each sub just called another sub (perhaps even the calling sub to create loops). You won by beating the game before getting a stack overflow.
- blablabla123 14y agoI also used QBasic as a child, I had some GWBasic book as references which rooouuughly matched the Syntax and provided functions. But I also remember not really understanding sub routines... Anyway, this was my experience with goto and good old fashioned spaghetti code ;)