Oh I used to do things like this myself back in the day. You start with some fairly simple formula and just basically plot it into video memory. This particular image is static, the value of a pixel only depends on its linear offset, but I used to enjoy modifying existing images too. Average of surrounding pixels over time would give a flame effect. Small random offset of x over time on an existing image makes it look like it is shimmering in water. Amazing how cool such a simple thing can look - especially when you’re a new programmer! I ate those right up.
I have to confess I kinda miss the DOS days of being able to just write to the video memory and see a result. You can kinda sorta do that with modern stuff but it just isn’t the same.
Speaking of modern stuff, I ported this 1.com example to D using my library files to run on other operating systems and make the syntax perhaps more familiar, but lol now it is like 10,000x bigger binary. oh modern computers (and bloated libraries) :(
but here’s the file if you wanna take a look: http://arsdnet.net/dcode/bot.d though compiling it might be more trouble than it is worth unless you already play with D. needs simpledisplay.d and color.d compiled with it from here https://github.com/adamdruppe/arsd
edit: btw i can give a line by line description of the original program if anyone likes, just i don’t want to post too many spoilers too soon :P
I was just thinking the same thing yesterday.
I too really miss the days when you could just write to video memory. The effort in C/Unix to get a pixel on the screen is way to high.
I also miss the having video interrupts for a given raster position.