見出し画像

レベルアップの仕組み導入 (ゲームみたいなニュースサービスを作ってみる 11)

前回のおさらい

どうも、gokeです。
前回は戦闘画面を作ってとうとう記事を読めるところまできました。
今回は経験値とレベルアップについて考えていきます。

経験値を貯めるとレベルが上がる

作成しているゲームは基本的には「ニュースを読む」という機能しかありません。
でもこれだけだと面白くないので「記事を読めば読むほど経験値が溜まってレベルが上がっていく」という要素を加えようと思います。
普通のRPGだとこんな条件があります。

・敵の強さに比例して経験値が増える
・経験値がたまるとレベルが上がる
・レベルは上がれば上がるほど次のレベルに必要な経験値が増える

例えばドラクエ10の経験値とレベルの関係はこんな感じになっているようです。

途中までは必要な経験値がなだらかに増えていきます。
レベル70を越えると必要な経験値が一定になります。
おそらくレベル70くらいまでは敵がどんどん強くなるので1回の戦闘で手に入る経験値が増えていくので必要経験値も上がるのですが、冒険の終盤に差し掛かるとそれ以上強い敵が現れないので一定になるのだと思います。
レベル85くらいから急激に伸びてますがやりこむ人用だと思うので無視しましょう。

と、一応ドラクエの分析をしてみたのですが作成中のゲームは先に進むほど強い敵が出るという設定にはならなそうです。
そこで単純に、

一定数の記事を読むとレベルが上がる

という設定にしようと思います。
レベル1→レベル2もレベル98→レベル99も
同じくらいの記事を読めばいいということです。
ちなみにドラクエには上限がありますがこのサービスにはレベルの上限はつけないことにします。

レベルアップのロジックを導入する

レベルは無限にあげられる前提ではありますが、とりあえずレベル1000までのテーブルを作ってみました。

あとで変えるかもしれませんが一旦こんな感じ。
経験値はニュースの文字数にしました。つまり記事の文字数が多ければ多いほど経験値がたまるというロジックです。
トータルの経験値が特定のレベルの閾値を越えるとレベルが上がります。
これらを実装した結果がこんな感じです。

gifアニメの容量に制限があるのかこの尺しかお見せできないのですが、一通りやりたいことができた感じです。
あとは適当な時間でエンカウントすればRPGっぽいですね。
ということで、「ゲームみたいなニュースサービス」ができたんじゃないでしょうか。
次回はここまでできたところを振り返ってみようと思います。

この記事が気に入ったらサポートをしてみませんか?