ロビーサーバについて詳しく。掲示板に書くには長すぎるのでこっちに書きます。
とりあえずロビーサーバ実現には2通り方法があって,既存のサービスをそのまま使わせてもらう方法と自力で構築する方法がある。
- 既存のサービスを使う場合,特に DirectPlay を使えば構築は比較的簡単で,サーバを用意する必要もなくてお手軽。その代わりチャットと対戦のサポートしかできない。
- 自力で作る場合,自力でサーバを用意し,自分で全て実装する必要がある。その代わりいくらでも付加機能を付けることができる。
で,今考えてるのは自力でロビーサーバを構築する方法。やっぱりせっかくやるんなら付けてみたい機能もあるし。ということで,ここ 1 月ほどいろいろ考え,実際に実験も行ってみて,ロビーサーバ自体については実現可能な感じがしている。まあ基本的には人の管理とチャットができればいいだけなのでそこまでは大変ではない。
現在の問題点としては,
- もし人数が多くなってくると今の denasu.to の通信環境では荷が重いかも知れない。
- 個人のサーバ,個人で作ったプログラムだと,情報の扱いに少々不安を感じるかも知れない
- 今まで IRC やメッセンジャーなどでウェザタイを使っていた人にとっては,今更ロビーができても来ることはないかも知れない
といったところ。1 については,とりあえず実験的に運用してみて,人が増えてきたら通信容量が十分な環境に乗り換えればよいだろう。
2 について説明すると,チャット内容等をサーバに記録・盗聴していないという保証ができないということ。サーバのソースを公開すればある程度安心できるかも知れないが,それでも不安なので参加しない,という人はいるだろう。ちなみにロビーサーバを使うと IP を直接指定しなくてもよくなるが,通常 P2P 型のネットゲームでは全てのデータをサーバ経由でやるわけではないため,対戦相手の IP は調べようと思えば調べられる,はず。これはまあしょうがない。
3 については,ロビーサーバを自作したならではの機能次第であると思われる。今考えているのは,マルチプレイランキング。自分の得点だけで順位を決めるシングルプレイと違って,どれだけ強い人に勝ったかでランキングの順位を決めるモードがあれば面白いと思う。
具体的には,ランキングに参加する人は名前登録を行い,その後,ランキング参加者同士で公式ワードで対戦するとサーバに対戦結果が残る。そして自分より上の相手に勝つとポイントアップ,負けるとポイントダウン,みたいなシステムを考えている。まあこれだと上位の人は下位の人と対戦するメリットがないとかトップの人は何もしなければトップを守れるとか問題が出てくるので対策が必要だが。
他にもこんな風にやったらいいんじゃないか,とかがあれば,掲示板に書いてもらえるとありがたいです。