ライブラリ、エンジン、または単にネットワーク化されたプログラム間での情報の共有とメッセージの送信のタスクを大幅に簡略化する単純な設計パターンさえ知っているかどうかを知りたいので、ネットワークコードを書き直す代わりにゲームプレイの微調整に集中できます。ネットワークゲームのプロトタイピング。これはプロトタイプを対象としているため、速度とセキュリティよりも使いやすさと柔軟性がはるかに重要です。
ライブラリ、エンジン、または単にネットワーク化されたプログラム間での情報の共有とメッセージの送信のタスクを大幅に簡略化する単純な設計パターンさえ知っているかどうかを知りたいので、ネットワークコードを書き直す代わりにゲームプレイの微調整に集中できます。ネットワークゲームのプロトタイピング。これはプロトタイプを対象としているため、速度とセキュリティよりも使いやすさと柔軟性がはるかに重要です。
回答:
オンラインゲームのプロトタイプを作成する最も簡単な方法は、ゲーム内のほぼすべてのもの(リアルタイムベースやターンベースなどの要素も含む)をすばやく変更できるようにするため、プロトタイプを物理的なゲームとして実装することです。部屋ですべてのデザイナーを集め、カードの束、サイコロ、またはボードゲームコンポーネント、または一般的なゲームインタラクションのプロトタイプに必要なものを入手します。次に、ゲームをプレイします。
プログラマーやアーティストにお金を払う必要はありません。ゲームルールのさまざまなバリエーションを試すには、数時間または数日(または数週間!)のプログラミング作業を必要とせずに、1〜2分しかかかりません。実装し、何が機能するか、何が機能しないかを推測します。さらに、プロセスの最後でも、プログラマーはあなたを好きです。:)
ペン、紙、サイコロ、カード、ボード、トークン。それだけで十分です。そして、ゲームデザインのプロトタイプを作成するには、何よりも優れています。
relatively simple rule changes such as "let's try this in real time instead of turn-based"
それは単純なルールの変更ではなく、私にとってはかなり根本的な変更のように思えます。オフラインプロトタイプまたは紙のプロトタイプを使用して、ネットワークコードを作成する前に、そのような基本的な設計の選択を行う必要があると思います。
つまり、ネットワーキングを行わずにゲームプレイのプロトタイプを作成します。これは、ゲームプレイのアイデアをテストするために、ローカルでマルチプレイヤーのゲーム(つまり、両方のプレイヤーが同じコンピューター上にいる)を書くことを意味します。
つまり、私の仕事では、ターンベースで開発途中のゲームをリアルタイムで変換し、ネットワーキングコードを大幅に書き換える必要がありました。振り返ってみると、それは物事に取り組むための本当に非効率的な方法であり、私たちはほとんど「二度としない」と決めました。
ネットワークロジックは、どの情報をどこに送信する必要があるかをしっかりと分析して最適化すると考えているため、このようなツールの必要性は想像できません。
しかし、私がそれを望んでいる誰かのためにそのようなものを作成することを余儀なくされたなら、私は使うでしょう:
これは、信頼性の高いトランスポート、メッセージの説明、およびシリアライゼーション/デシリアライゼーションのすべての問題をカバーしています。(ただし、Pickleはイントラネットでの使用以外には安全ではありません。)
それでも、データをどう処理するかを決定するロジックを設定し、どのコンピューターが他のどのコンピューターに接続するかを決定して実装する必要があります。また、信頼性の低いメッセージング、リモートプロシージャコール、自動状態レプリケーションなどをサポートしていません。そのため、通常は、必要なものを計画してそのように記述する方が優れています。