2012-04-07 26 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。