オンラインゲームのプロトタイプを作成するにはどうすればよいですか?[閉まっている]


8

ライブラリ、エンジン、または単にネットワーク化されたプログラム間での情報の共有とメッセージの送信のタスクを大幅に簡略化する単純な設計パターンさえ知っているかどうかを知りたいので、ネットワークコードを書き直す代わりにゲームプレイの微調整に集中できます。ネットワークゲームのプロトタイピング。これはプロトタイプを対象としているため、速度とセキュリティよりも使いやすさと柔軟性がはるかに重要です。


1
さて、UnityはMMOスタイルのゲームを作成できると聞いたことがありますが、それは3Dに焦点を合わせたエンジンであり、2Dを実行できますが、少しクリエイティブにするだけです(2Dスプライトを含む平面を作成するなど)テクスチャとカメラを見下ろすように設定します。)3DバズがUnity MMOプログラミングのチュートリアルを作成したことは知っていますが、一般に公開されているとは思いません。紙の切り抜きを使用してゲームを作成し、自分で物事を動かそうとする紙のプロトタイピングを使用することをお勧めします。これは、完全なゲームを作成せずにオンラインイベントを自分で処理するだけでフィードバックを得る良い方法です。
ベンジャミンデンジャージョンソン

1
ZMQは、ネットワークのボイラープレートを削減するのに最適です。
あんこ

@BenjaminDangerJohnson私はUnityを使用しましたが、それらのネットワークコンポーネントはオブジェクトの位置を共有するには具体的すぎます。他の目的で使用したい場合は、その上に独自のエンジンを作成する必要があり、プロトタイピングの目的全体を無効にします。
パンダパジャマ2013年

@Anko 0MQはおもしろそうなので、試してみましょう。トランスポート層を簡略化しようとしているのではないかと心配しています。つまり、最終的には、独自のアプリケーションプロトコルを作成する必要があり、プロトタイピングフェーズではこれを回避したいのです。
パンダパジャマ2013年

2
書き換えに基づいて、0MQ(またはRabbitMQ)は正常に動作します。ゲームのデータ複製を自動化できるメッセージングシステムはありません。メッセージの内容は常に作成して解釈する必要があります。一体、LANでは、ブロードキャストを単純にスパムし、リスニングしている誰もがそれらに向けられたパケットを取り出すことができます。データは、XMLまたはJSON、または簡単なKey-Valueテキストペアストリームであり、ローカルでプロトタイピングする場合、大量の帯域幅が保証されます。しかし、それでもコードの作業を行う必要があります。
Patrick Hughes

回答:


4

オンラインゲームのプロトタイプを作成する最も簡単な方法は、ゲーム内のほぼすべてのもの(リアルタイムベースやターンベースなどの要素も含む)をすばやく変更できるようにするため、プロトタイプを物理的なゲームとして実装することです。部屋ですべてのデザイナーを集め、カードの束、サイコロ、またはボードゲームコンポーネント、または一般的なゲームインタラクションのプロトタイプに必要なものを入手します。次に、ゲームをプレイします。

プログラマーやアーティストにお金を払う必要はありません。ゲームルールのさまざまなバリエーションを試すには、数時間または数日(または数週間!)のプログラミング作業を必要とせずに、1〜2分しかかかりません。実装し、何が機能するか、何が機能しないかを推測します。さらに、プロセスの最後でも、プログラマーはあなたを好きです。:)

  • これを行うときは、少なくとも1人の人をオブザーバーとして機能させることをお勧めします。ゲーム自体には参加せず、誰がいつ何をしたかについてメモをとるのが仕事の別の人。各ゲームで実際に何が起こったかに関するデータは、ゲーム間で設定されたルールを調整する際に非常に役立ちます。

ペン、紙、サイコロ、カード、ボード、トークン。それだけで十分です。そして、ゲームデザインのプロトタイプを作成するには、何よりも優れています。


6
それどころか。ワークメイトが会社がプロトタイプのゲームデザインを迅速に反復するための明らかに最速かつ最も経済的な方法を実行することを拒否した場合、あなたはプロの環境にいません
Trevor Powell

2
これを職場での議論に変えないでください。確かに物理プロトタイピングは非常に優れていますが、それが常に可能であるとは限らず、すべてのゲームが物理的に簡単にプレイできるわけではありません。私は通常、数時間でシングルプレーヤーの2Dゲームのアイデアをハックし、変更して面白いかどうかを確認できます。マルチプレイヤーゲームでも同じことができるようにしたいだけです。
パンダパジャマ2013年

5
あなたは私ではなく、職場環境を育てた人です。それらについて話したくない場合は、問題ありません。しかし、物理的なプロトタイピングが「プロフェッショナルな」作業環境では何とか機能しないと主張している間、私が黙っていることを期待しないでください。それは単に本当ではないからです。
Trevor Powell

2
また、すべてのゲームが物理的に簡単にプロトタイプ化できるわけではありません。パズルゲームや戦略ゲームはあなたの提案で簡単に実行できますが、アクション、ミュージカル、レース、スポーツ、シミュレーションゲームはそうではないかもしれません。
パンダパジャマ2013年

1
どのタイプのゲームでも、プロトタイピングを魔法のように「つまらない」ようにする方法はありません(すべてのタイプのゲームでは、はるかに少なくなります)。ネットワークが関係している場合は二重にそうなります。あなたが方法を見つけるために行くことはありませんしているので、それの「些細なことではない」ということは、プロトタイピングのいずれかの方法を却下する理由はないです些細を。
Trevor Powell

2

relatively simple rule changes such as "let's try this in real time instead of turn-based"それは単純なルールの変更ではなく、私にとってはかなり根本的な変更のように思えます。オフラインプロトタイプまたは紙のプロトタイプを使用して、ネットワークコードを作成する前に、そのような基本的な設計の選択を行う必要があると思います。

つまり、ネットワーキングを行わずにゲームプレイのプロトタイプを作成します。これは、ゲームプレイのアイデアをテストするために、ローカルでマルチプレイヤーのゲーム(つまり、両方のプレイヤーが同じコンピューター上にいる)を書くことを意味します。

つまり、私の仕事では、ターンベースで開発途中のゲームをリアルタイムで変換し、ネットワーキングコードを大幅に書き換える必要がありました。振り返ってみると、それは物事に取り組むための本当に非効率的な方法であり、私たちはほとんど「二度としない」と決めました。


実際には、ネットワーク化されていなければ、ターンベースのゲームをリアルタイムに変更することはそれほど難しくありません。同じコンピューターで試してみる際の問題は、同時に2人、または最大4人のユーザーに制限されることです。とにかく、それは1つの例でしたが、実際にネットワーク化されている場合、テストを確実に容易にすることができる他の多くのテストしたいことがあります...
Panda Pajama

最初の文の要点を理解していない。それがまさに私が得ていることであり、ゲームがネットワーク化されていなければ、ゲームプレイの変更は簡単です。そして、ネットワークが実際に設置された後にのみテストできる他のもの(例えば、インターネットを介した同期)がある場合、心配する前にできるだけ多くの決定を行ってください。
2013年

0

ネットワークロジックは、どの情報をどこに送信する必要があるかをしっかりと分析して最適化すると考えているため、このようなツールの必要性は想像できません。

しかし、私がそれを望んでいる誰かのためにそのようなものを作成することを余儀なくされたなら、私は使うでしょう:

  • Pythonプログラミング言語
  • メッセージング用の0MQ(pyzmq経由)
  • 任意のデータを送信するためのpickleモジュール(ここの例に示すように

これは、信頼性の高いトランスポート、メッセージの説明、およびシリアライゼーション/デシリアライゼーションのすべての問題をカバーしています。(ただし、Pickleはイントラネットでの使用以外には安全ではありません。)

それでも、データをどう処理するかを決定するロジックを設定し、どのコンピューターが他のどのコンピューターに接続するかを決定して実装する必要があります。また、信頼性の低いメッセージング、リモートプロシージャコール、自動状態レプリケーションなどをサポートしていません。そのため、通常は、必要なものを計画してそのように記述する方が優れています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.