The Playground: AoW Title Part 1
I loved the Age of Wonders games as a kid. Amazing graphics, beautiful music, and so much attention to detail. I still have my disk, which became a very fortunate thing for this project. Shockingly, it still installs and runs just fine in 64-bit Windows 10 (albeit with some minor prodding to settings). The title screen doesn’t particularly like my 1920×1080 screen resolution (the sliding background painting doesn’t loop properly) and the smaller maps are pretty much completely visible on such a large screen but other than that it holds up very well.
But enough gushing about my favorite game. That’s not why we’re here. We’re here to learn, and learn I very much did. This project ended up teaching me a number of things about JavaScript that I legitimately did not know about before. The main two things I learned about were the Data View API which allows JavaScript to peek into binary data, and the Web Audio API which allows the browser to play arbitrary sound. Additionally, I dabbled in C++ a bit for this project for extracting graphics from the Age of Wonders ILB format, thanks to documentation found on the Jongware website as well as a little bit from the AoWRead documentation. This proved invaluable to help me get things set up, and eventually I was able to export even complicated composite images as PNG files (via the STB image writing library which I chose because it’s silly easy to use and I already had it due to work on the STB image reading library). Once I’m finished writing the articles, I’ll put the project in my Demos and Examples page.