戦うぞ!64xその86(店回りの改良)

MerchantActivity003.png

アイテムカテゴリを"消耗品"追加
杖や巻物用のカテゴリを追加

店データの実装
>識別名
>ベース所持金
>経験値レート
>生成商品数(確定枠)
>生成商品数(ランダム枠)
>
>登録された商品構造体・可変配列
>・TYPE[構造体タイプ(武器・防具・アイテム・お金)]
>・CATEGORY[カテゴリ番号(剣・大剣・弓・盾~~)
>・NO[詳細番号(剣・小太刀)]]

と構成されデータが保持される。


店データエディタの実装
上記の項目を編集できるエディタを実装した。
商品を手動で一個一個登録していくスタイル。

経験値レートは取引金額で入手する経験値補正。
食料品店など取引金額が少額な店には大き目の補正を掛ける事が出来る。

ベース所持金はLv0状態の所持金。
商人の所持金は
生成金額 = ベース所持金 + (ベース所持金*Lv*0.1)
の計算式で生成される。
この計算式はほぼ全てのLvの生成と同じ。

StoreEditorActivity.png

取引の確定・キャンセルが出来るように
取引画面では買い戻しが出来ない(実装自体は可能)
同じアイテムを売り買いすると、経験値は膨らむが金銭面は一方的にプレイヤーが損をする。

ので、取引を初期化できるようにした。


商店・取引キャラ・商人キャラに経験値が入るように
取引で経験値が発生し、店のレベルが上がるように。
店のレベルが上がると双方の取引キャラに経験値が入るように。

店の商品レベルが商店のLvに依存するように
商品の確定枠は商店のレベルでランダム生成される。
ランダム枠は商店のレベルで生成される。

キャラクター構造体にNPCフラグを追加
NPCがレベルアップすると装備が強化されるように


アイテム指定規格の見直し
武器・防具・アイテム・道具
全てのアイテムを雑多に指定するための規格を整備した。


やる事


プレゼントの実装
プレゼントや投資でNPCのLvを上げられるようにする
NPCの好感度を上げるやつ。
Lvが上がった時に装備のLvも上げるようにしておくこと。
商人のアイテム生成などの規格を完ぺきにして処理を追加してほしい。
今のところは細かい部分がまだ決まっていない感じ。

プレイヤーの所持品はマップ間移動や手動でセーブされるが、
商人の所持品は、取引画面を閉じた際にセーブされる。
このタイミングの差で色々とちょろまかす事ができる。困ったなあ。
じゃけん、一緒にプレイヤーデータもセーブしましょうね。


ニューゲームの能力選択をちゃんと反映するように
今のところ、はじめからで生成したときの条件と、ゲーム開始時の能力が全然違う!恥を知れ!

ランダムダンジョン生成のオブジェクト生成などで新しい規格に変えておくこと。

モンスターデータのアイテムドロップ項目設定が
実際のドロップに反映されるように実装する事。


またエディタ側では数値の手打ち状態なので、
ドロップアイテムデータなどからプルダウンやリスト選択を引っ張ってくるようにする事

・一枚絵データの実装
・モンスターデータ側の一枚絵選択処理の実装


行動の代行の実装
主人公が鍵開けなどの行為をする際、
一定範囲内の味方をリストアップして、代行挑戦させることが出来るようにする

マップ拡張処理をmalocで一時保存先を作成して広げる
実装してみたら、速度が微妙だったので保留。

技(スキル)の名称をどうにかする
現状技の事をSkillとしているが、料理や魔術知識などのカテゴリもSkillと呼べてしまうのだ!
なので技(Skill)をBattleActionと名称を変えてみたが、文字列が長くてかなわない。
どうしたものか...


各項目値をゲーム内変数にコピーするイベントを作る
現在の所持金+N円なら~~という処理など、
何かを挟んで数値の判定をする際に使用する。

アイテムにエンチャントを実装していく
他、腹痛の状態異常を追加してね

ダメージ表示の数字が重なると見えなくなるので何とかする
・案A
キャラクター構造体側にダメージ値・ターンダメージ値の要素を作って
加算させながら表示させるようにしてみる
一定時間表示の更新がなければ全値を消して表示フラグも折れる様な感じに

ダメージの限界突破制限&最小値・レジスト
属性耐性の値が100%を超えると
攻撃や回復の威力が反転する可能性がある
攻撃・ダメージ時に死亡や上限規制の判定を設けるべき
他にもエンチャントもろもろで値のおかしいダメージが想定される。

キャラクターステータスウィンドウなど、
各ウィンドウの最適化

カスタム説明の適応とか色々



アイテム(武器防具は不要)に分解項目をつくる
1.そのアイテムを分解するとどんな資材が手に入るか?
2.そのアイテムを分解したときのアイテム入手量

ネジ・木材などの資材を実装できたら解体も実装する事。
家具など不要になりやすいアイテムも何らかの足しになるといいね!

採掘で取得したアイテムは実体(鉱石として実体・重さを持ってインベントリに追加する)
鉱石を溶かして資材に変換!という感じにしてほしい

キーコンフィグの追加
操作追加
・AWSDでキャラの移動
・方向キーで画面移動
・SHIFT + AWSD で画面の移動
・CTRL + クリックで地形選択しない。HUD対象クリックとか


設定画面を充実させる
色々足りてないので
・フルスクリーン設定とか
・操作、ボタン設定



モンスター生成の強化
現在、モンスター番号を直接指定してポップさせている。
「対象派閥、生成Level~以下のモンスターをランダムで生成する。」
という処理が出来るようにしてほしい。
アイテムと同じように、派閥分の構造体*区分けや
Level順に構造体を並び替えるような処理が必要。多分実装済み

キャラランク(品質)によってドロップアイテムの種類が変わるように
しているはずだが、デバッグしていないので本当に反映されているか見てみること。
宝箱でのアイテム生成はこれを流用して作るんだぞ!



ダイアログの部分で日本語入力が出来ない問題の解決
実は結構大変な問題で、いくら検索を掛けても解決法がみつからない。
Dxライブラリの作者がサンプルとして載せているダイアログコードを、初期状態のプロジェクトに乗せてみても日本語入力が出来ない。
一度どこかにexe上げて他の環境でどう動くのか見てみないと解決できなさそう。



オブジェクトイベントのタイプを追加
通過時イベント発動タイプ:オブジェクトイベントで通過時にダメージが入るようなトラップを作る
アイテム収集地点タイプ:Elonaのマテリアル

NPCが扉を開けるようにする
扉が移動不可扱マスではなく、移動実行時に拒絶するような作りならいける
扉越しに遠隔攻撃が通るのを何とかする
主人公が通過したときに発動するオブジェクトイベントを作る

アイテムの品質や、残り回数が表示でわかるように
品質の表示が一行表示の際にされていないのでさせる事。色分けでもいいね。7days to dieみたいに。
売買・交換画面でアイテムの表示時にも品質や使用回数がわかるようにする。

自分対象の技を使った際、距離の表示がおかしくなる(変数の初期化がされていない?)
アニメは正常だけど同時に表示される距離値が-~~~になる


犯罪行為の咎め判定
全キャラクターで検索、射線の通りと単純距離の2種類で判定する。
犯罪難易度と対象キャラのレベル+距離補正で成否を判定する。

職業構造体の2要素が変
職業構造体の
Gear
Head_Gear
の二つの項目は、内部で使用されていない。
※おそらく、特定の防具を装備させたい時に使用するために追加したと思われる。
鎧ではなく服とか。

上手く実装できるようなら触ってほしい。



ポートレートの服装生成はモンスターデータを元に生成されるが、
男性女性での振り分けが無い為、男性でも女性の服などが生成されてしまう。

現在
魔術師(共用)・平民(男性)・平民(女性)
と性別処理が一貫していないが、これを完全に男女別に分ける事!



キャラクターデータの移動AI、攻撃AIをちゃんと実装する事
モンスターデータ側でも項目があるぞ
モンスターデータエディタ側にも項目があるぞ
カテゴリ名や内容の説明などをしっかり作っておいてね!


細かい仕様とか

迷宮のモンスター生成
現在迷宮の登場モンスターは依頼での敵対派閥から引っ張ってきている。
もし派閥が混在するような仕組みを作りたい場合は別の処理を作ってかませること。


自分への細かいバグ報告や注意喚起

迷宮内での移動でもセーブさせてね
迷宮内でセーブした後、ボスを倒す→ロードするという行為を行うと
ボスが倒された状態で再開して詰まる。
ボスを倒した際にセーブするようなElona的処理でなんとかなる。
ロードした後でも、マップの一時データが残り続けるから仕方がないねんな。。。

射線判定の斜め時に片方だけ問題
射線判定(FireLine.cpp)の斜め判定の処理で
一回目では左右調べているのに、二回目は片方しか触っていない
変じゃない?
まあ多分正常に動いているからヨシ!

アイテム生成の強化
宝箱からのドロップやマップ上のアイテム生成の強化。
現状、存在していないカテゴリなどがあるのでまずはそこから埋めていってほしい。
・武器防具
宝箱などで固定指定の装備が生成できるように
・アイテム
まだ実装していないカテゴリがある(道具など)のでそれを実装。
レア宝箱みたいに固定指定アイテムもドロップする処理もたのます。



バグ


キャラクターの生成能力値が変
キャラ生成のスキル生成値や耐性値が滅茶苦茶な値で生成されることがある。
再計算や再生成で治るから初期化の問題?
前回はマスタリーが変だった。構造体とかポインタの問題かなあ。シンプルながらかなり大事な問題。

警告

・メニューウィンドウに戻るボタンを作ってさしあげろ。
・タイトル画面で×を押すと正常に終了できない
・オブジェクトイベントの削除が正常に行われていない(要検証)
・オブジェクトイベントのロックピックの犯罪判定。鍵(フラグ)の有無での施錠などは今の所未実装。
・イベントの鍵開け処理で、マップのレベル依存(-1)という処理があるのだが
マップに対してのレベル設定項目が無い。後でマップに追加する事(忘れてませんかね...)
マップ間移動とか怪しい。再生成とか含めて正常に動くがデバッグしろ!
・フィールド読み込みに再生成フラグが追加された。
読み込み外で無駄な上書きを行わないように気を付ける事
・オブジェクトイベントからのイベント発生処理が未実装な
・戻り値がある関数なのに戻り値がないとリリースのコンパイルで
エラーが出ずに通る事がある。末端に必ずreturnで値を返すような仕組みにする事。

・ゲーム開始直後など、マップの保存が必要ない場合も呼び出しているので
無名の一時ファイルがセーブ内に作られてしまっている

・BGMデータの保管方法は、最初にハンドルへ全部読み込んでいしまっているが
もしoggやmp3などのファイルを使う場合はいちいち読み込んだほうが良いのでは?
一々読み込む場合は、数値型ではなくファイル名のchar配列型にする事。

・投げるコマンドでのアニメ・エフェクト・ダメージ計算・副次効果は仮実装か未実装。


注意喚起
・後退処理のAIが優秀なので同速度の一対一状態だと確実に逃げられる。
逃げている時は速度が低下するなどの処理が必要。
・移動の押しのけ判定がややガバいので、中立・友好派閥と押しのけあいまくる。
↑様子見。酷いようであれば修正

要注意:経過観察必要事項セーブロード処理をmainを中継せずに行えるようにしているが、信用ならない。

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント