吉里吉里でRPG要素で、装備やステータス変化をしたりです!(健全記事)
吉里吉里でRPG要素 装備編
装備ごとの数値を作り、装備したらどこからその数値をもってきたりするかの流れ
格納されたアイテムを読み込み装備する
これが一から作れば作るほどむずかしい話だと思います。
アイテム欄を配列にするなら、
アイテム欄1=10番のアイテム
アイテム欄2=24番のアイテム
次に入手するアイテム、ランダムで決まる。
↓
34番のアイテム
アイテム欄3=34番のアイテム
という形。
つまり、アイテム欄配列で言えば、
10,24,34
と、入っていくわけなんですが、
装備するときって、
その24番のアイテムを装備するなら、
例えばですね?
キャラクター1の装備1が24番って考えちゃうと、
もしも24番のアイテム、
つまり同じアイテムを手に入れたとき、
どっちの24番アイテムかわからなくなったりするわけです。
装備1 = 24
アイテム欄1=10
アイテム欄2=24 ←
アイテム欄3=34
アイテム欄4=24 ←
どっちの24番??
となると、装備してる欄って、24番を装備って考え方じゃなく、
アイテム欄の2番目に格納されている24番のアイテムを装備!!
ということになってきます。
つまりアイテム欄何番目かの装備とか、
もしかしたら何番目の24番アイテムの数、
と言うような複雑な考え方をしなくてはいけなくなってきます。
なので、今回自分が取った考え方は・・・
キャラクター1の装備1
↓
アイテム欄2番目、24番のアイテム
↓
24番のアイテムのステータスが変化する数値 +x
↓
キャラクターステータスに +x の数値を足す。
というような、正直めんどうな方式をとっていたりします。
もしかしたらもっと簡単な考え方があったのかもしれませんが、
自分が今回思い浮かんだのこんな感じなので、それを採用しました。
選んだアイテムの種類でステータスを変化させる
ちょっと面倒な話なわけなんですが、
例えばの話し、
メイン武器装備で言えば、
キャラクター1の装備、
一番目のメイン装備を足します。
攻撃+20、防御+20
配列 ↓
キャラ装備攻撃配列1に+20
キャラ装備防御配列1に+20
配列から読み込んで↓
ステータスを変化させる。
攻撃+20、防御+20
となります。
その変化値の+20を別の配列。
今この装備をしていることで、
これだけ数値が変わってますよという
ステータス変化配列1(攻撃)=20
ステータス変化配列2(防御)=20
実数値を覚えさせておく。
そして装備を外すときは、
ステータス - 20(ステータス変化配列1)
ステータス - 20(ステータス変化配列2)
という形を覚えさせておく形式を取りました。
ちょっと面倒ですが、
アイテム番号24番のステータスはこういう変化!
というのをいちいちアイテム毎に設定さえしちゃえば、
全アイテム勝手に装備欄に入れた途端、
ステータスの足し算が起きて、
もしもアイテムを外したとしても、
アイテム番号24装備を数値でステータスから引く、
と勝手にしてくれる寸法です。
実際考え方としてはそんなにむずかしくなく、
ただ、それぞれのアイテムの変動する数値を設定しておくだけで、
保管庫
装備24番の数値
↓24番が装備される。
保管庫から24番の数値をもってくる。
↓
装備者に24番の数値を+する。
↓24番の装備を外す。
装備者から24番の数値を-する。
というのが一連の流れになります。
まぁこれを配列に格納して、
数値をちゃんと引っ張ってきて、
正常に動作させるというのが、
意外にも細かくて面倒だったりするんですが・・・
それでようやく装備できる
今までの流れでようやく装備ができるわけなんですが、
他にも
このキャラはアイテム番号◯◯~から◯◯まで装備できる。
という設定をしてさえおけば、
このキャラクターの装備欄には、
片手剣から両手剣まで装備できる。
このキャラクターは魔法使いの杖しか装備できない。
となります。
つまるところ一人の一つの装備欄毎に、
装備できる番号設定をしなくちゃいけないっていう
面倒なところはあるんですけどね……
これでようやく装備が完成という感じです!
こんな単純な話なんですが、
意外に数値で、どこどこのアイテム欄を、
誰の装備欄に格納して、
それを捨てると、3番目じゃなくて、2番めのアイテム欄になるから、
装備している人がいたら一つずれるとかも作ったり、
単純そうに見えて細かい数値の変動が多くあったりします。
こういう細かい数値いっぱいやるのが一番打ち間違えとか、
変な動作するとかで、一人で作っていると、
それが大層時間かかりました……
でもようやく正常に動くようになりましたので、
もうばっちりですね!!
装備以外にも今回作った要素
装備以外にも属性やステータスの細かい耐性なんかを作りました。
属性は
火←水←土
光→闇→無
という独自2種の三すくみで、
弱点属性からダメージ+1.3倍、
得意属性からダメージ-1.3倍
という感じの少し抑え目な弱点補正にしました。
なんで抑え目かと言うと、
属性以外のダメージ要素に
物理耐性と魔法耐性なんかの設定もしまして、
物理耐性10%なら、
物理ダメージ-10%
となります。
となると逆に魔法耐性-30%だったりすると、
魔法ダメージ+30%になったりと、
魔法が弱点の要素になります。
なので、弱点と弱点掛け合わせったらとんでもないダメージでちゃった!
みたいな要素を防ぐために属性補正は小さめに設定しました。
他に状態異常耐性なんかも設定しまして、
敵によっては2ターンに一度50%麻痺でパーティを止めてきて動けないんだが??
とかみたいな敵に対して、
麻痺耐性90%のステータスだったりすると、
50%麻痺の90%耐性なので、45%カット!
結果相手の麻痺確率が5%になる。
また逆もしかりで、
ボス敵が毒100%無効だったとしても、
毒耐性を30%落とす魔法と、
毒確率50%の武器を持ってたりしたら、
50%の70%カットなので15%、
つまりHPの高いボスなんかにも毒を15%の確率で入れられて、
定数ダメージを与えられる!
みたいな感じになります!!
これらを使ってどういうゲームにするか
アイテムをいっぱい用意しておき、
それをランダムで宝箱から排出されることによって、
誰がどんな戦法で戦っていくかの方針を、
どんどん変えれるようなゲームにしていきたいと思っています。
例えば、
高火力で速いその変わり防御が低いキャラクター
しかしちょうどいい高火力の武器がでなかった、
代わりに遅くなるけど高火力の武器をドロップした!
↓遅くなる代わりに防御が上がる装備
高火力で遅いが防御が高いキャラクター
というような、
ランダムドロップしだいで戦法を変えていくようなゲームにしたいです。
他にも、折角状態異常耐性なんかも1から作ったので、
この武器を装備すると5割の確率で敵の麻痺耐性を下げる。
↓
なので麻痺を使うキャラクターをパーティにいれる。
みたいなのも良いと思います。
大体のことをランダムで勝手にできるようにしたので、
とにかく戦法の自由度が高いゲームを作りたいと思ってます。
今回実装した要素のまとめ動画
ツイッターで載せれる動画が基本1分40秒くらいなので、
ツイッター用に前半と後半でわけてあります。
ちなみに最近は動画の音量大きすぎると思われたので、
いつもより音量小さめにしました……
と言ってもゲーム音声じゃなくて、
無音は嫌だから後付けのいつも通りのピコピコディスコなんですが……
前半は装備欄やステータスの説明。
↓
後半は両手武器だったりサブ武器の枠についてを説明してます。
↓
今後の予定
今後はスキル等の戦闘中の要素を増やそうと思っています。
今回の誰が何を装備できるかという流れを応用して、
スキル動作の設定をしておき、
戦闘中このスキルを使ったら、
そのスキル動作を発動させるみたいな流れのものを作ったりします。
他にもMPとかSPとか設定してない訳で、
スキル発動をターン待ちとかにしようと思っているんですが、
(魔法は詠唱時間があるから2ターン待たないと使えない、
物理スキルは即発動できる代わりに、再度使うのに1ターン待たなきゃいけないみたいな)
そこら辺の設定をもっと細かく考えて、
より戦闘を面白いものにしたいと思っています。
あとは今回の装備の一連の流れも、戦闘中にもできるようにしたりして、
装備しているアイテムを相手に投げれるようにしたりしたいです。
装備が外れる代わりに、投げると強力な一撃を出せたり、
戦闘中なので、装備を変えるコマンドは1ターン消費するとか。
あと戦闘中のアイテム使用関係なんかも作っておきたいですね!
そこら辺の戦闘関係が終わったら、
細かいことで言うのだったら、
マップを目視した場所以外表示しないようにする。
今は前に作ったマップのイラストそのままなので、マップのイラストを変えてちゃんとしたダンジョン風にして、階層毎に少しずつイラスト変えていく。
ボス敵毎に特殊な演出を入れたりする。
戦闘中のステータス変化がわかりやすいようにする。
もちろんゲームの肝となるシナリオ制作に取りかかる。
細かいバグとか、変な表示をなおして見やすくする。
という感じになっています。
なんかすぐに完成しそうな……はたまたすぐには完成しなさそうな、
ここまでがっつり吉里吉里で作ったことがないので、
完成までどれくらいかかるかいまいち自分でもぴんときてなかったりします。
これからもゲームを作りながら、
もちろん絵も上達するように描いたりと、
色々頑張っいく予定なので、
良ければ今後ともよろしくお願いします!!