Protobuf vs binary plists para tráfico de networking en un juego iOS

Estoy desarrollando roguelike multijugador experimental para iOS. Los jugadores se conectarán a través de GameKit API y serán puestos en una mazmorra. Hay varias acciones que los jugadores pueden realizar, por lo que quiero hacer que un dispositivo sea un host e implementar algún tipo de RPC para enviar / recibir estas acciones (y un estado bastante complicado de mazmorra cuando se inicia el juego)

Necesito una serialization compacta y rápida. Estoy eligiendo entre protobuf y plumas binarys. Los pliegues binarys son bastante simples de usar para la serialization / deserialization de los objects objc (este es un punto importante, porque es un proyecto experimental no comercial), pero parece ineficiente. Protobuf parece eficiente, pero totalmente extraño. ¿Alguna alternativa?

Editar: acaba de encontrar http://msgpack.org/ . Parece una manera de ir

La serialization del búfer de protocolo debe ser más rápida que la de plust. Además, si quieres volver a hacer el juego en Android o en cualquier otra plataforma, entonces los búferes de protocolo serán tu amigo. ( independencia de la plataforma )

Trabajar con búferes de protocolo en iOS puede ser un problema al principio. Simplemente configurar el proyecto con XCode ocupa mucho time. Inicialmente intenté trabajar con la versión c objective de protobuf , pero tuve que soltarlo por completo debido a algunas limitaciones en la biblioteca.

Ahora agregué el código fuente de google directamente en Xcode, y está funcionando perfectamente. Mira esta respuesta . A través de esto, podrás comenzar a trabajar con protobufs en tu proyecto fácilmente.