新beatmaniaIIDX INFINITAS Monthly Active Users計画
[2023/09/27]
先月更新を終了した「beatmaniaIIDX INFINITAS Monthly Active Users」のお話。
beatmaniaIIDX INFINITAS Monthly Active Usersサ終
以前にも書きましたが、INFINITASのMAUをまとめていたページの更新を終了しました。
beatmaniaIIDX INFINITAS Monthly Active Users
理由としては"INFINITAS公式のライバル検索で「最終プレー日時」の項目が消えたため"です。
すぐに修正案も思いつかなかったしとりあえずはサービス終了するしかなかった訳ですが、やり方次第で似たようなことできるよなってずっと考えていました。
DJ POINT
INFINITASは毎月必ず楽曲の追加が行われます(通常のだとBITで解禁が2曲)。
所持済みの曲を全解禁して、もうスコア・クリアマークに伸びる余地がないとしても、楽曲が増えればDJ POINTは増加します。
「DJ POINTが増える=プレーしたと判定すればいいのでは?」と思った訳です。
変更点
ただ、今までと同じようにすることはできません。
取得するタイミングの問題
今までは"前月にプレーした人"のDJ DATAを月の頭にまとめて取得していました。
"前月にプレーした人"が分からないということは、"全員"のDJ DATAを取得する必要があり取得する件数が増える。
流石にまとめて取得は時間がかかるし負荷が増える。時間をかけてゆっくり取得するしかないのかな。
そうなったときに起きるのが、取得タイミングの問題。
例えばプレイヤーAさんのデータを9月1日に取得し、DJP 1000でした。プレイヤーBさんのデータを9月3日に取得したらDJP1100でした。
この場合、当然プレイヤーBさんが上に表示されます。
ところが、実はプレイヤーAさんは9月2日にたくさんプレーをして9月3日の時点ではDJP 1200でした。
正しくはプレイヤーAさんが上に表示されないといけないものが、プレイヤーBさんが上に表示される訳です。
新規プレイヤーの検出
全員のDJ DATAを取得と書きましたが、正しくは全員かわかりません。
手持ちにプレイヤーのリストを持っているのですが、これに新規プレイヤーを追加する方法が難しい。
今までは最近プレーした人を50件まで取得できていたので、時間を空けて何度か取得していれば漏れはあまりなかった(はず)。
代わりになる方法を考えるのが難しい。案としてはDJ POINT検索で「100」で検索するという方法。
DJ POINT検索は指定の値から上下100までの範囲で検索がされます。「100」で検索すれば「0~200」のプレイヤーが最終プレー日順に取得可能です。
新規プレイヤーがあまりいないので、おそらくこれで新規プレイヤーが取得できるかなーって思っています。
ただ、上手い人が何曲もプレイするとDJ POINT 200なんて一瞬で超えてしまう。じゃあ加えて「300」で検索すれば「200~400」の範囲で取得できるので…
と考えているといったいいくつまで取得すれば「ほぼ漏れなく新規プレイヤーを検出できるのか?」と悩んでいるところ。