| 原作者 | サン・マイクロシステムズ |
|---|---|
| 初回リリース | 2007年8月30日 |
| 安定版リリース | 0.9.11 / 2009年10月29日 |
| 書かれた | ジャワ |
| プラットフォーム | ジャワ |
| タイプ | MMOGミドルウェア |
| ライセンス | GPLv2、BSD |
| Webサイト | Wayback Machineの「Project Darkstar」(2010-02-08 アーカイブ) |
Project Darkstar は、 Javaで記述され、ゲーム エンジン ミドルウェアとして展開された、 MMOG開発用の廃止されたオープン ソースフレームワークです。Project Darkstar は 1999 年に Jeff Kesselman の個人プロジェクトとして始まり、後にSun Microsystemsの研究プロジェクトになりました。[1]その目的は、「ゾーンのオーバーロード、データ破損、サーバーの低利用など、今日の大規模なオンライン ゲーム、仮想世界、ソーシャル ネットワーキング アプリケーションに関連するさまざまな深刻かつ典型的な問題を開発者とオペレーターが回避できるようにする」ことでした。[2] [3]
歴史
Project Darkstar は、1999 年にジェフ ケッセルマンが Total Entertainment Network のシニア ゲーム統合エンジニアだったときに、彼の個人プロジェクトとして始まりました。2004 年に、サンのゲーム技術グループがサン マイクロシステムズの最高ゲーム責任者であるクリス メリシノスによって結成され、[4]その時にケッセルマン氏はプロジェクトの 3 番目のイテレーションをグループに持ち込み、「Sun Game Server」(SGS) と名付けました。(この頭文字は、Project Darkstar Server が終了するまでパッケージ名に残っていました。)
ケッセルマン氏は、サンで 1 年間、単独プロジェクトとして第 3 バージョンの開発に取り組み、その年のゲーム開発者会議(GDC) で初期バージョンを初公開しました。2005 年にソフトウェア CTO オフィスが再編された後、メリシノス氏とケッセルマン氏は、サン ラボのディレクターであるカール ハバール氏の指揮下でプロジェクトをサン ラボに移しました。カール氏は人員を増やし、セス プロクター氏とダン エラード氏を共同研究者として、また契約社員のジェームズ メグキア氏とステン アンダーソン氏を加えました。このチームは、現在アーリー アクセス バージョンとして知られる、最初の実用サーバーを GDC 2005 に提供しました。
2010年2月2日、 OracleによるSunの買収を受けて、Jim Waldoは「プロジェクト発表」フォーラムに「Sun Labsのエンジニアリング努力はDarkstarの開発には適用されなくなりました」と投稿した。Sun Labsチームのメンバー数名とDarkstarコミュニティのメンバー数名が、 Darkstarの後継としてRedDwarf Serverの開発にしばらく取り組んでいた。[5]
特徴

Project Darkstar サーバー実装が実行されると、新しいネットワークが開始されるか、現在実行中のネットワークに参加します。すべてのネットワークには、クライアント、サーバー実装、サーバー実装が実行される Project Darkstar スタック、およびサーバー スタック内の各ノード間のトラフィックを処理する複数のメタサービスノードが含まれます。サーバー実装は、 Project Darkstar APIを使用して記述されたユーザー作成プログラムです。クライアントには、ネットワーク内のゲーム サーバーに接続されているすべてのクライアント側アプリケーションとゲームが含まれます。
Project Darkstarは、大規模マルチプレイヤーゲームに不可欠なすべての機能をサポートするように設計されており、同時に、大規模マルチプレイヤーではないオンラインゲームをサポートするのに十分なスケーラビリティを備えています。[6]そのため、多くの機能がサポートされており、多くの機能が積極的に実装され、統合されています。[説明が必要]
Project Darkstar の API は、この技術を使用する開発者にとって重要なコンポーネントでした。開発者は、この API を使用することで、クライアント技術と正しく通信するゲーム サーバーを開発し、Project Darkstar ゲーム スタック上で稼働するサーバーを稼働させることができました。この API は、スタックが開発者のために実行する基盤システムの並行性を隠すように記述されているため、スタックが完全に並列であっても、プログラムはシングル スレッドであるかのように記述できます。API の主な部分には、タスク管理、データの永続性、チャネル通信が含まれます。[7]
Project Darkstar サーバーの情報の制御は、通常、タスクによって処理されますが、特別な場合にはタスクは必要ありません。タスクは、サーバーのクラッシュやシャットダウンからデータの保存や取得を保護する必要がある場合に使用されます。タスクは実行時に保存および記憶され、サーバーがクラッシュ前と同じ状態で再起動されると再生成されます。[8]これは、たとえば、キャラクター情報を更新するときに役立ちます。サーバーの内部で何か問題が発生した場合、キャラクター情報は保持され、サーバーの再起動時に、クラッシュ前の最後の状態からキャラクター情報が復元されます。[要出典]
Project Darkstar で使用されている Berkeley DB には、永続化されるすべてのデータが保存されます。データベースはバイナリ情報を保存するようにプログラムされているため、データベースに保存されるものはすべてシリアル化可能でなければなりません。管理対象オブジェクトは、プレーヤー データ (位置、装備など) から内部サーバー データや制御ロジック (スケーラブルなデータ構造、タスクなど) まで、あらゆるものになります。管理対象オブジェクトの有用性は、サーバー障害のインスタンスで明らかになります。管理対象オブジェクトはトランザクション的に更新されるため、破損したデータはサーバーの再起動時に破棄され、管理対象オブジェクトは最後の動作状態にロールバックされます。[引用が必要]
チャネルは、開発者に多数のクライアントと通信するための簡単な方法を提供します。チャネルは、クライアントにチャネルをサブスクライブする方法を提供することで機能します。これにより、クライアントはチャネルにメッセージを送信したり、チャネルからメッセージを受信したりできます。クライアントまたはサーバーからチャネルにメッセージが送信されると、そのメッセージはサブスクライブしているすべてのクライアントにマルチキャストされます。これは、通信層の上に構築された抽象化であり、多数のクライアントとサーバー間の簡単で拡張可能な通信の開発に役立ちます。[引用が必要]
注目すべき用途
- Open Wonderland - 共同3D仮想世界を作成するための100%Javaオープンソースツールキット[9] [10]
受付
一部の著者は、高度にインタラクティブなゲーム環境では、中央オブジェクトストアと分散ランダムアクセスの管理は現実的には不可能かもしれないと示唆している。[11]
レッドドワーフ

RedDwarf Serverは、大規模マルチプレイヤーオンラインゲームのサーバー側を開発するためのオープン ソースのミドルウェアソリューションでした。これは、Project Darkstarの公式コミュニティフォークでした。Oracleがプロジェクトのサポートを中止すると、コミュニティはProject Darkstarのリポジトリの最新のコードベースをリブランドし、RedDwarf Serverとしてリリースしました。 [12] RedDwarfはProject Darkstarのライセンススキームを継承し、RedDwarf ServerはGPLv2で配布され、サーバーAPIはクラスパス例外付きのGNU General Public License (GPL)で利用可能になりました。RedDwarfプロジェクトの一部として利用可能なJavaおよびCクライアントAPIは、 BSDライセンスで配布されました。[13]
クライアントはJavaまたはC APIを使用してサーバーと通信できます。コミュニティでは、C#、Python、Objective-C、ActionScriptなどの追加プラットフォーム用のクライアントAPIもリリースされています。[14] RedDwarf Serverは、ネットワーク通信に組み込みプロトコルを使用します。[15]
参考文献
- ^ Stephen Shankland (2006). 「Sun の Project Darkstar はゲーム サービスを目指している」 CNET 。 2012 年 2 月 27 日閲覧。
- ^ブレント・ラボウスキー、ラジオシティ・プレス( 2010年1月8日)。インタラクティブ・エンターテイメント:ビデオゲーム業界ガイド。gameindustrybook。p.55。ISBN 978-0-9842984-1-9. 2012年2月27日閲覧。
- ^ Tim Blackman (2006). 「Project Darkstar のスケーラブルなデータ ストレージ」(PDF) . Oracle.com . 2012 年 2 月 27 日閲覧。[永久リンク切れ ]
- ^ 編集者、Rob Fahey 寄稿 (2003-06-05)。「Sun が Game Technologies Group との主要な取り組みを開始」。GamesIndustry.biz。2024年9 月 16 日閲覧。
{{cite web}}:|last=一般的な名前があります (ヘルプ) - ^ “RedDwarf Server”. 2010-02-17. 2010-02-17時点のオリジナルよりアーカイブ。 2020-07-17閲覧。
- ^ Andrew Davison (2007 年 4 月 30 日)。Pro Java 6 3D ゲーム開発: Java 3D、JOGL、JInput、および JOAL API。Springer。p . 10。ISBN 978-1-59059-817-7. 2012年2月27日閲覧。
- ^ ディオミディス・スピネリス、ゲオルギオス・グシオス(2009年1月22日)。美しい建築。オライリー・メディア社、p.52。ISBN 978-0-596-51798-4. 2012年2月27日閲覧。
- ^ Vaclav Snasel、Jan Platos、Eyas El-Qawasmeh (2011 年 8 月 20 日)。デジタル情報処理と通信: 国際会議、ICDIPC 2011、チェコ共和国オストラバ、2011 年 7 月 7 ~ 9 日。議事録。Springer。p. 219。ISBN 978-3-642-22388-4. 2012年2月27日閲覧。
- ^ ジョセフ・フォン、レジー・クワン、フー・リー・ワン (2008)。ハイブリッド学習と教育:第1回国際会議、Ichl 2008 香港、中国、2008年8月13~15日議事録。シュプリンガー。p. 57。ISBN 978-3-540-85169-1. 2012年2月27日閲覧。
- ^ Youngkyun Baek (2010 年 4 月 1 日)。教室での学習のためのゲーム: 学習の動機付けとしてのデジタル ロール プレイング。Idea Group Inc (IGI)。p. 272。ISBN 978-1-61520-713-8. 2012年2月27日閲覧。
- ^ Hamido Fujita、Imran Zualkernan (2008 年 10 月 15 日)。ソフトウェア方法論、ツール、テクニックの新動向: 第 7 回 SoMeT_08 議事録。IOS Press。p. 359。ISBN 978-1-58603-916-5. 2012年2月27日閲覧。
- ^ 「Reddwarfserver | 良い本を手に入れよう -」。
- ^ 「Reddwarfserver | 良い本を手に入れよう -」。
- ^ 「RedDwarf」2013年4月23日。
- ^ https://svn.java.net/svn/sgs-server~svn/branches/sgs-server-0.9.10/sgs-server/src/main/resources/com/sun/sgs/impl/kernel/doc -files/config-properties.html
外部リンク
- プロジェクト・ダークスター
