Pluglog

Tkool Replay コメントは随時受け付けておりますので、古い記事でも遠慮なくお書きくださいませ。
Admin
TOP ≫ ARCHIVE ≫ 2016年08月
ARCHIVE ≫ 2016年08月
      

≪ 前月 |  2016年08月  | 翌月 ≫

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
Comments (-) Trackbacks (-) スポンサー広告

バケットモンタージュ #32 お金の価値

化け猫屋さんのアイコンだよ
 ゲーム内通貨の金銭バランスというのは結構悩ましい

RPGの楽しさはある種、"買い物をするとき"にその一端がある
お店に売っている欲しいアイテムをお金を溜めて手に入れたり、
冒険に必要な品物を買い揃えたり・・単に、目新しいものが売っているのを探したり・・と
ともかくゲーム内のお金というものは、じゃぶじゃぶ使えて使う目的がある方が楽しいのは確かなんだろう

なのでお金を使う用途はゲーム進行上で常にどの段階でもあってほしいわけだが・・
お金の主な用途といえば、
①、装備品の購入
②、回復アイテム等、消耗品の購入
③、宿屋など、なんらかの施設やサービスを受けるために支払う

・・基本的にはこんなところ
③はいったん置いておくとして、①と②について考える



①、装備品の購入 について
 これは、弱い装備からより強い装備に新調するといった目的で行われる
序盤から終盤にいくにつれて性能は上がるべきだし、その分価値も高くなるだろう
 *今作、装備品に相当するArtifactは、主にダンジョンなどで収集する想定ではあるけれど、お店でも買える予定だ
  ・メリットは、安定した入手手段となるため、最低限必要なものを揃えることができること
  ・デメリットは、エンチャント強度が弱かったり、エンチャントがついていないことが多いこと


②、回復アイテム等、消耗品の購入
 ダンジョン中、戦闘中の回復手段の一つとして用いるために買い揃える
今作の場合、ここで少し問題点が浮上した!
序盤から終盤につれて、モンスターのHPは増えていくため、回復アイテムの性能も追従されるべきだろう
しかし、例えば10レベル相当の回復アイテム、20レベル相当の回復アイテム・・
なんて作り出すと回復アイテムの数がやたら多くなってしまう (まあそれはそれでアリではあるのだけれど)大変そうだ
では割合回復にしてはどうか、これなら序盤から終盤にかけて回復バランスは保たれる
だが今度はアイテムの値段設定が難しい 安いと終盤で買いまくれてしまうし、高いと序盤買えなくなる

~~~

この①と②の両立がちょっとした悩み所 これが決まればお金の価値も決めやすくなる・・

お金の価値のバランスの取り方は二種類ある
一つ目は、アイテムの価値は序盤から終盤に向かって高くなっていく、入手できるお金も同様に増えていく パターン
二つ目は、アイテムの価値は序盤も終盤も一定、入手できるお金も一定 パターン
*前作FuhrungWeissでは、敵のドロップマネーに関しては後者の仕組みだった
 そのため、アイテムの値段の重みの差が序盤から終盤まで埋まりにくく、高いアイテムは高かった
 ただし宝箱等で手に入る装備品は終盤ほど質が良くなり、それを売るとお金が手に入るため
 実質的には終盤ほど入手できるお金は多かった


今作の場合は、装備品が固定ではなくゲーム進行度につれて質は良くなるため、前者を採用した方が良さそうではある
ただ個人的には、前者より後者の方が金銭バランスを取りやすい印象があるため・・なんとなく踏み切れずにいた
ゲーム進行度によって入手できるお金が増えると、その都度アイテムの価値が変動していくからだ


まあなんだかんだ書いてたら結論はでてきたような気がする やっぱり前者パターンかな
すると回復アイテムも固定値で種類出した方がシステムにはあってそうな気がするなぁ
スポンサーサイト

ランダムエンチャント オプション値の振れ幅について考える

脱線ネタなんですけども、ランダムエンチャントでなにか能力値が決定される場合に、
例えば攻撃力+0~100 みたいに振れ幅があるとするじゃないですか

これをプログラム的に単純にrand(101) ってすると、
早い段階で+100のアイテムを拾える可能性も結構高いと思うんですよね
ようは「0」がでる確率も「100」がでる確率も一緒・・
でも、高い数値のアイテムはでにくい!みたいなのを表現したい場合もありますやんね!?

そんなときに使えるテクニック・・

rand(101) ** 2 / 100


乱数を2乗して、最大値が同じになるように割る こんな感じにすると・・
1のときは0で同じ、100のときは100×100=10000 ÷100となって、同じ100になるけれど・・
たとえば50のときは50×50=2500 ÷100 となって25に
つまり高い数値ほど出にくくなるということが実現できるわけです!

実際の計算結果の全パターンは以下の通り(小数は切り捨てになります)
0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 2 2 2 3 3 4 4 4 5 5 6 6 7 7 8 9 9 10 10 11 12 12 13 14 15 16 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 36 37 38 39 40 42 43 44 46 47 49 50 51 53 54 56 57 59 60 62 64 65 67 68 70 72 73 75 77 79 81 82 84 86 88 90 92 94 96 98 100

同じ101通りでも、小さい数がかたまってでやすくなるわけですね

20160814193637.png
グラフにするとこんな感じで、2乗の部分を3乗、4乗・・としていけば
その分カーブがきつくなって、高い数値はでにくくなってゆきます

またrand(101)ならば101通りなのでだいたい1%の確率で最高値がでるわけですが、
これもrand(1000)、rand(10000)・・などとしていけば、最高値がでる確率は絞られていき・・
天文学的な確率の激レア値オプションなんてのも作れて、非常に高いやりこみ度のランダム性が作れそうです

これのいいところはたった一つの式で定義できるというところでもありますね
バランスを変えたくなったときも、これをちょいっと変えればOK!
ちなみにランダムオプション以外にも、ランダムに出現する高レベルの敵なんてのにも使えますね

まあ今作にそれほどシビアな厳選性を組み込む予定はなかったんですが・・
オプション値をランダムにするのは、製造系のシステムを入れるとするとかち合うんすよね まあ製造も未定なんですけど
こういうのも面白そうだなーと思いつつ、余裕ができたら組み込んでみようかなあ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。