For more than half of my teenage life, QBasic was my programming language of choice. When my dad bought a more modern PC (running Windows ME) when I was 16, I would soon have access to more powerful programming languages. But it’s important to note that because it wasn’t MY PC, QBasic was still more accessible to me at the time. After a while, I started to use my dad’s PC more often, and I came across a programming language called Blitz3D.

Blitz3D had many of the same perks that QBasic had, including a fantastic help system with detailed explanations, small amounts of boilerplate code as well as a brief compile time. On top of that, Blitz3D was capable of producing 3D content, which was a huge draw for me. I liked it so much that I wanted a full copy of the programming language after the trial expired. However, at the time, it had a higher cost than I could afford. I resorted to cracking it until I was finally able to purchase a legal license, and I did so without hesitation.

It was through Blitz3D that I learned about some of the 3D rendering techniques that continue to be in use today, including the basics of how 3D models and textures combined to make a final render, as well as heightmaps and mipmaps.