The Good Ol' Days of QBasic Nibbles
thecodedmessage.com
thecodedmessage.com
QBasic was very impressive for its time. It feels as if we lost that kind of integrated editor sometime in the 90s and are now only coming up to a similar level of integration... at a much higher cost. QBasic's interface, integrated help, debugger, etc. were a joy to work with (similar for Turbo C++, etc.) And the same applies to Visual Basic later on, although that's kinda out of scope for what we are discussing here.
Anyhow. I also wanted to mention EndBASIC (https://www.endbasic.dev/), a little project I've been working on and that tries to recreate a similar BASIC and MS-DOS hybrid environment. (Spoiler alert: it runs in the browser as well as a desktop app so it's trivial to test it out!) The end goal is to be able to write games like Gorillas and Nibbles -- and so far I got a pong clone running, which means it's getting pretty close to that goal! I'm currently working on adding some needed features, like... user-defined functions, a better type system, and the ability to run publicly shared programs with just a URL. So stay tuned for more :)
I remember programming my computer to do my math homework for me. It would take me hours to code up a solution for a piece of math that would ordinarily take 10 minutes. If you told the kid version of me about OCR and artificial intelligence I think she would have been trying to get that working on homework too.
As another 11-year old who experimented hacking the source code to this, along with GORILLAS.BAS, and having limited success, this would have been amazing if the schools taught it. Instead, early 90's "computer class" involved only typing tutors and Oregon Trail.
It's a complicated enough program to be fun, structured well, fast iterations since it's interpreted... Just to have a teacher explain a lot of it and then set the kids loose on making their own changes would have been great. An advanced class could re-write it in C or Pascal or create their own new game.
It'd still be just as useful today.
Don't forget the LOGO turtle on the Apple II which seemed to be in every damn classroom well into the 90's. It wasn't until 1994 that I sat in front of a PC in high school and even then it was friggin Mavis Beacon Typing Tutor (I snuck Doom onto the LAN to rectify that).
Giving a student a simple game with the ability to hack its source is a nice idea. Very basic game, 2d graphics, simple procedural api or language that lets them easily poke at a few lines of code. Start them in a dumb simple IDE, write a hello world, draw a box, make a decision, make a loop, then introduce them to the game and let them open it in the IDE and go nuts. A very vary light weight version of something like https://en.wikipedia.org/wiki/Squeak
This hack got me to look at things differently and explore more possibilities each time I encountered a new problem as a child.
The play field has double the height of number of available characters vertically, but with characters 0xDC and 0xDF you can effectively double this resolution because 0xDC just fills the lower half of the block while 0xDF filles the upper half.
If you wanted to make anything mildly complicated you were better off using a community built external graphical libraries (there were two major ones, but their names escape me).
Interestingly enough it was used in even older times to make 40x25 text look like 80x50 gfx
I remember a PacMan clone that used the text mode graphics like that.
I have tried to re-create this simplicity with my own site (https://akedo.app) and one of the first games I re-created was actually a Nibbles clone called Python (https://akedo.app/play?g=8eolqpn_fk-kr1TLi_WmKw).
I've yet to create a Gorillas clone but that's next on the list!
In HS, we worked on a bunch of different languages, including Pascal, Fortran77, and C.
But we always went back to QuickBasic for the competitions. There was so much less overhead with working with that system that it made it way faster for coding the exercises.
Eventually in my second year of college I dropped my CS degree because the prospect of never being able to stop learning new marginalia was less appealing than studying philosophy, which seemed less trivial at the time.
However all that programming practice stuck around, and now I've made my living doing the same stuff I was doing in HS: messing around trying to get some dumb game to stop crashing on a computer and cobbling together tiny snippets of code to win cheap prizes.
So here's to you QB: the reason why I was able to get a job after eventually deciding not to become a professor of literature.
One bundled script I don't see mentioned yet was SORTDEMO.BAS - this is still my ideal for demonstrating different sorts visually:
The one bundled with DOS didn't. You had to buy the full QB package for that.
Nibbles (video game) https://en.wikipedia.org/wiki/Nibbles_(video_game)
Here's a PyGame version of snake/nibbles: https://github.com/caffeinemonster/python-pygame-nibbles/blo...
For in-browser games in Python with JupyterLite and the pyodide WASM kernel, there are now the pyb2d bindings for box2d: https://twitter.com/ThorstenBeier/status/1523573928702087169
I just thought of it as the strange place you had to go to launch Nibbles or Gorillas, and IIRC never wrote any code.
I had gotten ahold of a qbasic extender that somebody published along with a "learn games in qbasic" book. It was a TSR that would expose some extended functionality to the qbasic runtime environment, allowing a 320x200 8bit color mode that was really fun to play around in. Anybody else remember this TSR?
https://en.wikipedia.org/wiki/PowerBASIC#Turbo_Basic
https://winworldpc.com/product/turbo-basic/1x
Although I guess it was alright for inspiring a generation of developers, and generating revenue for QuickBasic proper from some of them.
And naturally giving us nibbles and gorillas.
Thanks for the article, glad to know I wasn’t alone in this early influence.
https://news.ycombinator.com/item?id=31362321
Which includes a Gorillas example, not sure about Nibbles.
On the other hand, the amount of political/news related content has also gone down lately. It might also be that people want to think about something else than the horrifying things going on in the real world.
I'd love to see a plot of median active account age over time.
There's an incredible amount of ignorance of what has been done before and why things are the way they are, that I encounter continually