2008-08-21 8 views
24

Project Darkstarは、昨夜のニューヨークのGoogle事務所で月例JavaSIGのミーティングを開催しました。それらを知らない人(おそらく誰でも)のために、Project Darkstarは、大量のマルチプレイヤーオンラインゲームのフレームワークで、 "ハードなもの"のすべてを世話しようとしています。基本的な考え方は、すべての操作が小さなタスクに分割されるようにゲームサーバーロジックを記述することです。これらのタスクは、Project Darkstarフレームワークに渡します。このフレームワークは、クラスタ内の特定のノードへの分散、並行性の問題、最後にデータの永続化を処理します。Project Darkstarは現実的ですか?

明らかに、このようなことは、ビデオゲームにとってはエンタープライズアプリケーションの場合とは大きく異なる問題です。講義を行ったJim Waldo氏は、MMOゲームのDB読み書き率は50/50であるのに対し、エンタープライズアプリケーションは90%の読み込み、10%の書き込みの方が多いと主張している。彼はまた、ほとんどの既存のMMOがすべてを記憶に残し、6時間ごとにDBにダンプするだけだと主張しています。これは、サーバーがダウンした場合、最後のDBダンプ以降にすべての作業を失うことを意味します。

今、プロジェクト自体は本当にクールだと思うが、私は業界がそれを受け入れるとは思わない。まず、サーバーコードをJavaで記述する必要があります。クライアントコードは何でも書ける(JimはActionScript 3が最も人気があり、C++が続くと主張する)が、サーバーの内容はJavaでなければならない。私にとってはいいと思うけど、ゲーム業界の皆さんがJavaを嫌う印象を受けました。

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

Project Darkstarのメンバーは時間を無駄にしていますか?このような一般的なフレームワークは、必要なパフォーマンスを備えた複雑なゲームで本当に機能しますか?それがうまくいっても、ゲーム会社はそれを使いたいですか?

答えて

24

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

マーケットはいくつかの大きなゲームで支配されるかもしれませんが、それはニッチゲームのための余地があまりないことを意味しません。それに直面しましょう:100.000人以上のプレーヤーに到達したい場合は、少なくとも重要なコアについては、独自のテクノロジースタックを構築することになります。これはCCPがEVE Online(StacklessIO)のために行ったもので、BlizzardはWarhammer Online(Gamebryoをベースにしていますが)のためにMythicがやったものです。

しかし、(何十ものFree-to-Play/Itemshop MMOのような)小さなニッチMMOを目指すならば、ネットワークの権利を得ることは非常に難しく、データの一貫性はさらに一層難しく、スケーラビリティは最大のb * tch。

ゲームの技術はあなたの唯一の問題ではない - あなたはまた、請求に取り組む必要があります。クレジットカードのみ?ドイツで楽しいセールをして、そこにいる人々はELVをしたい。そのため、信頼できる請求提供者が必要ですが、請求処理が失敗したときにアカウントがブロック/再開されるようにするには、依頼するアカウントに請求書アプリケーションを配線する必要があります。

すでに「MMOインフラストラクチャサービス」(つまりArvato's EEIS)を提供している企業がいくつかありますが、結論は次のとおりです。Project Darkstarのようなものは現実的ですが、第三者に100億スタックは楽観的で、おそらく理想的です。

しかし、やはり、すべての技術を完全に発明していることは、あなたが必要とするサードパーティのもの(つまり、課金、フォントレンダリング、オーディオ出力など)を使用するのはもっと馬鹿ですが、write the stuff that really makes or breaks your business(ネットワークスタック、等)をご自身でお持ちください。 (注:ジェフの投稿はa bit flawedであるかもしれませんが、全体的な方向は正しいです。)

補足:また、ゲーム業界はエンジンのライセンスと再利用を多くしています。最も顕著なゲームエンジンは、Unreal Engine,Source Engineid Techであり、何百というゲームではないにしても、何十という燃料になる。しかし、あまり知られていない(業界外の)エンジンがいくつかあります。 Gamebryoがあり、Civilization 4やFallout 3のようなゲームの後ろにあるミドルウェアは、現在はEA-in-Houseだけであるが、Battlefield 2やThe Sims 3のようなゲームではRenderWareだった。オープンソースOgre3dが使用されているsome商用titles。あなたがサウンドを探しているだけなら、FMODのようなものがあるか、フォントレンダリングをしたいのであれば、FreeTypeにスピンをつけてみませんか?

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

ダークスターの人々がサポートサイドと2〜3つの高プロファイルタイトルを手に入れることができれば、もっと小規模な開発者やインディーズにMMO市場を開拓することができます。

+1

努力をいただきありがとうございます! –

+0

興味深く有益な情報 – Andy

+4

情報提供:Project DarkstarはOracleによって閉鎖されていますが、Red Dwarf Serverと呼ばれる元の開発チームのメンバーによっては、http://www.reddwarfserver.org/にあるフォークがあります。 – Kynth

-1

私はゲーム業界では動作しませんが、これはQuakeとHalf-Lifeエンジンと同じようにビデオゲームで同じことをするように私に聞こえます。つまり、若い開発者が業界に関心を持ち、インディーゲームの開発を促進するよう促します。

私が言うことから、ビデオゲーム会社はコードの大部分を再利用しません。なぜなら、彼らの新しいゲームは古いものの再ハッシュであることを意味するからです。誰もがクールな新しい物理エンジン、優れたグラフィックス、ゲームをプレイする新しい方法を望んでいます。ほとんどのビデオゲームエンジンとフレームワークは特定のシナリオ用に作成されているため、他の状況ではあまり曲がりません。

多分ダークスターがそれを手に入れるだろうが、一般化はあまりにも多くのためにしか働かないので、それは疑いの余地がある。

+1

Darkstarはバックエンドコードであり、クライアント側のコードではありません。プレイヤー(一般的に)はバックエンドテクノロジを気にしません。 –

2

私が言うことから、ビデオゲーム会社はコードの大部分を再利用しません。なぜなら、彼らの新しいゲームが古いゲームの再ハッシュであることを意味するからです。

ええと...あなたがビデオゲーム会社の長い尾を指しているのなら、多分。一連の成功したゲームを持っている会社の中には、通常、ある程度の再利用があります。ハードウェアの主な変更により、多くの作業が省略される可能性がありますが、実際は会社によって異なります。

3

私に役に立たない技術が好きです。 MMOの世界は、独自の技術を既に持っているいくつかの大手ゲーム会社によって管理されています。インディー・ゲームの開発者はMMOの構築を試みることが大好きです。MMOの世界に侵入した大企業は、おそらく「実績のある」技術をライセンス供与するか、または独自の技術を拡張するだろう。

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

1

デザインやコードは楽しいようですが、最終的にはuseless abstractions(Joelから盗む)になると思います。

1

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

1

私はそれがすばらしいことだと思います。 開発者は、darkstarを投影するこれらすべてのことについて心配する必要はなく、使いやすいです。 しかし、インターネット通信に関するすべてのことを学ぶ必要がなく、動作させるだけではありません。プロジェクトダークスターは2年以上にわたって開発されており、ますます良くなり、より速く、より堅牢になっています。

このようなテクノロジーを代わりに使用できる特定のゲームを目指しているときは、これらのことを書くのは時間がかかりません。また、ランタイム中にアプリケーションのどこに減速やデッドロックの原因があるのか​​を伝える素晴らしい情報が表示されるので、改善することができます。

関連する問題