タグ付けされた質問 「mmo」

MMOは「大規模マルチプレーヤーオンライン」の略で、共有世界で非常に多数の同時プレーヤーを許可する一種のゲームです。

2
これは、MMORPGモバイルゲームに適したアーキテクチャですか?
最近、私は会社のために新しいMMORPGモバイルゲームのアーキテクチャを設計しようとしています。このゲームは、マフィア戦争、iMobsters、またはリスクに似ています。基本的な考え方は、敵(オンラインユーザー)と戦うために軍隊を準備することです。 以前は複数のモバイルアプリに取り組んできましたが、これは私にとって新しいことです。多くの苦労の末、高レベルのフロー図を使用して説明するアーキテクチャを思いつきました。 クライアントサーバーモデルを使用することにしました。サーバーに集中データベースがあります。各クライアントには、サーバーとの同期を維持する独自のローカルデータベースがあります。このデータベースは、マップ、製品、在庫など、頻繁に変更されないものを保存するためのキャッシュとして機能します。 このモデルが適切に配置されているため、次の問題に取り組む方法がわかりません。 サーバーとクライアントのデータベースを同期する最良の方法は何でしょうか? イベントをサーバーに更新する前に、ローカルDBに保存する必要がありますか?集中DBに変更を保存する前に、何らかの理由でアプリが終了した場合はどうなりますか? 単純なHTTP要求は同期の目的を果たしますか? 現在ログインしているユーザーを知る方法は?(1つの方法は、クライアントがアクティブであることを通知するためにx分ごとにサーバーにリクエストを送信し続けることです。 クライアント側の検証は十分ですか?そうでない場合、サーバーが何かを検証しない場合にアクションを元に戻す方法は? これが効率的なソリューションであるかどうか、およびどのように拡張されるかはわかりません。すでにそのようなアプリに取り組んでいる人々が自分の経験を共有できれば、もっと良いものを思い付くのに役立つかもしれません。前もって感謝します。 追加情報: クライアント側は、マーマレードと呼ばれるC ++ゲームエンジンに実装されています。これは、すべての主要なモバイルOSでアプリを実行できることを意味するクロスプラットフォームゲームエンジンです。私たちは確かにスレッド化を達成することができ、それは私のフロー図にも示されています。サーバーにMySQLを、クライアントにSQLiteを使用する予定です。 これはターンベースのゲームではないため、他のプレイヤーとのやり取りはあまりありません。サーバーはオンラインプレーヤーのリストを提供し、バトルボタンをクリックしてバトルを行うことができます。いくつかのアニメーションの後、結果がアナウンスされます。 データベースの同期には、2つのソリューションがあります。 各レコードのタイムスタンプを保存します。また、ローカルDBが最後に更新された日時を追跡します。同期するときは、タイムスタンプの大きい行のみを選択して、ローカルDBに送信します。削除された行にはisDeletedフラグを保持して、すべての削除が更新として動作するようにします。しかし、すべての同期要求について、完全なDBをスキャンし、更新された行を探す必要があるため、パフォーマンスに関して深刻な疑問があります。 別の手法として、ユーザーに対して行われた各挿入または更新のログを保持することもできます。クライアントアプリが同期を要求したら、このテーブルに移動して、どのテーブルのどの行が更新または挿入されたかを見つけます。これらの行がクライアントに正常に転送されたら、このログを削除します。しかし、ユーザーが別のデバイスを使用するとどうなるかを考えます。ログテーブルによると、すべての更新はそのユーザーに転送されましたが、実際には別のデバイスで行われました。そのため、デバイスも追跡する必要があります。この手法の実装には時間がかかりますが、最初の手法が実行されるかどうかはわかりません。

2
MMOクエストの仕組みを実装するためのヒントは?
以下にリストされている要件を満たしたクエストの仕組みを実装するには、どのツール、パターン、またはベストプラクティスをお勧めしますか ソフトウェアアーキテクチャ(一般的な方法)とオブジェクトワイヤリング、イベントサブスクリプション、および条件の表現の選択肢について説明しています。使用に成功したツール/ライブラリについて言及してください。 編集:スクリプトを使用している場合、どのような設定をお勧めしますか? 要件: シンプルな2D mmo(rpg) クエストを含むすべてのゲームデータは、リレーショナルデータベースに保存されます ゲーム内のイベントは、プレイヤーの新しいクエストまたは既存のクエストの前進を引き起こす可能性があります クエストは、プレイヤーがクエストを利用できるようになる前に満たさなければならない任意の数の条件を持つことができます クエストは、任意の条件を持つ任意の数のサブクエスト/ステップで構成できます クエストはシンプルから Aと話す-5人を殺すB-Aと話す-永久に健康を増進する 非常に関与する: エリアXのアイテムを使用-エリアYに移動-ボットが出現します-10%以上のダメージを与えることなくボットを殺します-ボットがアイテムをドロップします-アイテムを受け取ります-ポータルのロックを解除します-ポータルの背後のJにアイテムを配信します-ゴールドと経験を受け取ります-もう一度ポータルを渡すことができます-このプレイヤーのポータルをロックします レベルインスタンスは可能性があります(プレーヤーはチームまたは特定のクエストを完了することができ、それらの参加者だけにレベルの場所をスポーンします) クエストは、できればスクリプトやプログラミングの知識がなくてもワールドエディターを使用して管理できる必要があります(編集:一般的にはスクリプトに反対しません) 実装言語としてC ++を想定しています イベントと条件のチェーンを組み合わせることができれば、より複雑な、したがってより魅力的なクエストをモデル化できると考えていました。独自のECA(イベント-条件-アクション)エンジンをローリングして実験しましたが、それはやり過ぎかもしれません。スクリプトを使用せずに一般的な条件をモデル化することは特に困難でした。

3
MMOの問題に対するチート対策とソリューション?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 5年前に閉鎖されました。 ほとんどのオンラインゲームはこの問題に苦しんでおり、これをカバーするソフトウェア会社がありますが、最近私が見たものから、ほとんどの企業はそれらのプログラムが独自のシステムを作成することを避けようとしています...)しかし、それを防ぐのは非常に難しいケースです... 私はアプリケーションを投稿するためのコミュニティWikiとして別の質問トピックを作成したと言いたかったのですが、この質問の背後にある機能とアイデアはそれらをリストするのではなく、あなたの試み、道に沿った問題、可能な解決策についてもっと知ることです、アプリケーションなどの場合はコードの一部。 このような行為を防止する(試みる)ために、皆さんはどのような保護を使用していますか: アンチチートソフトウェア?(たとえば、aionがベータ段階でGameGuardの使用を中止した理由は、互換性の問題が大量に発生し、ユーザーから苦情が寄せられていることです) あなた自身のコード?(例えば、スピードハック、スピード+最後のロケーションに対する新しいロケーションの検証など、悪意のあるプレーヤーを確認するために通常どのような検証を実行しますか...) なし、気にしない?(あなたが共有したい個人的な理由や入力?) あなたが投稿したい問題に関連するコードの興味深い部分? 私の英語の文章を自由に作り直してください。**
14 mmo  anti-cheat 

6
MMOでリアルマネー取引を禁止する必要があるのはなぜですか?
まもなくMMOゲームを公開する予定です。現在、プレイヤーが従うことを期待する利用規約の作成を進めています(宣誓、スパム、不正行為はありません...ポイントを獲得します)。 私のゲームでは、プレイヤーは希少なアイテムを互いに交換することができます。 取引を行うほとんどすべてのオンラインゲームには、通常、プレイヤーがゲーム内アイテムまたはゲーム内のお金を実際の通貨と交換することを明示的に禁止する使用条件の条項があります。 私はこの規則の理由について疑問に思っていました。MMOでリアルマネー取引を禁止する必要があるのはなぜですか?

2
プレーヤーがアチーブメントを完了したかどうかを確認するにはどうすればよいですか?
MMOゲームを作成していますが、成果を実装する必要があります...どうすればよいですか?最も簡単なことは、これを100msごとに1回実行することです。 for a in achievements for p in players if a.meetsRequirements(p) then p.completeAchievement(a) しかし、それはさらに複雑な問題を引き起こします。たとえば、アチーブメントが実際に完了したかどうかを確認するにはどうすればよいですか?プレイヤーは特定の成果のためだけにカスタムプロパティを持っていますか?私はクエストでこの種のことをしました。なぜなら、それらは主に「100個の木材を収集する」からです。また、それをチェックするより良い時間があるはずです、これは私のサーバーを定期的に遅くするでしょう、と思います。

2
オフラインスキルを実装する方法
オフラインスキルの例は、EvE Onlineです。キャラクター(パイロット)は、経験を積んでスキルを獲得することはありません。代わりに、キャラクターは、ゲーム内外でトレーニングしているスキルに対してスキルポイントを獲得します。また、ゲームサーバーがダウンしているときでもスキルが向上し続けることはかなり確信しています。 誰もがこれをどのように進めるのか、さらに良いことに、私が開発しているゲームにこのようなものを実装する方法についての幅広いアイデアを持っています。ここでは詳細な説明を探しているわけではありません(ただし、あなたを遠慮しないでください)が、正しい方向を示す道しるべを探しています。 ありがとう!
13 mmo  character 

6
ゲームModdingの学習に使用できる推奨RPGゲーム [閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 6年前に閉鎖されました。 ゲーム改造を介してゲーム開発を学びたいです。RPG / MMORPGは私のお気に入りのジャンルの1つです。誰かが私にゲームの改造を学ぶための良い最新の(私もゲームをプレイしたいと思います)ゲームを勧めてもらえますか?Neverwinternights 2に似たもの。 回答ありがとうございます。感謝します。

2
MMOでサーバー側のすべてのオブジェクトの座標を保存する
MMORPGの場合: 衝突を検出するために、すべての木、茂みなどの座標をサーバー側に保存することは一般的ですか? もしそうなら、そのような膨大な数の座標(データ構造など、パフォーマンスの問題の処理)を保存するための実行可能な方法は何でしょうか? そうでない場合、このタイプの衝突検出は完全にクライアント側で行われ、サーバーはまったくチェックしませんか? または、クライアントが衝突をチェックし、サーバーが検証するという中間的な状況がありますか?もしそうなら、サーバーも同様にサーバー内の座標を維持せずに同じことを検証しますか?

4
大きなMMORPGはどのくらいの頻度で物理学を更新しますか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 私の知る限り、ほとんどの大規模ゲームでは固定タイムステップを使用して、安定したシミュレーションを実現しています。 ゲームサーバーについて、どの「フレームレート」を課していますか?または、別の言い方をすれば、どの固定タイムステップを使用する傾向があるのでしょうか? 多くの人が「彼らが逃げることができる限り早く」と言うことを知っています。確立されたMMORPGの直接的な経験がある場合、それがどれくらい速いかを知りたい。

4
MMOがレベルキャップを持つ理由は何ですか?
多くのMMOプレーヤーでは、キャラクターの進行は、たとえばレベル60、90、または100などによって人為的に制限されています。そもそもMMOにこれらのレベルキャップがあるのはなぜですか?レベリング体験を興味深く無限に保つ数学的に設計されたレベリングシステムを使用して、キャラクターが任意のレベルを継続できるようにしないのはなぜですか? この質問に対する回答は、機能の背後にある理由を確認し、MMOでこれを実装するかどうか、および実装する方法を決定するのに役立つ場合があります。

4
MMOサーバーのゲームログ形式
クラスター/シャード全体のゲームイベントのログ(エラー/デバッグログとは対照的に)は、ライブ運用環境にある商用MMOにとって非常に役立ち、顧客サービスの重要なサポートと履歴分析の手段を提供します。 私が現在取り組んでいるプロジェクトは、リレーショナルデータベースを使用してすべてのゲームイベントログを保存しますが、その方法はうまく機能しますが、ログの読み取り専用、時系列の性質により、より効率的なストレージ形式が可能になるようです。 ただし、カスタムバイナリログ形式の構築について学習を開始する場所がわかりません。カスタムログ形式を作成した経験や、この件に関する推奨論文/記事はありますか?

2
マルチプレイヤーでのジャンプなどのアクションを同期する方法は?
私は初心者のゲーム開発者で、マルチプレイヤーゲームについて研究しています。私は常にある程度の待ち時間があることを観察しました、プレイヤーは常に過去のアクションから更新を取得します。しかし、レイテンシを処理する推測航法のようなテクニックがあります。動きを予測してスムーズに動きます。しかし、ジャンプ、歩行停止などのアクションを同期させるにはどうすればよいでしょうか。 クライアントAが動いていて、100m /秒の速度で10.2時間に100mにいて、この情報を送信したとします。クライアントBはこの情報を少し後で受け取り、10.4にします。クライアントBでは、予測を使用して、クライアントAを120mに配置できます。しかし、クライアントが10.3で110mでジャンプしたとしたらどうでしょう。それを予測することはできません。予測を使用しているため、クライアントAの過去のジャンプを示すことはできません。 ジャンプアクションをまったく送信しないことで、この問題に対処できます。しかし、私のゲームにプレーヤーが転んで死ぬ可能性があるいくつかの空白がある場合はどうでしょうか。したがって、ジャンプアクションを同期しない場合、他のプレーヤーは1人のプレーヤーが走っていることを観察し、その後彼は無効になり、画面に表示されて視覚的なエンゲージメントを破壊します。 ジャンプは単なる例であり、予測が機能しない多くのシナリオがあるかもしれません。だから、どうやってそれらに対処するのですか?そのような例の1つは、Awesomenautsのようなマルチプレイヤーオンラインバトルアリーナゲームです。

5
MMORPGなどの動的な世界を水平方向にスケーラブルにする方法はありますか?
500プレーヤー以上のオープンワールドで、20更新/プレーヤー/秒の速さでデータが変化することを想像してください。前回同様のMMORPGで作業したときはSQLを使用していたため、常にDBにクエリを実行できませんでした。代わりに、すべてのプレーヤーをDBからメモリにC ++オブジェクトとしてロードして使用しました。つまり、垂直方向にスケーリングされました。代わりにそのサーバーを水平方向にスケーラブルにすることは可能でしょうか?その量の更新を同時にサポートするように設計されたデータベースはありますか?


5
リスクを負うダンジョンマスターに報酬を与えるにはどうすればよいですか?
私は本質的に2つの主要な役割を特徴とするMORPGプロジェクトに取り組んでいます。冒険家とダンジョンマスターです。私の懸念は、2つの役割のバランスをとることです。 それを聞いた人にとって、原則はフランスの漫画ダンジョンからインスピレーションを得ています。漫画で述べられているように、ダンジョンのビジネスモデルは次のとおりです。ダンジョンマスターは、厳重に保護されたダンジョンに宝物を置き、名声と富を求める冒険者を誘惑します。それらのいくつかは成功しますが、ほとんどはその過程で死亡し、ダンジョンの宝の山に参加する貴重なアイテムを落とし、さらに多くの冒険者を引き付けます。ダンジョンマスターは、これらのドロップから適切な量を収集して生計を立て、新しい部屋の作成、傭兵への支払い、新しいクリーチャーのフェッチ、ドラゴンの育成などを行います。 冒険者は非常に古典的です。彼らはモンスターや仲間のプレイヤーを攻撃し、その過程でXP、アイテム、お金を獲得し、徐々に強くなる戦闘指向のキャラクターです。 ダンジョンマスターは貿易志向です。彼らの困難は予算のバランスを取ることです:宝物とドラゴンは高価です。現在、ダンジョンマスターの間で一種の均衡が見込まれています。ダンジョンが硬すぎたり、難しすぎたりすると、当然ペナルティが課されるためです(それぞれ、低い試行率または低いキル率)。DMとDMのバランス:チェック。 ダンジョンではPvP戦闘が有効になっているため、冒険者の間で競争が激しく、弱いプレイヤーに、より上級のプレイヤーにはほとんど報酬を提供しない簡単なダンジョンに固執するように強いています。冒険家と冒険者のバランス:チェック。 ただし、私が解決しようとしている2つの役割の間には、特定の不均衡が1つあります。冒険者は、自分のリーグを超えてダンジョンを試そうとする傾向があります。過程の中で。リスクを冒す人に報いるため、これは良いことです。一方、ダンジョンマスターにはこの種の利点はありません。冒険者がダンジョンを完成し、宝物を分けて脱出しても、何も得られません。ダンジョンマスターが防御に慎重すぎるようになり、ダンジョンを完了する可能性がなくなると、これは残念です。冒険家とDMのバランス:問題。 したがって、私の質問:ダンジョンマスターを刺激して、小さいがゼロではない勝率を維持するために、どのような報酬メカニズムを導入できますか?
10 game-design  mmo  rpg  balance 

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