DimensioneXはオープンソースで無料のマルチプレイヤー エンジンです。
一般的にブラウザベースのマルチプレイヤーゲームや環境の作成を目的としており、1999年から存在し、MMORPGゲーム、研究、教育、プロモーションアプリケーションに使用されてきました。
DimensioneX は Java で記述されており、中国語やロシア語などの東洋言語を含む多数の言語をサポートしており、当初から SourceForge .net に存在しています。
主な特徴
- ゲームの世界は、DXW(DimensioneX World)形式と呼ばれる専用言語で定義されます。この構文により、プログラマーは部屋、ドア/リンク、アイテム、キャラクターを定義できます。
- 残りの必要な操作はすべて、Visual Basic/VBScript に非常によく似たオブジェクト指向スクリプト言語を介して追加されます。
- エンジンはグラフィックエンジンではなく、クライアントはサーバー側で生成されたHTMLとJavaScriptの組み合わせです。シーングラフィックは、プログラマーが提供した静止画像とアイコンを積み重ねることで得られます。
- このエンジンは、ゲーム内のサウンドや音楽のほか、Flash ファイルやその他の種類のファイルもサポートします。
建築
DimensioneX のエンジンは Java 言語で記述されており、クライアント部分は HTML+JavaScript に依存しています。
サーバーオブジェクトは起動時にインスタンス化される単一のJavaサーブレットであり、DXWファイルからワールド定義を読み取り、メモリ上に再作成します。その後、メインサーブレットはワールドの状態をメモリ上に保持し、クライアントコマンドを受け入れて管理対象ワールド内のキャラクターやアイテムの位置を更新します。
クライアントは、標準のHTTP POSTプロトコルを介してメインコアと通信することを想定しています。メッセージには、ログイン、ログアウト、view(プレイヤーが現在いる部屋のビューを取得)、move(4方向と上下)、pick、dropなどのコマンドに加え、最大2つのパラメータを持つカスタムコマンドが含まれます。
クライアントとサーバー間の通信は非同期で、複数のコマンドを並行して送信できます。ゲームコア内には、リソースとゲームの一貫性を確保するために、セマフォを用いたクリティカルセクションが実装されています(例えば、アイテムを複数の人が拾うことはできません)。
DimensioneX の世界では、使用されている Web プラットフォームの固有の性質により、誰もゲーム時間を使用していなくてもすべてがリアルタイムで発生し、クライアントがサーバーに初めて接続したときにすべてが発生するように「フリーズ」と表示されます。
サーバー コア (サーブレット) とクライアント (通常は JavaScript を使用した HTML) 間の通信方法により、モバイル デバイスを含むあらゆるアーキテクチャでクライアントを実装できます。
このゲームエンジンはオープンソースであり、あらゆるユーザーからの貢献を受け付けています。人間とコンピュータのインタラクションに関する研究で、既に数多く利用・採用されています(参考文献参照)。
人気のゲーム
- Sottomondo の英語版は Underworld Online として知られています。
- ネットワークアリーナ
- ドラゴンハンター
参考文献
- ヒューマンコンピュータインタラクション - アンビエント、ユビキタス、インテリジェントインタラクション、Juile A. Jacko、議事録、2009年
- 空港緊急事態管理プロトコルを学習するための仮想環境、Telmo Zarraonandia、Mario Rafael Ruiz Vargas、Paloma Díaz、Ignacio Aedo、Springer、2009 年
- マルチチャンネル ゲーム プラットフォーム ジョアン リベイロ、2007 年
- Wikipediaのゲームエンジン一覧
- 2003 年以来、マルチメディア マルチプレイヤー環境の開発のためのトレーニング プラットフォームとして、イタリアのトリノ大学のDAMS マルチメディア大学コースで使用されています。
- 2005 年には、ノルウェーのトロムソでFINNET プロジェクトにおいて、特に言語に適用されるトレーニングでのロールプレイの実験に使用されました。
- 2005 年 12 月から、イタリアのボローニャとフェラーラで子供たちにプログラミングを教えるために使用され、数回のレッスンで子供たちは MMORPG ゲームをゼロから開発できるようになりました。
外部リンク
- DimensioneXホームページ
- DimensioneX 開発者リファレンス
- ディメンションX ウィキ