Live data from Hacker News

Black Annex: A QBasic Game for the 21st Century (2013)

gamasutra.com

11–20 of 40 posts

Re: Black Annex: A QBasic Game for the 21st Century (2013)

#12
post #3

How is this game distributed? If I remember correctly, QBasic was bundled with MS-DOS (from v6 onwards I believe) and wasn't able to produce EXE's. QuickBasic was a separate commercial version that was the able to produce .EXE's.

This is written using QB64[0] which is a modern environment compatible with QBasic. It emits C++ which is then compiled with GCC.

[0] http://www.qb64.net/

Re: Black Annex: A QBasic Game for the 21st Century (2013)

#14

I just found this video of it. Incredibly impressive if that is QBasic. https://www.youtube.com/watch?v=ZqlveWIhCFI#

Back in the day there were SVGA libraries (like aklib) that allowed high-resolution (like 1280x1024 modes) graphics; but even on contemporary GHz desktop processors it wasn't fast. Also sound systems using background daemons that relayed stuff to DirectSound (or FMOD, not entirely sure after all these years).

This seems to be written in QB64 using SDL with OpenGL surfaces.

Re: Black Annex: A QBasic Game for the 21st Century (2013)

#15
post #4

The screenshot is telling: "Framerate: 4" Pretty mighty achievement though: no engine, no frameworks, no graphics SDK, a quirky language...

- Most 2D games I've played use their own engine.

- 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.

Re: Black Annex: A QBasic Game for the 21st Century (2013)

#16

QBasic was the first language I dabbled in as a kid. This is absolutely insane!

Ditto. I got as far as doing some basic 3D graphics in it (rotating spheres and such), an Asteroids clone, and arpeggiating chords for "harmony" from the PC speaker, but nothing quite like this.

Then again, this was written in QB64, which can do things that would've been wildly impractical in QBasic itself.

Re: Black Annex: A QBasic Game for the 21st Century (2013)

#17
post #9

QBasic was the first language I dabbled in as a kid. This is absolutely insane!

Same - I remember being in elementary school, playing nibbles or gorillas and then poking around in the source, trying to figure out what it was doing.

Nibbles or gorillas brings back memories...

Re: Black Annex: A QBasic Game for the 21st Century (2013)

#18
post #11

i taught myself c by prototyping programs in qbasic and then converting them to c. nice language, and for their time, the integrated help files were some of the best i've seen.

Bingo. My computer as a kid wasn't even connected to the internet so those help files are the only way I would have learned. That, and breaking the few programs that were included with it.

Re: Black Annex: A QBasic Game for the 21st Century (2013)

#19

"The game, at the moment, requires about 2.6GHz on a single core to run good. It's just about unacceptable for a game that looks like it was made in the 90s." 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…

Here is the code: 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.

Re: Black Annex: A QBasic Game for the 21st Century (2013)

#20
post #3

How is this game distributed? If I remember correctly, QBasic was bundled with MS-DOS (from v6 onwards I believe) and wasn't able to produce EXE's. QuickBasic was a separate commercial version that was the able to produce .EXE's.

The original QuickBasic/QBasic could definitely generate standalone compiled EXEs using the Basic Compiler (BC.EXE). IIRC it wasn't included until QBasic 4.5 and was expanded further in QB7 (aka Basic Professional Development System).
Post reply on HN