The FreeBASIC community is an interesting one. It came into being like a phoenix, rising from the ashes of the QBASIC community (even though we still call it the Qmunity). QBASIC programmers have brought with them the long experience of decades. After all, if you know QBASIC, you’re right at home with FreeBASIC. Unfortunately, with all these experienced programmers around, it seems that we have forgotten something vital : The Noob’s Robot Slave. I’ve written this article to remind you what that is and give you proper instructions for re-activating it.
Most of us started programming BASIC a decade or more ago, and yes, that’s a long time. Some of us started with the Vic-20, some of us started with QBASIC. No matter what each of us started with, we all started the same way : with an amazing computer. Our very own electronic brain.
You should remember that time. Back then, computers were not as common as they are today. Having your own computer was something special, something exciting. Before you even had your own computer you had heard about the wondrous things it could do. It could play games, it could balance your checkbook, it could play games, it could help you write your report, and it could play games. All it needed was a disk or cassette tape and your amazing new electronic brain could do anything. Anything!
But then, one day, you found out that you could turn this digital genius to your own nefarious purposes. So you opened the manual, read about a few commands, and few minutes later, the screen probably looked like this :
READY. 10 PRINT "I AM YOUR LOYAL AND OBEDIENT ROBOT SLAVE." READY. RUN I AM YOUR LOYAL AND OBEDIENT ROBOT SLAVE READY.
In sheer amazement, you discovered that you had your own robot slave. You didn’t need premade software. You, yourself, could make your amazing electronic brain do anything. Anything! Bwa ha ha ha! All that was left now was to learn how to tell it to do your evil deeds.
So you read the manual some more. You bought some books with short and sweet BASIC games in them. Some of them I’m sure you fondly remember. You discovered how to make a random insult generator, a space trading game, or a simple interactive story - usually in less than 100 lines of code. These little games taught by example as you spent many happy afternoons playing with their code. You improved the code, added new features, and changed the name of the evil nemesis to the name of your math teacher.
Eventually, you learned how to make your own games. A bit of code from here, a bit of code from there, a bit of sweat, creativity and ingenuity and your latest, greatest work was complete! You worked on more projects. Made better games. Experimented with dubious code of your own design. You poked your robot slave to give you all of its secrets. After all, you had become its complete master.
This is the simple joy of programming, and how it turns a noob into a good programmer.
The FreeBASIC community is lacking in this kind of experience. It seems we are focused on cutting-edge programming techniques. We marvel at all the new things that FreeBASIC can do that QBASIC couldn’t. We gawk in awe at the newest 3D demos while our roots lie withering.
Its sad that all these great little programs and games, so often ported to QBASIC during the days of yore, are almost completely forgotten in FreeBASIC. And few new ones are being written. This is natural, considering the phoenix-like birth of FreeBASIC. It came fully formed, ready to continue on from where QBASIC died. Unfortunately, the robot slave lies in the ashes of the phoenix, and with it, the sheer piss in your pants joy of programming.
We need to help noobs have the same fun experiences we had with the same types of games. We need to re-embrace simple, creative text games that the noob can write and understand. They need to discover that they, too, have a robot slave in their computer, learn to tell it to do nefarious deeds, and eventually master it in almost exactly the same way we did.
So write a random insult generator, a space trading game, or a simple choose-your-own-adventure style game. They’re not outdated, they’re our roots. Post them in the FB Game Dev forum, make your own website about them, or even write an ebook full of them. You’ll be helping future FB noobs, preserving our roots, rediscovering the joy of programming, and who knows, you could become the next David Ahl or Tim Hartnell.