The Black Art of Multiplatform Game Programming