
Back when I was 17 and had just moved to Sacramento, I originally wrote this program. It was during the summer, and I was deep into Visual C++, eager to learn DirectX. I had picked up a book on DirectX programming and was following online tutorials, diving into the world of game development. Around that time, I discovered emulation and stumbled upon a ROM pack full of Atari 2600 games along with an emulator.
Among the collection was a puzzle game called Acid Drop, which instantly caught my attention. I found it really enjoyable and engaging, so much so that it inspired me to create my own version, which I later named MasterPiece. Fast forward more than 20 years, and here I am revisiting this Frankenstein of a project—originally written for DirectX and later ported to SDL. The code, as expected, is quite messy, with inconsistent formatting and variable naming conventions all over the place.
Despite the challenges, I managed to recall enough about my original approach and the various ports I had done—first to the PSP and eventually to SDL2. Recently, I decided to modernize the project and updated it to run in 720p resolution using SDL_BlitScaled. The game now runs smoothly, and I even set up a Makefile for Emscripten, allowing me to create a WebAssembly version.
You can check out the source code and the WebAssembly port below.
It's been quite a journey bringing this project back to life, and it's exciting to see it running on modern platforms. Looking back, it’s amazing to think how much has changed since those early days of learning DirectX in Sacramento.
WebAssembly Port Source Code