2012-04-07 29 views
4

我正在开发用于iOS的实验性多人roguelike。玩家将通过GameKit API连接,他们将被放入一个地下城。玩家可以执行的各种动作,所以我想让一个设备成为主机,并实现某种RPC发送/接收此动作(以及在游戏开始时非常复杂的地牢状态)Protobuf与二进制plists在iOS游戏中的网络贩运

I需要一些紧凑和快速的序列化。我在protobuf和二进制plists之间进行选择。二进制plists看起来很简单,用于objc对象序列化/反序列化(这很重要,导致它的实验性非商业项目),但它看起来效率低下。 Protobuf看起来很有效率,但完全陌生。任何替代品?

编辑:刚发现http://msgpack.org/。看起来像要走的路

回答

1

协议缓冲区序列化应该比二进制plist更快。另外,如果你想在android或任何其他平台上再次制作游戏,那么协议缓冲区将成为你的朋友。 (平台无关性

在ios上使用协议缓冲区可能是一个痛苦的开始。只需使用XCode设置项目就需要很长时间。 最初我试图与objective c version of protobuf一起工作,但由于库中的一些限制,我必须完全删除它。

我现在已经在Xcode上直接添加了谷歌源代码,并且其工作完美。 check out this answer。通过这个,您可以轻松地开始在项目中使用protobufs。