Arknoid For WP7 Was Done Right
A port of Arknoid (Brick Breaker) called XNArknoid has been made available (including the source code). The reason it’s significant is because we’ve been talking about Silverlight apps a lot recently. This is actually written in XNA – the code used for Xbox games. The dev clearly knows what he’s doing. Arknoid cannot be done in Silverlight. As described here, the way that trigger events and sprites are rendered in Silverlight means that you get phenomenal performance for single press events but if it’s going to involve constant touches, each touch is an event in Silverlight and it kills the frame rate. In Silverlight “the slower and less frequent the user moves the paddle, the fewer events get fired, and the faster and more frequent the user moves the paddle, the more events get fired – and as the app gets slammed with events it can directly affect performance.” So XNA must be used.
So for the devs out there, there’s a lesson. Silverlight is really intended for apps and some games. More complicated games (and those with constant touches) require XNA. So, XNArknoid was done the right way.