2017-10-10 7 views
-1

Imは、Lidgrenネットワーキングライブラリ(サーバ - クライアントアーキテクチャ)でUnityを使用して、遠近法でゲームを開発し、Diep.ioと似ています。Diep.ioに似たトップダウンマルチプレイヤーゲームでの撮影に最適な方法は?

レイテンシのために撮影が滑らかになるようにしようとしていますが、撮影中にクライアントが動いていると、クライアントから弾丸が少し離れているのがわかります(クライアントから受信した最後の位置)。

現在、クライアントはパケットをサーバーに送信し、サーバーはクライアントの位置にバレットを作成します。

Diep.ioのようなゲームはどのように顕著な遅延なしに撮影を処理しますか?
Diep.ioに似たゲームでの撮影方法は?

何か助けていただければ幸いです。

答えて

0

初心者レベル以上のマルチプレイヤー開発では経験はありませんが、ここでは2セントです。

このチュートリアルのアドバイスに従って、箇条書きのレイテンシをある程度処理することができます。

https://unity3d.com/learn/tutorials/topics/multiplayer-networking/adding-multiplayer-shooting

あなたは少しページの下のスクリプトを見れば、彼らが言うの部分を持っています。

// This [Command] code is called on the Client … 
// … but it is run on the Server! 
[Command] 
void CmdFire() 

使用するライブラリには、クライアント上で呼び出すことはできますが、サーバー上で実行できる同様の方法があります。

他にも、組み込みのマルチプレイヤー機能を使用しない理由が少し不思議ですね。それは、低レベルAPIと高レベルAPIの両方を持っています。

+0

このテクニックはまだレイテンシを処理する必要があります。コマンドはクライアントからサーバーに送信する必要があります。またUnidはネットワークに頼っているのではなく、Lidgrenを使っているので、Unetはもっと複雑に見えます(多分そうではないかもしれません)。 。 – Alex

+0

それはレイテンシに対応しなければならない。しかし、あなたが今提案しているように、クライアントまたはサーバーのいずれかに責任を置くことを試してみると、最も優れたレイテンシを見つけるのに役立ちます。私はUnitysコンポーネントシステムの周りに解決策で作られたUnitysができるだけ簡単に使用できると信じています。しかし、学習曲線を緩和するためのチュートリアルが必要です。 – Doh09

関連する問題