Jewel-mmo開発日記

RubyでMMORPGを作る過程を記録する日記。 Yokohama.rb 発起人。
2005-10-19

[仕様] システム構成概要

使用する言語は全て Ruby 。

クライアントのシステム構成

  1. Web ブラウザ
  2. Nadoka + 専用 bot
  3. ActiveScriptRuby + HTA(HTMLアプリケーション)
  4. プレイヤーの任意で IRC クライアント

2 と 3 があるので Ruby と Windows(+ActiveScriptRuby) 環境が必須。ただ将来的には 2 は Web サービスとして提供し、 3 は JavaScript に移植することで幅広いプラットフォームに対応させたい。 3 は HTMLアプリケーション以外になる可能性も十分にある。

当面ユーザーは Windows にて ActiveScriptRuby をインストールする必要がある。

Web インターフェースを除くとサーバー側と通信を行うのは 2 の Nadoka + bot 。 bot は irc を通さないメインサーバーと直接通信も行う。 3 は Nadoka が取得した情報を視覚化し Nadoka への操作を GUI 化するという位置づけになる。 2 と 3 の接続は drb が有力。

サーバーのシステム構成

  1. Linux + Ruby + MySQL
  2. Web インターフェースは Rails で実装
  3. チャットサーバーは ircd + Nadoka(+bot) で構成
  4. メインサーバーは XML-RPC (を使うのが今のところ有力)

http と irc を使ってネットワークを実現する。

チャットサーバーは会話以外にも同一エリア内の PC の視覚的なエフェクト情報の共有にも使われる。視覚効果や各種ゲームステータス情報はチャットサーバーを通してクライアントに送信されるため、メインサーバーは PC のアクションをクライアントか受け取る単方向通信である。

プレイヤーのインストールとプレー開始の手順

  1. ActiveScriptRuby のインストール
  2. クライアントのプログラムのダウンロード
  3. HTA ファイルを起動(このプログラムが自動的に Nadoka を起動)
  4. Web からユーザー登録とキャラクタ作成(その他の操作)

プレイヤーから Nadoka の存在は見えないようにする。任意で IRC クライアントを用いて Nadoka に接続することが可能。自前の Nadoka を利用することも可能(プレイヤーによる PC 操作ボットの開発等に便利)。