I’m not usually associated with high performance Flash programming around here, as Jeff does most of that kind of writing. I usually settle into puzzle games, kids games, and games that never see the light of day.
However, this 4K thing has me energized. It reminds me of the the Atari 2600 programmers I have read and written so much about in the past decade. The art and science of using both the features and limitations of the “hardware” (in this case, the Flash player) and the software (4K of addressable space) is thrilling.
Back in 1993 I started my career writing 80386 Assembly Language for a small computer company. At the time my job was to convert 16-bit Assembly code to 32-bit Assembly, and then in-turn, re-write all of it as C++. I know that might sound like a horrible job, but in fact, it was a great way to learn. We had to be very careful about loading registers, the stack, far pointers, bit-wise operations, etc. I can’t say that I became any kind of expert, but for a good 3 years this kind of work was the ground floor of my software development education.
However, after that point, I never used any of it again. By 1996 the Web was the place to be, and everything was about request/response, CGI and HTML mixed with Perl/C++ and later ASP scripting. It was complete removal from the micro programming of Assembly and into the macro development of web application.
13 years later, and I have been through the veritable ringer with Web Development. Now, there really is no such thing as “Web Development”. “Web” is everything, and it is just development again. It can be a daunting task to try to know all aspects of everything “web”. In reality, it is impossible.
That is why the 4K project is so attractive. It is like a return to those heady days losing myself in 80386 code. We had a finite space to work, and we had to be creative to make everything work with limited resources. The process is challenging, yet thrilling, and amazingly enjoyable.
Now, I have no illusions that my 4K project will be any where near the best. However, I’m very pleased with it as a game. It is the exact type of game I would want to buy and then play if it was released for the Atari 2600 30 years ago.
Now, back to work. there is that little issues of the extra 800 bytes of code. Thankfully, nothing has been optimized yet.