Hey guys! A couple weeks ago I was thinking about projects I was doing when I was younger, and about all the super fun stuff I was doing in Blitz BASIC ~10 years ago! Making demos and sharing them on various forums (including this one) was literally my favorite thing, and Blitz made it all possible! (not to mention the awesome community ofc!!!)
Anyways, I lost most of my files when I left a hard drive on an airplane some years ago (doh!). But I dug around a bit and found
this post, which still has the source to my old 3D Overload demo. So I downloaded it and started reading; too much fun! I mean, the code is... "unique" at this point, but I'm still super proud of it and what it meant to me at the time.
Needless to say, I _had_ to get it running. Problem is, I'm on OS X most of the time these days, and didn't feel like setting up a virtual machine and trying to find a compiler. But then I had another fun idea - why don't I just make a compiler/interpreter and run the code that way? Then I get it running on native OS X, and a super fun project to build along the way!
So, fast forward a couple weeks, and I've finally started to get actual code running! I don't have 3D Overload going yet, but after some more digging on this forum and the archives of the old DBF board I found some other effects I made from around that time, so I've been testing with those simpler ones first. So far, I've been able to get my old
anti-aliased vector bobs effect running (thanks Shocky for posting that way back when, otherwise I probably wouldn't've ever found it again!), as well as an old plasma.
I call the project "butterball", and you can find it all
on the github repo! Unfortunately it's source-only, but if you already have/download the
rust compiler (it's written in rust) then you should have no problems getting it to build.
Also, since this is just a toy and not really a serious compiler, it's currently _EXTREMELY_ slow. I find it super ironic that I wanted to move away from Blitz back in the day so badly because it wasn't fast enough, and a decade later I come along and make it even slower XD I have some ideas for how I can improve it ofc and I'll continue some work on it, but I'll still probably continue to interpret the code rather than compiling to native so I don't think the speed will ever be blazing, but I think it can at least recreate the speed this code ran on the machine I wrote it on!
Also, if you try it on some of your own code, it's very likely it won't work. The parser (at least) has been pretty specialized based on the code I'm using to test; I don't plan on being very rigorous about it beyond that

Anyways, just had to share this thing; figured you guys would appreciate it

And finally, some screenshots!