4

iOS 向けの実験的なマルチプレイヤー ローグライク ゲームを開発しています。プレイヤーは GameKit API 経由で接続され、1 つのダンジョンに入れられます。プレイヤーが実行できるアクションはさまざまなので、1 台のデバイスをホストにして、このアクションの送受信 (およびゲーム開始時のダンジョンのかなり複雑な状態) のために何らかの RPC を実装したいと考えています。

コンパクトで高速なシリアル化が必要です。protobuf とバイナリ plist のどちらかを選択しています。バイナリ plists は、objc オブジェクトのシリアライゼーション/デシリアライゼーションに使用するのは非常に簡単に見えます (これは重要なポイントであり、実験的な非商用プロジェクトの原因です) が、効率が悪いように見えます。Protobuf は効率的に見えますが、まったく異質です。代替案はありますか?

編集: http://msgpack.org/が見つかりました。行く道のように見える

4

1 に答える 1

1

プロトコル バッファのシリアル化は、バイナリ plist よりも高速である必要があります。また、Android やその他のプラットフォームでゲームを作り直したい場合は、プロトコル バッファが役に立ちます。(プラットフォーム非依存)

iOS でプロトコル バッファを操作するのは、最初は苦労することがあります。XCode でプロジェクトをセットアップするだけでも、かなりの時間がかかります。最初は目的の c バージョンの protobufを使用しようとしましたが、ライブラリの制限のために完全に削除する必要がありました。

Google のソース コードを Xcode に直接追加したところ、完全に機能しました。この回答をチェックしてください。これにより、プロジェクトで protobufs を簡単に使用できるようになります。

于 2013-03-07T05:54:20.207 に答える