You’re finishing up the final bugs for your guaranteed AppStore hit, Asteroids: Totally Different This Time. Just before release, your crazy game designer partner has an epiphany: “What if… What if you were the asteroids, instead of the ship!? It will subvert the player’s every expectation since the dawn of gaming!”
Another programmer might despair: the glorious, deep and wide inheritance tree, ruined! The entire code architecture was founded on the player controlling just the ship!
But instead of despair, you remember that you focused more on the data and the systems that operate on that data, and are able to turn around the new version overnight.
Is this a dream? It might be. Let’s find out during this talk.