Jewel-mmo開発日記

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

[Rails][プラポケ]ステージ機能実装方針

ステージ機能というのは、ランキングを集計する期間に区切りを作って、 期が変わればまた気分を一新して頑張れるよ、という仕組み。 他にも上位をキープするプレイヤーのプレッシャーを開放するという作用もある。 で、やっぱりこれがないと、エンドレスなわけでほんと辛いんで、 この機能が入るまでは長期運用はできないと思っている。

前置きはさておき、実装方針。 とにかく少ない修正で実現したい。

  • テーブルgame_environmentsにカラムnum_remainder_gamesを追加
    • ステージの残りゲーム数をカウントダウン
    • num_remainder_gamesが0になったときにステージ切り替え処理を行う
  • 切り替え処理
    • ランキングを計算してDBに突っ込む。1ステージ分のデータ(2次元配列)を1レコードに突っ込む(切り替え処理のときではなく毎
    • ステージ数をインクリメント
    • スケジュール、試合結果データをすべて削除
  • あとは通常のスケジュール作成処理を行えばOK
  • 過去のランキングを見れるようにする
    • そうかステージランキングを毎日更新すればいいわけだ
    • で最新のランキングもDBから引っ張ってくるようにする
    • 新しくrankingsテーブルを作成
  • ステージ切り替えのお知らせメッセージを追加