我正在为iOS开发实验性多人roguelike。玩家将通过GameKit API连接,并将它们放在一个地牢中。玩家可以执行各种操作,因此我想让一个设备成为主机,并实现某种RPC来发送/接收此动作(以及游戏开始时非常复杂的地下城状态)
我需要一些紧凑而快速的序列化。我在protobuf和二元plists之间做出选择。二进制plists看起来很容易用于objc对象序列化/反序列化(这很重要,导致它的实验性非商业项目),但它看起来效率低下。 Protobuf看起来效率很高,但完全是外星人。任何替代方案?
修改:刚找到http://msgpack.org/。看起来像是一种方式
答案 0 :(得分:1)
协议缓冲区序列化应该比二进制plist更快。 此外,如果你想在Android或任何其他平台上再次制作游戏,那么协议缓冲区将是你的朋友。 (平台独立性)
在ios上使用协议缓冲区在开始时可能会很痛苦。使用XCode设置项目需要花费大量时间。 最初我尝试使用objective c version of protobuf,但由于库中的一些限制,我不得不完全放弃它。
我现在已经在Xcode上直接添加了google源代码,并且它的工作正常。 check out this answer。通过这个,您将能够轻松地开始在项目中使用protobufs。