For adamia3d I wanted to use Google Closure for minification, and I particularly wanted the maximum setting for dead code removal and function inlining. If I could make anonymous functions that I knew would get inlined, I could organize the code much better in the innermost parts of the engine (where functions are off-limits due to the performance hit of a function call in javascript). However, the maximum setting of Closure, ADVANCED_OPTIMIZATIONS, completely destroys the source for a library. Adamia3d is an open-source library, and I want every class and every property to be considered public and hackable by its users. Unfortunately Closure renames every single class and member unless you modify your source to accomodate (using class['member'] instead of class.member everywhere). Modifying my source like this is unreasonable, so I came up with a nifty hack around it.

It can be pretty difficult to wrap your head around the concept of matrix transformations. To debug matrix differences across web browsers, I made a nifty matrix sandbox page to play around with the numbers and see the effects in realtime. Just drag the sliders around and see what happens to the square in the middle.

A while back I needed to demonstrate how Flash's WMODE settings behave across all platforms and browsers. Instead of trying to explain it in words, I made a standalone test page that illustrates several key concepts.

Are you a fan of object-oriented programming, and you wish you could make elegant, readable javascript classes? Magic Classes could be what you're looking for. There are a number of javascript files out there that provide similar functionality, and I'm not claiming that this is revolutionary. The goal of Magic Classes is simply to provide a very simple interface for classes, namespaces, and inheritance in Javascript.

It's time for round 2 of my random game reviews! I've played a number of games in the last several months, and I hope my impressions are useful to somebody. This round is all Xbox 360, including reviews of Gears of War, Eternal Sonata, Soul Calibur IV, and Braid. The format will match that of the first batch.