Black Annex: A QBasic Game for the 21st Century (2013)
gamasutra.com
gamasutra.com
This seems to be written in QB64 using SDL with OpenGL surfaces.
QBasic was only capable of 320x200 with 256 colors.
Back in those days, drawing a pixel was just writing to the vga memory buffer, so it was pretty easy.
Wow.
I am really curious all the things he had to write himself to make this work. I presume he's basically written his own isometric game engine and map editor from scratch in QB, which is... impressive.
I kinda wish he'd ship the code with the game... I want to see it.
http://www.qb64.net/forum/index.php?topic=12348.0
Though it won’t compile with ordinary QB compiler.
$ curl -s https://gist.githubusercontent.com/anonymous/8fdec5275b2c3e81e1e1/raw/blannex | wc -l
23708
Impressive. I wonder if it's edited as a single file.If you want to look at / edit a different subroutine you open the sub routine selection dialog and select the one you want which then becomes the currently displayed one.
In the same way, if you want to add a new subroutine to the program you open the subroutine creation dialog, give it a name and then the IDE automatically makes the newly created subroutine the currently displayed one. I.e. you are only ever looking at one subroutine at a time.
Screenshot of the subroutine selection dialog: http://synapticnulship.com/blog/wp-content/uploads/2011/01/q...
Sounds limiting to programmers used to modern IDEs where you usually look at multiple functions at once, but I remember it fondly. There is something to be said for completely focusing on one sub routine at a time and for the IDE presenting your program that way, while everything is actually stored in one big file.
Here's the latest gameplay video: https://www.youtube.com/watch?v=gkYcmipETak
And you can wishlist it on Steam at the moment: http://store.steampowered.com/app/248590/Black_Annex/
Well done! I'll add to my Steam list =]
QBASIC was a limited, interpreter-only version of QuickBASIC which you got for free with MS-DOS.
QuickBASIC was a separate commercial product from Microsoft which did include an AOT native code compiler.
QBasic was intended as a replacement for GW-BASIC. It was based on the earlier QuickBASIC 4.5 compiler but without QuickBASIC's compiler and linker elements.
So, from this, QBasic was not able to generate .EXE's.Then again, this was written in QB64, which can do things that would've been wildly impractical in QBasic itself.
maybe a modern way to do somethign like this would be pico-8 https://www.lexaloffle.com/pico-8.php
Pretty mighty achievement though: no engine, no frameworks, no graphics SDK, a quirky language...
- Why would a framework be necessary?
- QB64 provides a graphics API, a wrapper around SDL and OpenGL.
- QBasic isn't that quirky, and QB64 looks like it pretty massively expanded the language. QBasic itself allowed for struct types, a limited dynamic memory allocation, and the standard flow control structures.
The author apparently modified QB64's use of SDL/OpenGL to handle some scaling differently.
It's impressive as a solo game project and interesting for the nostalgic connections. I respect anyone who can get through a project like this on their own, but it just doesn't seem that unusual.
Was not aware of the extensions made in QB64 over QBasic (though I knew the author had extended QB64) - thanks for pointing that out.
And most of what I've played reach back before then too ;-) My point was that Unity's probably been used for "just" a few hundred games, mostly in the past 4 years.