【サイトについて】
* RPGツクールMVを使った、ゲームを一層楽しくするためのアイディアや、豆知識、プラグインなどを紹介していきます。あくまで個人の考えに基づく記事ですので、参考程度にお読みいただければ幸いです。
<< ストレスフリーなランダムエンカウントを目指す | main | 謎解き要素を作ろう!(下準備編) >>
スポンサーサイト
0

    一定期間更新がないため広告を表示しています

    | - | |- |
    こんなに面白いダメージ計算式の世界
    0
      今回はスキル作りについての小ネタです。
      敵に与えるダメージ量や、味方をHPの回復量などを設定する時、[計算式]という欄にその計算式を入れますよね。



      上の画像はツクールMVでプロジェクトを作成した時、スキルの通常攻撃欄を見ると、a.atk * 4 - b.def * 2という数値が既に入れられています。このとき計算式欄上にマウスカーソルを置くと、こんな表示が出て来ます。



      つまり、a.atk * 4 - b.def * 2は
      「使用者の攻撃力の4倍」−「対象者の防御力の2倍」という意味なので、
      プレイヤーの攻撃力が70で、敵の防御力が40の場合は、200前後のダメージになる事が分かりますよね。

      この計算式に使用可能なステータス一覧は本体ヘルプにも書かれている事なので、
      「そっかぁ、これだけでダメージ計算を組む事しか出来ない感じか〜」
      と不満を募らせる作者さんも多いのでは無いでしょうか。

      しかし! これだけではありません。
      この計算式欄にはもっともっと色んな値を入れることが出来ます。

      その一例を紹介していきたいと思います。

      Math.max((a.atk * 4 - b.def * 2),a.luk)
      敵の防御力が高くて通常攻撃が通らない相手でも、a.luk つまり攻撃する者の「運」が最小保証ダメージになります。パーティーレベルが高すぎて雑魚敵からのダメージが0になってしまうのを避けるために、敵側の通常攻撃にこの数値を入れたりしました。


      Math.floor(Math.random () * 5) + 1
      1〜6までの数値の中からランダムで数字を算出し、ダメージを与えます。
      ダイスを振る様な特技にはもってこいの計算式です。
      1〜200までの数値の中からランダムでダメージを与えたい場合は、Math.floor(Math.random()*199)+1とします。
       

      if ( b.level%5 == 0 ) {9999} else {0}
      条件式だって組み込めちゃいます。
      レベル5の倍数のキャラには9999を与え、それ以外はノーダメージという、FFにおける「レベル5デス」的な計算式です。




      $gameParty.steps()
      なんと敵味方のステータスとは全く無関係なパーティーの歩数を計算式に入れることも出来ます。



      画像は6歩歩いて戦闘開始した状態で特技を使用。
      参考までにFF6にも「歩数ダメージ」という面白い青魔法がありましたが、その計算式は歩数÷32、消費MPはプレイ時間×2でした


      $gameParty.gold()
      パーティーの所持金です。



      画像は1200G所持した状態で特技を使用。
      「銭投げ」の様なものが作れます。
      (所持金を減らすには計算式を調整しコモンイベントを併用するといいでしょう)


      $gameTroop.turnCount()
      現在の戦闘ターン数です。



      画像は4ターン経過した状態で特技を使用
      ターンをかければかけるほど強くなったり、弱くなったりする特技なんていかがでしょうか。


      $gameSystem.battleCount()
      パーティーの戦闘回数

      $gameSystem.winCount()
      パーティーの戦闘勝利回数

      $gameSystem.escapeCount()
      パーティーの戦闘逃走回数

      この辺りは長編RPGではかなり使えるかも知れませんね。
      FFでも(FFばかり例に挙げてますが)逃げれば逃げるほど攻撃力が強くなるチキンナイフという武器がありました。この式を入力しておく事でそういったスキルが簡単に実装出来ます。

      もちろんこれらの式にも計算を組み入れる事が可能。
      例えば戦闘回数を2分の1したダメージを与えるには、

      $gameSystem.battleCount() / 2

      戦闘勝利回数から逃走回数を引いたダメージを与えるには、
      $gameSystem.battleCount() - $gameSystem.escapeCount()

      を入力欄に書き入れる感じですね。

      他にもまだまだ。
      $gameSystem.playtime()
      プレイ時間

      $gameTimer.seconds()
      タイマーの残り秒数

      $gameSystem.saveCount()
      セーブ回数

      セーブをすればするほど弱くなってしまうスキルとか、タイマーの残り時間が減ってピンチになるほど強くなる一発逆転スキルとか、いろいろ遊び心があって楽しいでしょう。取得出来る数値はまだまだ沢山ありますので、是非面白いダメージ計算式を作ってみてください。

      2016/03/09 12:09追記
      書き忘れました。
      正確な数値を得るためには計算式入力欄すぐ下の「分散度」を0%にしてください。これを忘れていると「(現在HP-1)のダメージを与える魔法!」を作ったはずなのに一撃で死亡してしまう事もよくあります(笑)。
      | 戦闘 | 10:45 |- |
      スポンサーサイト
      0
        | - | 10:45 |- |
        PR