Jewel-mmo開発日記

RubyでMMORPGを作る過程を記録する日記。 Yokohama.rb 発起人。
2008-11-15

[アイデア]Worldクライアントの起動プロセス

  1. ロビーチャンネルに接続(この時点ではShootingStarの接続(ch:chat)のみ。もちろん認証なし)
  2. Worldクライアントからプレイヤー操作でログインアクションを送信
  3. ログイン(認証)に成功したら、Worldクライアントにreboot要求
    • 認証モードでreboot。urlは'./?login=access'
  4. サーバーはloginモードでアクセスされた場合は、以下の状態でクライアントを起動する
    • viewに「loginSuccess関数 => true」を定義する
    • chをエリアのチャンネルに設定
  5. エリアチャンネルのチャット接続が確立されたらサーバは以下のコマンドをサーバーに発行
    • マップ表示
    • キャラクター表示

エリア移動に関して。

  1. クライアントで出口に移動
  2. クライアントから他エリアへのログインアクションを送信
  3. エリアログインの認証に成功したら、Worldクライアントにreboot要求
  4. エリアチャンネルのチャット接続が確立されたらサーバはオブジェクト表示コマンドを送信

コンセプト

  • クライアントはサーバーからのコマンドでもろもろの操作が可能
  • つまり表示物のオールクリアもできるし、地面も表示コマンドで制御できる
  • →サーバーとの接続が確立したら、ますサーバーは表示部の表示コマンドをひとつずつ送信する(まとめの初期化コマンドではなく)
  • オールクリアのコマンド