ふりかえり
前回は「回復薬」の実装に取り組みました。
これにより、プレイヤーがより長くダンジョン探索を続けられるようになり、戦略の幅が広がりました。
今回の実装概要:ステータスを「割合」で強化!
今回はさらに一歩進めて、プレイヤーの強化をより奥深いものにしていきます。
既存のG強化・アーティファクト強化・転生(マナ)強化に、「ステータスをパーセンテージで底上げする要素」を追加しました。
追加した要素
G強化に追加:
- GHPパーセンテージ強化
- G攻撃力パーセンテージ強化
- G防御力パーセンテージ強化
アーティファクト強化に追加:
- アーティファクトHPパーセンテージ強化
- アーティファクト攻撃力パーセンテージ強化
- アーティファクト防御力パーセンテージ強化
マナ強化(転生強化)に追加:
- 転生HPパーセンテージ強化
- 転生攻撃力パーセンテージ強化
- 転生防御力パーセンテージ強化
このように、各強化項目に対して“実数強化”だけでなく“割合強化”が加わることで、ゲーム後半ほど恩恵が大きくなる設計にしました。
強化の計算式(例)
たとえば、G強化で以下のような条件だったとします:
- 基礎HP:100
- G強化によるHP:+10
- GHPパーセンテージ強化:10%
この場合、
最終HP = 100 + (10 × 1.10) = 111
というように、G強化の値に対してさらに10%が乗算されます。
スクリプトの変化
以下はG強化ステータスのHPと攻撃力と防御力をそれぞれパーセンテージで強化するための処理です。
PowerUpManager.cs
強化処理ごとに関数を分け、それぞれ条件チェック → ゴールド消費 → ステータス強化 → UI更新&SE再生を行います。
1. HPパーセンテージ強化
- 条件:所持Goldが必要コスト以上
- 強化値:gPowerUpHPPercentage に加算
- UIとSEを反映
2. 攻撃力パーセンテージ強化
- 条件と処理はHPと同様で、攻撃力バージョン
3. 防御力パーセンテージ強化
- 処理の流れは同じ、対象が防御力
// HPパーセンテージ強化 public void PowerUpHPPercentage() { if (playerManager.player.gold >= hpPercentageUpCost) { playerManager.player.gold -= hpPercentageUpCost; playerManager.player.gPowerUpHPPercentage += hpPercentageUpValue; // 強化SEを再生 if (audioManager != null) { audioManager.PlayPowerUpSE(); } ShowMessage($"HPパーセンテージ強化が{hpPercentageUpValue * 100}%増加しました!"); } else { ShowMessage("ゴールドが足りません。"); } playerManager.playerUIManager.UpdateUI(); UpdateUI(); } // 攻撃力パーセンテージ強化 public void PowerUpAttackPercentage() { if (playerManager.player.gold >= attackPercentageUpCost) { playerManager.player.gold -= attackPercentageUpCost; playerManager.player.gPowerUpAttackPercentage += attackPercentageUpValue; // 強化SEを再生 if (audioManager != null) { audioManager.PlayPowerUpSE(); } ShowMessage($"攻撃力パーセンテージ強化が{attackPercentageUpValue * 100}%増加しました!"); } else { ShowMessage("ゴールドが足りません。"); } playerManager.playerUIManager.UpdateUI(); UpdateUI(); } // 防御力パーセンテージ強化 public void PowerUpDefensePercentage() { if (playerManager.player.gold >= defensePercentageUpCost) { playerManager.player.gold -= defensePercentageUpCost; playerManager.player.gPowerUpDefensePercentage += defensePercentageUpValue; // 強化SEを再生 if (audioManager != null) { audioManager.PlayPowerUpSE(); } ShowMessage($"防御力パーセンテージ強化が{defensePercentageUpValue * 100}%増加しました!"); } else { ShowMessage("ゴールドが足りません。"); } playerManager.playerUIManager.UpdateUI(); UpdateUI(); }
PlayerData.cs
各最終ステータスを計算する際、実数強化+割合強化をすべて合算して最終値を出力します。
同様の処理が攻撃力・防御力にも適用され、後半になればなるほど「割合強化」の恩恵が大きくなります。
public int GetFinalMaxHP() { int baseTotal = baseMaxHP; float gPowerUpWithPercentage = gPowerUpHP * (1f + gPowerUpHPPercentage); float artifactPowerUpWithPercentage = artifactPowerUpHP * (1f + artifactPowerUpHPPercentage); float prestigePowerUpWithPercentage = prestigePowerUpHP * (1f + prestigePowerUpHPPercentage); return Mathf.RoundToInt(baseTotal + gPowerUpWithPercentage + artifactPowerUpWithPercentage + prestigePowerUpWithPercentage); } public int GetFinalAttack() { int baseTotal = baseAttack; float gPowerUpWithPercentage = gPowerUpAttack * (1f + gPowerUpAttackPercentage); float artifactPowerUpWithPercentage = artifactPowerUpAttack * (1f + artifactPowerUpAttackPercentage); float prestigePowerUpWithPercentage = prestigePowerUpAttack * (1f + prestigePowerUpAttackPercentage); return Mathf.RoundToInt(baseTotal + gPowerUpWithPercentage + artifactPowerUpWithPercentage + prestigePowerUpWithPercentage); } public int GetFinalDefense() { int baseTotal = baseDefense; float gPowerUpWithPercentage = gPowerUpDefense * (1f + gPowerUpDefensePercentage); float artifactPowerUpWithPercentage = artifactPowerUpDefense * (1f + artifactPowerUpDefensePercentage); float prestigePowerUpWithPercentage = prestigePowerUpDefense * (1f + prestigePowerUpDefensePercentage); return Mathf.RoundToInt(baseTotal + gPowerUpWithPercentage + artifactPowerUpWithPercentage + prestigePowerUpWithPercentage);
同じようにアーティファクトとマナ強化も追加します。
Unityでの設定
G強化UIの設定
- 新たに追加した「GHPパーセンテージ強化」などのボタンを配置。
- 各ボタンにPowerUpManagerの対応メソッドを紐付け。

アーティファクト・マナ強化UI
- こちらは既存の自動UI生成システムにより、自動的に表示されるため手動設定は不要。
設定画面
- 強化内容のステータスがリアルタイムで反映されるように、各強化ステータスの表示用TextをSettingsManagerのインスペクターで参照。

動作確認
実際のプレイ画面において、以下の点を確認しました:
- PowerUp、Artifact、Pristigeの各画面で新たな強化が正常に反映。
- 設定画面にて、最終ステータスの数値が正しく更新されている。
- SEやメッセージ表示などの演出も問題なく動作。
まとめ
今回は、RPGの「成長の手応え」をさらに強化するために、割合によるパワーアップ要素を各強化カテゴリに導入しました。
プレイヤーが中盤以降も強化の恩恵を感じられるようになり、やり込み要素としても奥深さが増しています。
特に、レベルアップだけでなく「どの強化要素を優先するか」を考える戦略性が加わったことは、今後のプレイ体験に大きく影響するはずです。
進捗
今回はG強化・アーティファクト・転生の拡張の一部を実装をしました!
- (済)オート戦闘:ボタン操作なしでもバトルが進むようにする。
- (済)オートスキル発動:スキルも自動で発動する機能。
- UIのブラッシュアップ:デザインとレイアウトを整えて見やすくする。
- (済)ステージ数の拡充(最低20):遊びごたえを高めるためにボリュームアップ。
- 復活機能(広告視聴):ゲームオーバー時、広告視聴で復活できる仕組み。
- 広告報酬でダイヤ獲得:無課金でもダイヤが手に入る仕組み。
- G強化・アーティファクト・転生の拡張:各システムにさらなる深みを持たせる。
- (済)回復薬の追加:ステージを進めやすくする。
- アニメーションの追加:ゲーム画面にもっと動きを持たせる。
- レアモンスターの追加:わくわく感を追加する。
次回予告
次回は、一旦UIのブラッシュアップをして見栄えの良いゲームにしていきたいと思います!
お楽しみに!