26

Project Darkstarは、昨夜ニューヨークのGoogleオフィスで開催された毎月のJavaSIGミーティングのトピックでした。知らない人(おそらく全員)にとって、Project Darkstarは、すべての「難しいこと」を処理しようとする大規模なマルチプレイヤーオンラインゲームのフレームワークです。基本的な考え方は、すべての操作が小さなタスクに分割されるようにゲームサーバーロジックを作成することです。これらのタスクをProjectDarkstarフレームワークに渡します。このフレームワークは、クラスター内の特定のノードへのタスクの分散、同時実行の問題、そして最終的にデータの永続化を処理します。

どうやら、この種のことを行うことは、ビデオゲームにとってはエンタープライズアプリケーションの場合とは大きく異なる問題です。講演を行ったJimWaldoは、MMOゲームのDB読み取り/書き込み比率は50/50であるのに対し、エンタープライズアプリは90%が読み取り、10%が書き込みに近いと主張しています。彼はまた、ほとんどの既存のMMOはすべてを排他的にメモリに保持し、その6時間ごとにのみDBにダンプすると主張しています。これは、サーバーがダウンした場合、最後のDBダンプ以降のすべての作業が失われることを意味します。

さて、プロジェクト自体は本当にクールに聞こえますが、業界がそれを受け入れるとは思いません。まず、Javaでサーバーコードを作成する必要があります。クライアントコードは何でも書くことができますが(JimはActionScript 3が最も人気があり、C ++がそれに続くと主張しています)、サーバーのものはJavaでなければなりません。私には良さそうに聞こえますが、ゲーム業界の誰もがJavaを嫌っているという印象を受けます。

第二に、開発者が既存のフレームワークとライブラリを使用することを好む他の業界とは異なり、ゲーム業界の人々はすべてを自分で書くことを好むようです。それだけでなく、彼らは彼らが作り出すすべての新しいゲームのためにすべてを書き直すのが好きです。開発者が物理学にHavokを使用しているところ、プラットフォームとしてUnreal Engine 3を使用しているところなど、状況は変わり始めていますが、ほとんどの場合、すべてがまだ独占的であるように見えます。

それで、Project Darkstarの人たちはただ時間を無駄にしているのでしょうか?このような一般的なフレームワークは、必要なパフォーマンスを備えた複雑なゲームで実際に機能しますか?たとえそれが機能したとしても、ゲーム会社はそれを喜んで使用しますか?

4

7 に答える 7

26

編集:これは、OracleがSunを買収し、1日あたり10億ドルにならないものすべてを殺すために大暴れを始める前に書かれました。OSSフォークのコメントを参照してください。 そのようなもの(MMOミドルウェア)は現実的であるという私の意見を今でも支持しています。あなたはそれを後回しにしない会社が必要です。

市場はいくつかの大きなゲームによって支配されているかもしれませんが、それはより多くのニッチなゲームのための多くの余地がないという意味ではありません。それに直面しましょう:100.000人以上のプレーヤーにリーチしたい場合、少なくとも重要なコアのために、独自のテクノロジースタックを構築することになります。これは、CCPがEVE Online(StacklessIO)に対して行ったことであり、BlizzardがWorld of Warcraftに対して行ったことです(ただし、多くのサードパーティライブラリを使用しています)。これは、MythicがWarhammer Onlineに対して行ったことです(ただし、Gamebryoに基づいています)。

ただし、小規模でニッチなMMO(数十のFree-to-Play / Itemshop MMOなど)を目指す場合、ネットワーク関連のものを正しく取得することは非常に困難であり、データの一貫性はさらに難しく、スケーラビリティは最大のb * tch。

しかし、ゲーム技術だけが問題ではありません。請求にも取り組む必要があります。クレジットカードのみ?それならドイツでの販売を楽しんでください。ドイツの人々はELVを望んでいます。ここで信頼できる課金プロバイダーが必要ですが、課金が失敗したときにアカウントがブロック/再アクティブ化されるように、課金アプリケーションをアカウントに接続する必要があります。

すでに「MMOインフラストラクチャサービス」(つまり、 ArvatoのEEIS)を提供している企業もありますが、結論は次のとおりです。Project Darkstarのようなものは現実的ですが、数十億のMMOを完全にサードパーティスタック上に構築できると仮定すると楽観的です、おそらく理想主義的。

しかし、繰り返しになりますが、すべてのテクノロジーを完全に発明することはさらに愚かです-必要なサードパーティのもの(つまり、課金、フォントレンダリング、オーディオ出力など)を使用しますが、実際にビジネスを成功または失敗させるものを記述します(つまり、ネットワークスタック、ユーザーインターフェイスなど)を自分で。(注:ジェフの投稿には少し欠陥があるかもしれませんが、全体的な方向性は正しい私見です。)

補遺:また、ゲーム業界はエンジンのライセンスと再利用を数多く行っています。最も有名なゲームエンジンは、Unreal EngineSource Engineid Techであり、数百とは言わないまでも数十のゲームに燃料を供給します。しかし、あまり知られていない(業界外の)エンジンがいくつかあります。シヴィライゼーション4やフォールアウト3などのゲームの背後にあるミドルであるGamebryoがあり、現在はEA-in-Houseのみであるが、バトルフィールド2やシムズ3などのゲームで使用されているRenderWareがありました。使用されたオープンソースのOgre3dがあります。いくつかの商用タイトルで。サウンドを探しているだけなら、FMODのようなものがありますまたは、フォントレンダリングを実行したい場合は、FreeTypeを試してみませんか?

私が言っているのは、サードパーティのエンジン/ミドルウェアは存在し、それらは10年以上(idのWolfenstein Engineが他の企業にライセンス供与されていることは確かですが、それは1992年でした)以来、正常に使用されています。数百万ドルのタイトルの大企業。重要なのはサポートです。問題が発生した場合に助けがない優れたエンジンは、開発者がエンジンの不必要なデバッグにゲーム開発時間を費やす必要がある場合、ほとんど価値がないか、少なくとも非常に高価です。

Darkstarの人々がなんとかサポート面を正しくし、2つか3つの知名度の高いタイトルを出すことができれば、MMO市場をもっと小さな開発者やインディーに開放することに成功するだろうと私は信じています。

于 2009-01-27T21:20:26.120 に答える
3

私には役に立たない技術のように聞こえます。MMO の世界は、すでに独自の技術を導入している数社の大手ゲーム会社によって管理されています。インディー ゲームの開発者は、MMO を構築するのが大好きで、実際に MMO を構築することもありますが、それらのゲームが注目を集めることはめったにありません。MMO の世界に参入する大企業は、おそらく「実績のある」技術をライセンス供与するか、独自の技術を拡張するでしょう。

ゲーム会社は、ゲームごとに膨大な量のコードを再利用します。ほとんど/多くのゲーム会社は、独自の技術を社内で開発しており、自社が制作するすべてのゲームでそれを使用しています。時折、物理コードをサードパーティの物理エンジンに置き換えるようなことをします。内部コード ベース (ゲーム エンジン、デザイン ツール、内部パイプライン) が古くなりすぎたり、扱いにくくなったりした場合、Unreal などの大きなゲーム エンジンの 1 つに切り替える可能性があります。それでも、コードの大部分はゲームからゲームへと再利用され続けます。

于 2008-09-29T23:45:01.073 に答える
2

私が知る限り、ビデオ ゲーム会社はコードのほとんどを再利用していません。

ええと...ビデオゲーム会社のロングテールについて言及しているのなら、多分。一連の成功したゲームを持っている会社の中には、通常、いくらかの再利用があります。ハードウェアを大幅に変更すると、多くの作業が不要になる可能性がありますが、それは実際には会社によって異なります。

于 2008-08-21T21:46:10.237 に答える
1

デザインとコーディングは楽しいように思えますが、最終的には(ジョエルから盗むために)役に立たない抽象化に帰着すると思います。

于 2008-10-01T21:28:26.050 に答える
1

それは素晴らしいことだと思います。開発者は、darkstar が処理するこれらすべてのことを心配する必要がなく、非常に使いやすいです。しかし、それを機能させることだけがすべてではなく、インターネット通信についてすべてを学ぶ必要はありません。それはパフォーマンスについてもです。プロジェクト darkstar は 2 年以上にわたって開発が続けられており、改善、高速化、堅牢化を続けています。

このような技術が代わりに使用できる場合、特定のゲームを目指しているときにこれらのことを書くのは難しく、おそらく時間の価値はないと思います. また、実行時にアプリケーションのどこにスローダウンやデッドロックの原因があるかを示す優れた情報が得られるため、それを改善できます。

于 2009-07-18T19:31:45.993 に答える
1

ゲームで「ゲーム エンジン」を再利用することは非常に一般的です。サード パーティのエンジンであっても同様です。これは、その方向への別のステップのように聞こえます。

于 2008-10-01T23:32:03.523 に答える
-1

私はゲーム業界で働いていませんが、Quake や Half-Life エンジンが行ったのと同じことをビデオ ゲームで行うように思えます。それは、若い開発者が業界に興味を持ち、インディーゲームの開発を促進することです。

私が知る限り、ビデオ ゲーム会社はコードのほとんどを再利用していません。クールな新しい物理エンジン、より優れたグラフィックス、新しいゲームのプレイ方法を誰もが望んでいます。ほとんどのビデオ ゲーム エンジンとフレームワークは、特定のシナリオ向けに作成されているため、他の状況に柔軟に対応することはできません。

多分Darkstarはそれを正しく理解するでしょうが、一般化はそれほどうまくいかないので、私はそれを疑っています.

于 2008-08-21T21:36:00.153 に答える