A Nostalgic Story
About 8 years ago, when I was just a kid, I began my coding journey with a school book — you know, the classic QBASIC chapter. I learned about variables, conditional statements, and control flow, writing small programs like basic calculators and whatnot.
But then, there was this one section at the end...
How to Draw Shapes in QBASIC Section
That single section changed everything. I learned how to draw rectangles, circles, and all kinds of shapes on the screen.
And then my brain started buzzing with ideas. You know what’s coming next… my very first game.
Starting Work On My Tank Game
If you’re a tech person, you’re probably thinking: “Who the hell makes games in QBASIC?” 😅
Well… an innocent 11-year-old me did.
I didn’t know how to Google things back then (heck, I barely knew what Google was). But somehow, with a school textbook and sheer curiosity, I stumbled into game development. I figured out how to build a game loop, draw stuff on the screen, and even manage inputs — all on my own.
Inspired by the tank game I used to play on my GameBoy, I decided to make my own.
Spoiler: I didn’t get even close.
Drawing Tanks with Boxes and Lines
I started with a rectangle for the tank’s body and drew a line from its center — my improvised gun barrel. Surprisingly, it looked tank-ish.
Then came movement. Instead of making the tank rotate smoothly, I went with a simpler solution: constant velocity. The WASD keys didn’t move it directly — they changed its direction, and the tank kept going. Bullets followed next. And then… I added a dummy opponent to shoot at.
Collisions? Uh-oh.
If you’ve done any game dev, you know this part: collision detection.
Now, imagine being 11 and trying to wrap your head around it without help.
Somehow (don’t ask me how), I managed to build a working collision system.
Bullets could hit the dummy tank, and the game would end. I even added bullet despawning — they’d disappear once they moved off-screen.
The Computer Bot (kinda)
I didn’t write any AI — I wasn’t a genius.
What I did do was… randomize everything.
I generated a random number and mapped it to tank actions. If it was a 3, the bot turned right. If it was a 7, it shot. Absolute chaos. But it worked.
The Chaos
It all sounds fine and dandy when you read it like this (I don’t have the code now), but hell — if you had seen it back then… It was a minefield of GOTO
statements, jumping from line 50 to 553 to who-knows-where.
The variables? Oh, don’t get me started — named things like x
, a4
, and b9
(no one told me you could actually write real names).
Imagine a thousand lines of that. ☠️
Utter. Chaos.
Conclusion
This project… It was buggy, messy, and absolutely hilarious in hindsight — but it was mine.
If you've ever built something as a kid and looked back years later... you know exactly how this feels.
Let’s rebuild it together (Not in QBASIC🙂) — and this time, we’ll do it right.
Catch you in the next part.
Top comments (0)