4

我正在为 iOS 开发实验性多人 roguelike。玩家将通过 GameKit API 连接,他们将被放在一个地牢中。玩家可以执行各种动作,所以我想让一个设备成为主机,并实现某种 RPC 来发送/接收这些动作(以及游戏开始时相当复杂的地牢状态)

我需要一些紧凑而快速的序列化。我在 protobuf 和二进制 plist 之间进行选择。二进制 plist 看起来很容易用于 objc 对象序列化/反序列化(这很重要,因为它的实验性非商业项目),但它看起来效率低下。Protobuf 看起来很高效,但完全陌生。有什么选择吗?

编辑:刚刚找到http://msgpack.org/。看起来是一条路

4

1 回答 1

1

协议缓冲区序列化应该比二进制 plist 更快。此外,如果您想在 android 或任何其他平台上再次制作游戏,那么协议缓冲区将是您的朋友。(平台独立

在 ios 上使用协议缓冲区一开始可能会很痛苦。仅使用 XCode 设置项目会占用大量时间。最初我尝试使用目标 c 版本的 protobuf,但由于库中的一些限制,我不得不完全放弃它。

我现在已经直接在 Xcode 上添加了谷歌源代码,并且它工作得很好。看看这个答案。通过这个,您将能够轻松地开始在您的项目中使用 protobufs。

于 2013-03-07T05:54:20.207 回答