さて、私がこのページを作ろうと思った背景には、KONAMIのオフィシャルページでスコア計算の数式が公開されたことが大きくあります。
KONAMIのDDRオフィシャルページのSecret(開発秘話を意味するのでしょう)の『スコア計算式』の章(http://www.konami.co.jp/am/ddr/ddr3rd/plan/index.html)からスコア計算式の解説を下記に引用します。
『それでは
スコア計算式について詳しく説明しましょう。
まず、1ノートあたりの得点は
p:= 判定ポイント (PERFECT なら 10 GREAT なら 5 それ以外なら 0) N:= 譜面の総ノート数 n:= 何個目のノートか (範囲 1〜N) B:= ステージ基準点 (通常は 100万点) 補足 ノンストップの場合は ステージ基準点 B が ステージ倍されるので 2nd STAGE は満点2千万、3rd STAGE は3千万、4th STAGE は4千万になります。 コース 合計 の満点は (1+2+3+4)*千万 で 1億点 ! 開発室でもこのスコアにお目にかかったことは有りません。 の4つの値をもとに以下のような式で決定されます。 score = p*(B/S)* n ここで S は 1からN までの総和 N S = Σ m = (1+N)*N/2 m=1 すべてのノートを Perfectで踏むと N N Σp*(B/S) *n = p*(B/S) * Σ n = p* B/S * S = p * B = 10 * 1000000 = 10000000 n=1 n=1となります。実際には割り算で端数が出ますが端数は全て最後のノートに加算されます。
KONAMI DDR3rdMIX Secret「スコア計算式」から引用』
前章で述べたポイントはこの数式を文章化したものです。
Σ(シグマ)記号などが出てきて、なかなか、とっつきづらいイメージがありますよね。確かに、高校2年あたりで習う数学で出てくる記号ですから(^-^)別に私は数学の専門家というわけでもないので、誰にでも分かるようにうまく説明することもできないので(^-^)・・・この数式を本格的に読み解こうという方は、高校の教科書(私みたいなおじさんが高校生だった頃は「基礎解析」なんていう名前でしたが・・・今は違うんですよね(^-^))なりを読んでいただければ、というところなのですが・・・少しでもヒントになるようなことを書いていこうかと思います。
まず、Sを求めるのにΣ(シグマ)記号が使われていますよね・・ここでつまづかれる方も多いのではと思います。
基本的にΣ(シグマ)記号は数列で使われる記号ですよね。
1 , 2 , 3 , 4 , 5 ・・・
これは1ずつ増加する数列ですが、Σ(シグマ)で相手にする数列はこのように1ずつ増加する数列です。マイクロソフト社の表計算ソフトEXCELを使われている皆さんも多いかと思いますが、あのそふとで Σ のアイコンを押すと、指定した範囲を足し上げるsum関数が入力されますが・・・Σは、確かに足し上げる事を表す記号で、上記のような1ずつ増える数列を足し上げることを意味します。
たとえば
1+2+3+4+5 を意味することとして
5
Σ n
n=1
と表記したりします。nを1,2,3,4,5を代入して足し上げる・・・そんなことを意味します。
じゃあ、1+2+3+4+5と書いても同じではないか・・と思われるふしもありますが、1から5までなら書くのも大変ではないですが・・・これが1000までとかなったら大変でしょうから、そういうことを省くために作られた記号なのだと、私は勝手に思っています(^-^)まあ、Σ(シグマ)で書いた方が式に一般性がでて何かと便利なのでしょう。
では、
4
Σ n
n=2
はというと、もうおわかりかと思いますが 2+3+4 ということです。2から4まで1ずつ増加する数列を足し上げる・・・そんな感じでしょうか。
で、Sを求める式はこうなっております。
N
S = Σ m = (1+N)*N/2
m=1
これはシグマに関する非常に基本的な公式で・・高校生なら試験前には必ず覚えたりしてそうです。
N
Σ m
m=1
は今までの説明の通り・・・1からNまで1ずつ増加する数列を足し上げるということですから
1+2+3+4+5+・・・・・・+N
というわけです。Nは 譜面の総ノート数 ということですから、踊る曲によっていろいろな数になってきますよね。PARANOIAとかAFRPNOVAとかはきっとすごく多いですよね(^-^)
まあ、少し少なめに1から10までで
1+2+3+4+5+6+7+8+9+10
をちょこっと考えてみますと・・・まあ、手で計算しても55とすぐに出ますが、もう少し早く計算する方法としては、下記のように1から10の数列を逆に並べて二つの列を足し算します。
1+ 2+ 3+ 4+ 5+ 6+ 7+ 8+ 9+10
+ |10+ 9+ 8+ 7+ 6+ 5+ 4+ 3+ 2+ 1
----------------------------------
11+11+11+11+11+11+11+11+11+11
=11*10
まあ、こんな感じで最後の数、10に1加えた数が数列の個数である10個分並びますよね。ただ列を2個足していますからその半分にするために2で割りますと足し算の結果が出ます。
11*10/2=55
このような例を見てくると
N
S = Σ m = (1+N)*N/2
m=1
がわかりやすくならないでしょうか・・・1からNまで1ずつ増える数を足し上げるわけですから・・・最後の数Nに1を加えた数に数列の個数であるNをかけて、半分にするために2で割るという感じです(^-^)
ここまでわかれば、1ノート(矢印)あたりの点数を求めるのはすぐです・・・・
結局Bは定数(決まった数)ですし・・Sも上記の公式に入れてしまえばNが曲によって決まった数(定数)であることからおのずと定まります。要は B/S (B割るS)はどの曲を踊るかによって決まってくる定数っていう事になりますよね。1からNまで足し上げるSはもちろんNの数が大きければ大きいほど大きくなりますから・・・ステップ数が多い曲ではワンステップあたりの得点は低い、その逆は逆・・・ってことですよね。そして1ステップの得点には定数B/Sにnがかかっていますよね・・・このnはノート番号とでも言うべきもので1からNまで変化しますから・・・はじめの方と終わりの方ではよほど点数が違うって言うこともわかるかと思います。
次に
『すべてのノートを Perfectで踏むと
N
N
Σp*(B/S) *n = p*(B/S) * Σ n = p* B/S * S = p * B =
10 * 1000000 = 10000000 』
n=1
n=1
となっていますが・・・まあ、nは矢印のノート番号とでもいうものですから1からNまで1ずつ増加する数列ですよね。ですからそれを足し上げていく意味で
N
Σp*(B/S) *n
n=1
と表記するわけです・・・1ノート(矢印)ごとの得点を足し上げるわけです。
でも、ここで、疑問に思われるかもしれないのはp*(B/S) が次のところでΣの外に出ていることです。
さて、ここでもうひとつ、重要なΣの公式があります・・定数は外に出してよいということです。
5
Σ n = 1+2+3+4+5 = 15
n=1
これはオッケーですよね。
では
5
Σ 2*n = 2*1+2*2+2*3+2*4+2*5 = 30
n=1
これもオッケーですよね?(^-^)
そして
5
2* Σ n = 2*(1+2+3+4+5) = 30
n=1
これもオッケーですよね・・これは前の式と同じ30ですよね?そうなんです・・・定数は外に出してよいわけです。
さて、はじめの式に戻って・・・すべてPerfectの場合と条件がありますので、pは10で固定されているわけで・・・定数ですね。B/Sも先ほど説明した通り定数なわけです。
それらが外に出れば・・・残りは
N
Σ n
n=1
ですが、これは、前に説明した公式にのっとって
(1+N)*N/2
ですよね・・・最後の数に1加えて個数分をかけて2で割ると・・・
これはとりもなおさず S なわけです
それは割り算で消えて
p*B
なわけで
Bは百万点、pはすべてPerfectの場合と条件から10
かけ合わせると、千万点・・・よって満点は千万点なわけです(^-^)
つたない説明でしたが・・いかがだったでしょうか・・・
先ほども書きましたように私は数学の専門家でもありませんので・・・数学的な厳密性に欠ける説明かとも思われますが・・・ご意見などございましたら、ご指摘いただけましたら幸いです。
スコア計算の数式の意味がわかってみると前章でのポイントはすべてこのコンパクトな数式の意味を文章で表現したものだと容易におわかりになると思います。
頭ではわかっていても、なかなか、その通りには動けないのがDDRですが・・・スコアアタックする際に、スコア計算のされ方がわかっていれば、例えば、つなぎ損ねても・・そこで一気に落胆することもなくスコアアタックを続けられるでしょうし・・・いろいろプラスにこそなれマイナスにはならないでしょう(^-^)