最初に念入りに断っておきますが、あくまで個人の妄想です。色々突っ込みどころが満載かもしれませんので、意見をいただけると幸いです。
ネット段位戦の妄想が始まったきっかけは、スト3OEのランクマッチが使い物にならない、という点です。ランクは一応あるんですが、負けてもポイントが減るわけでもなく、オーバーフローしたらランク0に戻ってまたやり直し、という無限ループなのでランクとしての指標を成していません。
格ゲーは同じくらいの強さの人と対戦できないと、お互いに不幸な時間を過ごすことになるかと思っているので、その辺を打開できるシステムを自分達で作ろうとした場合、すでに存在している方法だとXbox360用の初心者タグやガチ対戦タグだと思います。
これでも十分に作用しているのではないかと思うんですが、もう一歩踏み込んで本来のランクマッチ的なことができないかと考えた時に、段位戦の存在を思い出しました。コレをネット用専用で運用できたら面白いかも、と。
未だに一度も段位戦をやった事がないのでルールを理解してなかったんですが、こちらの記載を見る限りでは意外とスッキリしたルールなので、オンラインで管理できるんじゃないかなぁ、と妄想が広がります。どのようなテーブルを用意すべきか、どんな機能が必要か、と要件定義するのは楽しい限りです(実際に作り始めてないから)。
ただ、意外と難しい点があるのに気付きました。実装よりも運用的な面の方が面倒かも、と。思いついた難点を挙げてみます。
- 同じ対戦の結果を、プレイヤー両者が登録したらどうしたらいいか。一日に同じプレイヤー(キャラ)で二回以上対戦してはいけない、というルールもないので区別がつけづらい。逆に言うと、一日一回というルールにするなら、重複を弾けばいいからSQL文でDISTINCTを適切に書けばいいだけなんで、とても楽。
- 同じ対戦結果に対し、矛盾した結果を二人で入力してしまった場合(二重登録とも関連している話ですが)はどうすべきか。入力時点で、同じ対戦は登録不能、とすればいいのかもしれないけど、それも同じ日の対戦は一度、という縛りがあればの話。
- 誰でも自由に入力出来ないと価値が薄いけれど、上記のような理由から、管理人を複数人設けるとかして入力して、出来るだけ入力誤りを防ぐのが現実的かも。ただ、どんなシステムでも完璧に入力誤りを防ぐのは不可能。人は必ずミスをするが、ミスをシステムでは完璧に感知できない。
- 後からデータ修正時の連勝判定で、どこまで遡って修正出来るか考えておかないと、処理が重くなりそう。締め処理が無いのに前月累計を求めるようなシステムがあったら、最初から集計しないと出来ない、と想像していただければ分かりやすいかと。仮に締め処理するにも、どういう基準にすべきか。
- OE専用だからネット環境が各プレイヤーにあるという前提だと、一人が結果を書き込んだら、対戦相手が認可されたら正式なジャーナルデータとして、段位に反映させる承認形式はどうだろう。結果を書き込みしたら、登録メールアドレスに通知がいけば便利か。でも面倒だし、即時性がない。一日一回のみ対戦可能、ならともかく。
- プレイヤー選ぶのがめんどくさそう。データ上は登録ID使うとして、プレイヤー検索や簡易選択がないとダメっぽい。
- 一番の問題は、果たしてこんなの用意して使ってくれる人が居るのか、という点。
という事を考えたのは、単に出張先で使えるノートPCを購入したので、夢だけが広がりまくってる、というだけなんですが。他にもやりたい事があるので、この件については優先順位は低いし、そもそも懸念事項が消えて仕様の方向性が定まらないと、作りようがないですね。ホント運用が一番面倒。
サード界隈のSEと話す機会が殆ど無いから、これをきっかけに意見を聞けたら嬉しいところですが、そもそも何人くらいいるんだろうか。意外と多い気もするんだけど、とりあえずJava+Struts1系使ってる人はあんま居ないだろうから、もし作るんだったらPHP5とMySQLの組み合わせでいこうかな、と思ってます。
まぁ日曜プログラマー的な進め方になるから、5ヵ年計画くらいの気長な気分です。それまでみんなサードやってるのか、って問題があるかもしれませんが10年以上やってる人たちがいまさら止めるとも思えないんですしね。
コメント