GORILLAS.BAS or simply GORILLAS is an interesting piece of history. GORILLAS, on the surface, is an old artillery game where you must throw exploding bananas at your opponents across the screen. It’s actually a very simple game really, but what’s more important is the history.
Let me bring you back to a time before the modern programming languages of today existed, such as .NET, Java, and JavaScript. What’s the different between Java and JavaScript? Nothing! … Or is it something? Ah well, the important thing to note is that back in the ’80s, there were much fewer languages to program with that were easily accessible to your basic computer user. Thus, the programming language BASIC was invented, which stands for Beginner’s All-purpose Symbolic Instruction Code. A basic language for a basic man. But, once man grew tired of scraping his knuckles on the server room floor, he stood erect and screamed, “Isn’t there something easier? Something quicker?” And lo, Microsoft gave us QBasic, the Quick Beginner’s All-purpose Symbolic Instruction Code. It was never clear to me if the beginner must be quick to learn it, or that the beginner can learn quickly. Probably the latter, as QBasic eliminated the need for typing line numbers and other such drivvle. You can read all about it here.
But what does this have to do with GORILLAS? Well, to get people on board with QBasic and IBM computing in general, IBM produced two games that would come with the QBasic development environment. The first was GORILLAS.BAS, and the other was NIBBLES.BAS (you may know this as Snake). The .BAS is the file extension for BASIC and QBasic source codes. Not only did IBM release a neat game for free, it was also open source—meaning you can go and examine the code and even change it and run the game. For many such as myself, it was the first introduction in to a real program beyond the “hello world” that many of us have written in QBasic. It was here that I graduated from writing ASCII Art hannukah menorahs in BASIC and started taking baby steps at examining more mature programming concepts such as loops, functions, and exploding apes.
It was here that I hacked my first code. When hurling bananas at the enemy, you may end up throwing the fruit into the sun, which causes the sun to have a surprised look on his face. A flag controls this state, which is set to false at the start of a match, but I managed to figure out where this flag was (ShotInSun = FALSE) and default it to true, which caused the sun to always be surprised. It may not sound like much, but it was a catalyst that would drive me into my career choice today. I know that many other people played around with the source code, too, and owe a lot to IBM and GORILLAS.
But let’s look a bit closer at the game. As I mentioned, you must hurl your bananas at your enemies, which explode on contact. You type in your angle and velocity, adjusting for the wind indicator at the bottom, and do your throw. In addition to this, the original QBasic version also let you modify the graviational force of the planet. So, you could modify things so it’s like you’re playing on the moon. You take turns throwing the banans in the randomly generated city until someone dies. There’s really not that much more to say about this, but it is pretty awesome considering it is free, fun, teaches you basic geometry and physics, and was open source. By todays standards, it’s pretty antiquated looking, but it’s so simple that it’s still playable today. Graphics wise, it was pretty poor compared to the other games of the timeframe, but it was a pretty solid outing that I spent many a few hours playing against my brother, keeping a tally of the angle and velocity inputs as we tried to hone in on the gorillas. The fact that it helped nudge so many people into the world of computers makes taking a look at this game really worth it. I find this hard to rate since there really aren’t other QBasic games out there, but it’s certainly one for the history books and it’s still fun to play.
To play the game today, you can download QBasic, or play a variety of ports available in Python, Flash, and others. The QBasic source code is available here.
Man. I definitely dedicated some time to this game, back in the day. I think something was up with my copy, though… Halfway into the code, it just turned into a bunch of random characters. Like, the DOS smiley faces and heart/diamond/club/spade symbols and stuff just randomly strewn about. The game still played, but I couldn’t mess with the code past that point.
Ah, it seems you stumbled in to extended ASCII, the backbone of Dwarf Fortress.
http://gamecola.net/2013/04/dwarf-fortress-pc/
You probably changed some code inadverantly. I think I did that as a young lad, too. I’m not sure if I reverted it somehow, or hacked it back to working order.
I used to play this game with my dad! After a GameCola Team Let’s Play of Dokapon Kingdom, I’d like to request this please.
Wait, there’s gonna be a Let’s Play of Dokapon Kingdom? 😮 Am I not allowed in on this?
There will if I have anything to say about it! …Which I don’t.
Aw 🙁 I was getting excited.
The power is YOURS! Make it happen!
If it is able to happen, then I’m all for it!
I am not opposed to a GORILLAS GameCola bracket. 🙂 The trick is that there’s no network play. However, we could broadcast a host machine’s screen to other players on Skype or something else, and just have a trusted controller punch in Angle and Velocity inputs.
Best two out of 3 brackets, or round robins, or fantasy football, or however people do it.