GAME JOBS
Latest Blogs
spacer View All     Post     RSS spacer
 
June 7, 2013
 
Postmortem: Game Oven's Bam fu
 
Tenets of Videodreams, Part 3: Musicality
 
Post Mortem: Minecraft Oakland
 
Free to Play: A Call for Games Lacking Challenge [2]
 
Cracking the Touchscreen Code [4]
spacer
Latest Jobs
spacer View All     Post a Job     RSS spacer
 
June 7, 2013
 
RealTime Immersive, Inc.
Animation Software Engineer
 
Havok
Havok- 3D Software Engineers (Relocate to Europe)
 
Social Point
Senior Game Developer
 
Treyarch / Activision
Senior Environment Artist
 
Trendy Entertainment
Gameplay Producer
 
Sony Computer Entertainment America - Santa Monica
Sr Game Designer
spacer
Latest Press Releases
spacer View All     RSS spacer
 
June 7, 2013
 
Indie Royale Presents The
Arclight Bundle
 
A space hero among us
 
Make Family History! 7
Grand Steps: What
Ancients...
 
Who is Harkyn?
 
Faguo Games is proud to
announce the launch of
its...
spacer
About
spacer Editor-In-Chief:
Kris Graft
Blog Director:
Christian Nutt
Senior Contributing Editor:
Brandon Sheffield
News Editors:
Mike Rose, Kris Ligman
Editors-At-Large:
Leigh Alexander, Chris Morris
Advertising:
Jennifer Sulik
Recruitment:
Gina Gross
Education:
Gillian Crowley
 
Contact Gamasutra
 
Report a Problem
 
Submit News
 
Comment Guidelines
 
Blogging Guidelines
Sponsor

  Black Annex: A QBasic game for the 21st century Exclusive
 

April 15, 2013   |   By Mike Rose

Comments 6 comments

More: Console/PC, Indie, Programming, Design, Exclusive, Video





Black Annex is a nifty-looking stealth strategy game from Lance McDonald of Australian indie studio Man Fight Dragon. What really makes the game stand out is that it has been written entirely in the decades-old QBasic programming language.

"When I was like 10 years old I sent a floppy disk to Epic MegaGames [former name for Gears of War studio Epic Games] featuring a game I made in QBasic and they never wrote back to me," says McDonald. "Well, who's laughing now?"

QBasic is what McDonald grew up on, and he knows it better than any other language. "I wanted to spend time creating a game, not learning new skills with Black Annex," he explains. "From the start, I knew I was proficient enough in QBasic to finish the entire project."

He reasons that if he'd targeted, say, C++ with OpenGL or DirectX, he would have ended up making a heap of fundamental mistakes, and may never have finished up development on the game.

"I wanted to make a game, not learn new skills," he reiterates. "This was the best way for me to do that based on my history with computers."

Of course, there's a reason why certain programming languages have fallen away in favor of newer codebases. Many of the languages that were popular before the turn of the century featured numerous limitations, and QBasic was no different.

black annex 1.jpg"The primary issues with the way I am developing Black Annex is that I can't touch the GPU," McDonald notes, "so I need to do my damned best to make the game run fast.

There are also plenty of other issues with the way the QBasic handles certain aspects of development too, such as how you're limited in handling arrays -- "but things like that aren't a problem because I am just completely used to that," McDonald says.

"It's the speed that forces me to do things as clean and fast as possible," he adds. "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. I just have to do my best with my abilities and ship what I can at the end of the day."

But this isn't putting him off using QBasic again in the future. "There will be one more product from Man Fight Dragon in QBasic after Black Annex, at the very least," he says, although he adds, "I won't use any other old languages or any other goofy stuff - QBasic was just chosen for my own personal skill, not as a gimmick."

Black Annex (which is on Steam Greenlight) is due for release later this year on Windows PC, with Linux and Mac OS builds to follow.
 
 
Top Stories

image
How Kinect's brute force strategy could make Xbox One a success
image
Microsoft's official stance on used games for Xbox One
image
Gearbox's Randy Pitchford on games and gun violence
image
Why you can't trade items in MMOs anymore


   
 
Comments

Glenn Storm
profile image
QBasic is awesome, this is great! Using a known language (read: old skool) to learn systems, processes and to experiment is a great way to focus on what you want to learn with less chance of getting distracted or thrown off course. This game looks great!

Kevin Fishburne
profile image
Nice work Lance. If you're into Linux you might want to give GAMBAS a try. It's a BASIC dialect and IDE, is object oriented and supports a ton of components including OpenGL, GLSL, SDL, networking...you name it and it's there practically.

Funny thing is your story parallels mine exactly (which is why I use GAMBAS). Had I chosen anything else the project time would have quadrupled.

http://gambas.sourceforge.net/
http://gambasdoc.org/help/comp?v3

Gryff David
profile image
This is amazing! Reading articles like this makes me realise all us indie devs come from the same mould! I started learning to program in QBasic when I was about 8 too and also working on small games, experimenting etc. I've now moved onto C++ and C#, but lots of my favourite programming memories come from just learning the basics and making small games in QBasic. Love this article.

Todd Boyd
profile image
If only you didn't have to deal with that damn abstraction layer. There were actually some pretty nifty hacks you could pull off in Q(uick)Basic back in the day with direct access to the hardware.

Kevin Fishburne
profile image
I used Fastgraph, which was a graphics library programmed in Pascal for QuickBASIC 4.5. It let you do a lot of bit-blitting type stuff, image loading and playing wav files. Really took things up a notch for QB games. I remember I could do full screen scrolling at 320x200@8bpp at a reasonable frame rate, do color cycling, smooth palette transitions, all sorts of cool stuff. Those were the days...

Nick Harris
profile image
I'd sooner play this than stupid macho Gears...

I quickly sided with the Locust, it was their planet after all.


none
 
Comment:
 




 
UBM Tech