Unityと吉里吉里でSLGとかRPGを作るブログ

作っては壊し、作っては壊しを繰り返し、やっとアイテム装備のUIが完成した。
頭ではよさげと思っても、作ってみると凄く使いにくかったり、意味不明だったりと。プロの人はどうやってUIを作ってるんだろう。


///アイテム装備
UIとしては、ステータス画面の装備ボタンを押下すると、右側が装備できるアイテムの一覧が表示される様にした。
右側のアイテム一覧は、カーソルを載せるとアイテムの解説が表示。ボタンを押下でアイテム装備となる。
これなら、2クリックでアイテムが装備変更できる。
■アイテム一覧
アイテムの装備画面

左下のウィンドウは装備できるアイテムの数と種類を表している。もし現在アイテムを装備してる場合は装備名が出る。
左下のアイテム名をクリックした後に、右側のアイテム一覧をクリックする事でアイテムを装備可能。



しかし、すすまない。細かい挙動を修正してると無限に時間掛かりそう。
いったん整理して、設計書を作成した方がいいのかも。

スポンサーサイト
2009.03.30 / Top↑
速度の問題は出来る限り事前に画像を読み込む事でだいたい解決。
先に機能部分を作ってから、共通化できる画像を共通にすれば、更に向上するはず。


///装備アイテムを表示する
持ってるアイテムを表示する機能を作る。カーソルを合わせた場合、アイテムの解説が表示される様にする。
■アイテム画面
ユニット制御ウィンドウ

アイテムは、種別(武器や鎧など)をボタンで分けて、種別毎に表示する。





仮画像の用意と、表示位置の調整やらで凄く手間取った。ゲーム作ってる人はどうやって作ってるんだ。
一度、話を聞いてみたい。


2009.03.24 / Top↑
結構苦労した、作りこみの部分以外だけど。


///ユニット制御ウィンドウ
■ウィンドウ画面
ユニット装備ウィンドウ

ユニット制御ウィンドウは、ユニットに対して、武器などのアイテム装備、スキルの設定とユニットに対する情報を自由に弄れるウィンドウである。
RPGなら「装備」画面に相当する。

んで、問題となったのが〝もっさり感”である。
開いてしまえば、全くそんな事はないのだが、ウィンドウを開く時に若干のタイムラグがある。
現行なら問題ないが、最終的に半透明ウィンドウを採用したり、それ以前にこれから作りこんでいくのにそれじゃあまずい。


///もっさり感の原因
正直な話、ウィンドウ自体は大きいものの、もっと処理にパワーのかかるアニメーションを実施していた事を考えると、この程度でもっさりする事自体が信じられない。
何かバグでも作りこんでしまったのではないだろうか。と考えて色々テストしてみた。

<<テスト内容>>
①ウィンドウ画像を全て表示しない
 デカイ画像が不味いのかもしれない。と考えてウィンドウ画像を消してみた。

 ⇒残念ながら変化はなかった。

②表示ユニット数を減らす
 もっさりし出したのは、ユニット数を最大(表示上)の30表示してからである。

 ⇒もっさり感軽減

と、一応の原因は判明したものの、この常時で使っているのは、テキストレイヤ(テキストを表示する為のレイヤ)とボタンレイヤ(ボタン用のレイヤ)。
どちらも、標準の物を大きく弄っている。原因がバグの作りこみならこれらのせいかもと思い、とりあえず、ボタン表示をやめてみた。するともっさり感解消。どうやらボタンが不味いらしい。

標準のボタンレイヤでテストしてみたけど変化なし、これは厳しいかも。



今回はここまで、忙しいせもあってすすまない。
さらに速度の問題まで発生して結構しんどい。今の所、ちょっと気になる程度だけど、全部作ったら問題ありになるかも。
2009.03.21 / Top↑
結構、あけちゃったけど、色々完成した。


///おさらい
前回提示した11種類の行動は全て作る事が出来た、非常なデバック作業とテストですっかりここに書き込むのを忘れてた。



///戦果バー
元ネタと同様に戦果バーによって、戦闘の優劣を確定する。
簡単に言うと全滅以外の勝敗を決定するバーである。
■戦果バー
戦果バー1

■ダメージによって増減
戦果バー2
この結果で、戦闘の勝敗が決まる所まで作成している。



今回はここまで、完全に状況説明だけになってるな。
仕様部分だから仕方ないけど。

2009.03.15 / Top↑
前回の記事が余りに適当で、読み返して笑った。でも、前からこんなもんか。
攻撃面はわりと出来た。とりあえず、自動戦闘を作成しているので、基本的行動内容を設定する。


///行動内容
前にスキルの概要としていたけど、全ての行動はスキルとして扱う。通常攻撃と言うスキルがあるとか。
で、スキルの種類は以下で全てとする。

①近接攻撃
 前衛から前衛への攻撃

②中距離攻撃
 前衛、後衛から、前衛に攻撃

③遠距離攻撃
 前衛、後衛から、前衛、後衛両方に届く攻撃。

④アイテム使用
 装備しているアイテムを使用。

⑤自己サポート
 攻撃力アップとか、ただし自分にしか仕えない。

⑥サポート
 上と一緒、ただし、味方の誰にも使える。

⑦妨害
 攻撃力ダウンとか。敵の誰にも届く。

⑧ガード
 自分が前衛なら前衛、後衛なら後衛の味方ユニットへの攻撃を引き受ける。

⑨全体ガード
 味方全体への攻撃を引き受ける。

⑩自己回復
 自分しか対象に出来ない回復。

⑪回復
 味方なら誰でも回復できる回復。

近~遠攻撃については、該当する武器が装備されている事が前提条件。これらのテストは概ね終了。


///サポートスキル
自己サポート&サポートは使用した場合、攻撃力、防御力、速度が上昇する。上昇値に関わらず、上昇した事を表すアイコンを出す。

■アイコン
サポートアイコン

久し振りの画面取得。攻撃はエフェクトが出来てないからスクショを取る所がないのが弱点。


///妨害スキル
妨害を受けたキャラクターは、攻撃力、防御力、速度が低下する。低下値に関わらず、低下した事を表すアイコンを出す。

■アイコン
妨害アイコン
こんな感じ。実は妨害スキルを使用するとエフェクトが出る。なんか白い線が入ってるのはそれ。



今回はここまで、何だかんだで完成に近づいてる。次はガード機能を作成する。
出来れば、戦果を表すバーも設定できれば良いな。そこまで完成すれば取り合えず、戦闘結果を元に勝敗を判定できる。


2009.03.10 / Top↑
引き続き戦闘処理を作成。正直メンドイ。


///範囲攻撃
今回は範囲攻撃を作成、元ネタに合わせて、貫通、全体(敵)、単体とする。
範囲攻撃で最も重要なのは、「どこに撃つかと言う事」。ただし、全体は考える必要が無いので、さほど難しい事はない。
貫通の場合、前衛と後衛が揃っているユニットを配列にリスト化して、そこからランダムにすればよいだろう。更に残りHPが低い方が選ばれ易くすれば良い。




金曜日飲み会で、そのまま土曜日までつぶしてしまった感がある。飲み会なんて文化作った奴は死ねばいいんだ。


2009.03.09 / Top↑
引き続き戦闘処理、いよいよステータスをちょっと作ってみた。
あと、アクションポイント。こちらは3固定から、各ユニットで1~8までとした。
これで通常の3倍動くボスとかも作れる。


///防御力の制御
戦闘があるゲームなら大概付いてるのがこれ。中にはHP(耐久力)が増えるだけで、防御力の概念が無いゲームもあるけど、プレイヤーにとっても明確にダメージ量が変化するので防御力のが分かりやすい。

距離の概念があるので、防御力にもそちらを反映してみた。
防御力=基礎防御力+各攻撃種別補正

①防御力
 攻撃力から直接ダメージを減らす値。

②基礎防御力
 ユニットの基礎防御力。このゲームのユニットは、クラスとキャラで出来ている為、クラスに依存した能力。
 戦士より騎士のが硬いとか、ヘリより戦車のが硬いと言う位置づけて用いる。

③各種攻撃種別補正
 近接攻撃、中距離攻撃、遠距離攻撃を受けた際に入る修正。
 戦車とかなら、近距離に弱く遠距離に強いとかを表すため。
 こっちはクラスとキャラ両方にあって、足して運用する。

まあ、こんな感じか。最初は仕様部分を避けてたけど、ガンガン作っていって、後で変えるくらいに意気込みがないと感性しない。


///死亡判定
キャラが死亡した場合、シャドウ(影)がでっぱなしになる。
そして、アクションポイントの有無に関わらず、行動を行わない。
■死亡確認
死亡
こんな感じ。



次は攻撃面を作る。同時に装備も必要になるだろうな~。


2009.03.04 / Top↑
戦闘処理エフェクトに続いて長くなりそうだけど、頑張って作っていく。
まず、現状の把握と、今後の追加について整理したい。


///現状の把握
現状では、以下の順序で動いている。
①各ユニットのアクションの行動順を決定
 ユニットのスピード+ランダム値で速い方から順に行動する。

②各ユニットの行動回数は3回
 アクションポイントで制御しており、各ユニット3回の行動回数がある。

③全ユニットのアクションポイントが無くなったら終了
 つまり、3週したら終了。

うーむ、まずはスキルからだな。
今はアクションポイントを消費しても何もしてない状態だから、何かする様にしたい。
あと、戦闘は自動戦闘として作成する。ただし、プレイヤーがスキル(アクション)を選択する口は残しておこう。
大丈夫、どっちに転んでも自動戦闘は生きる、敵はどっちでも自動で動くのだから。


///スキルの概要
細かい使用はゲームの根本に関わるので、ここでは汎用的な部分だけ作っていく。
このゲームでは、左側が自分のユニット、右側が敵のユニットで固定され、且つ、前衛と後衛の概念がある。
これを踏まえて、スキルは以下の4つに大別出来る様にする。
①近接攻撃
 簡単に言うと前衛から前衛にしか出来ない攻撃。

②中距離攻撃
 ちょっと悩んだけど、前衛でも後衛でも行えて、前衛にしか届かない攻撃とする。
 これで前衛に攻撃が集まりやすいはず。
 前衛で使うと、後衛にも届く様にしようと思ったけど、それだと近接攻撃弱すぎだしな。
 まあ、細かい事は後で調整する。

③長距離攻撃
 前衛+後衛で可能で、前衛と後衛に届く攻撃
 後衛からしか出来なくしても良いかも、一般的な間接攻撃として扱う。

④特殊
 回復とか攻撃力アップなどの支援とか、敵の命中を下げたりする妨害系は普通に①~③の攻撃として扱う予定。

今回の主眼は、スキルの種類によって、届く範囲を調整する事。そして届く範囲の敵に攻撃する事。
つまり、以下の処理を現状に追加する。

①使用するスキルの特定
②対象ユニットの選択

効果の反映は後回しにする。何せユニットのステータスもまともに・・・・。



動かした結果はまずまず。
とりあえず、次回は死亡処理を追加する。


2009.03.02 / Top↑