Using NSData for your network messages
One of the hurdles you have to overcome when building an app like Downside is how to handle network messages. Apple provides several different ways of adding networking to your apps including GameKit and the new Multipeer Connectivity framework in iOS 7. Each of them require you either send or receive an NSData blob.