Tuesday, October 8, 2019
I'm a frequent consumer of The Lunduke Show, a podcast-video-linux thing put together by Bryan Lunduke. One of his recent videos was all about BASIC, which got me remembering how I got into programming and game dev.
Circa 2001 or so, I was a middle school student in Holland, NY, big into computers and tech and not a whole lot else. I'd known for a bit I really wanted to get into making games or something similar, but my feeble attempts at trying to do it didn't get me very far (the best I got was a very nice email response from a Nintendo representative regarding my request for an N64 dev kit - they pitched me on DigiPen). One day while bumming around the library I found a pair of small hardcover books with BASIC and PROGRAMMING in the titles. Intrigued, I pulled them out to find they were both introductory texts on how to write programs in BASIC on the Commodore PET, TRS-80, and the Apple ][.
Conveniently we had two Apple ][e machines in the library. For whatever reason, one of the english teachers used some test software that ran on them, so they kept them running just for that. And since the tests were rare, the machines sat mostly unused. So I started using my time in the library working through the books, writing the programs as quickly as I could. I didn't have any 5 1/4" floppies to save my code on, so every time I jumped on I had to start over if I didn't finish what I was doing last time.
I did eventually work through both books. I think the most original thing I wrote was a mad libs thing that I left running when the period was up, foolishly thinking somebody would stumble upon it and be amazed by the wonder of typing in a word and having it substituted into a string.
A little while after this is when I got my first computer, some old garbage-picked 8086 business machine that came with a DOS boot disk and some games. Whatever version of DOS was on that disk also came with a copy of GW-BASIC, which let me continue my coding adventures at home. Plus, I had some blank floppies at this point that I could save my stuff to, which was nice. I really don't remember much of what I wrote on this one, and I highly doubt I still have any of the disks from then.
The majority of my programming in BASIC was in QBasic on my next machine, a Pentium desktop that frequently got reformatted, alternating between MS-DOS and Windows 95 depending on my mood. I spent a lot of time actively participating on some QB forums, trying to pick up tips and get questions answered. Being a kid meant I asked a lot of questions that weren't really the right questions, and most of the answers sounded like work I definitely didn't want to do. I also got lots of advice(?) on how if I ever wanted to make a real game I should learn a real language like C++ or something. I spent a good deal of time (and money) attempting that, but never really stuck with it (I got a good bit into a book I bought on C++ and DirectX, but never really grokked it and gave up pretty early).
I did make some neat stuff eventually with QB. The notable projects I remember are
- A pretty solid two-player lightcycles clone
- This one used UGL, a game dev library that provided access to fast sprite graphics, sound, and input routines. I want to say if someone was making a QB game and not writing their own ASM routines, they were using this.
- A text-based fighting game
- This was sort of a weird pokemon-inspired thing, where you could "train" a fighter, pit them against other "fighters", and save their progress to a file. Everything was plaintext, and they only had something like two or three stats and three base moves (punch/kick/block). It wasn't very fun.
- Techfalcon Virtual Reality
- I was OBSESSED with VR as a kid, but that's a post for another day. This project in particular was going to be a collection of 3D rendering functions. I got 3D projection and wireframe graphics working pretty well, but the math behind rotations and camera movement was beyond me. Also, the one time I tried explaining it to a classmate they cut me off to inform me T.V.R. were the initials of a friend of ours. That stuck with me for some reason
Some of this stuff might still be out there in the ether, as I posted a lot of it to the forums I frequented. If I dug hard enough on the Internet Archive I bet I could find at least one of them.
Some time after this I gave up on programming for a while and got into animation and design. Ended up going to school for it instead of programming, which in retrospect is kinda funny and irritating at the same time. In any case, BASIC was a pretty cool way to get into it, and I suppose you could say I've got a bit of nostalgia for it. Maybe some day I'll get back into QB and make something for a jam with it.
P.S.: I actually still have those two books from the library. I snagged them before they got tossed in the dumpster by the school. One of these days I'll scan 'em and post 'em on the Internet Archive.