Rory reviews a BASIC drawing program he wrote when he was a kid: Worst Drawing Program of All Time (ever)
It’s great that he managed to preserve it for all this time– I wish I had done the same. I wrote a bunch of stuff on an Amstrad CPC464 around 1985, but it was all stored on crappy audio tape and so lost or disintegrated many years ago.
Some of the programs that would probably bring a tear of nostalgia to my eye if I could somehow bring them back from oblivion, all written around 20 years ago:
- A knock-off of Elevator Action where I never sorted out the trick of making a character stand on a moving platform [he kept falling through the elevator]. All objects [background and character] were drawn using customized character cells. The protagonist had at least two colors, achieved by drawing him twice with different glyphs.
- A pixel based paint program [similar to Rory's] which supported 160×200 @ 16 colors. Also incorporated a flood-fill algorithm cribbed from a magazine. The only pictures I ever drew with this were poor recreations of images from an old Robin Hood adventure game I had played on an early Apple computer.
- A surprisingly cool block shifting puzzle, with sound. This was another knockoff, but actually worked very well. A beetle would shuffle along tracks drawn on squares, which you would dynamically reaarrange in order to direct the beetle to various goals [and avoid nasties]. My first proper sprite graphics, featuring animation and more color.
- A 3D object modeller, in which the keyboard was used to manipulate a cursor in an isometric 3D view. It even had a “lathe” function for creating endless variations of polygonal goblets. This was the first time I ever worked in 3D, and many of the basic equations were arrived at by trial and error. Rendering a solid-filled object took more than a minute, and the pinnacle of the project was recording an incredibly jerky 3FPS animation of a spinning goblet using the pause control on a standard VHS video recorder. Woooo!
- A Z80 assembler, then used for writing small chunks of machine code to speed up sprite and paint routines. I got a real kick out of this, even though I never used it enough to justify the time that went into it. It also served as my introduction to the concept of bootstrapping, in that the core routine of the final version was actually written using an earlier version.
