テーマ:プログラミング

戦うぞ!64xその41(売買画面その2)

前回に引き続いてアイテム関係。 カテゴリ表示とか追加したり改良した。 時間をかけて作り直したかいあって大分コードが纏まった(効率的ではないが) アイテム周りは可変引数のVecterをボンガボンガ使っていて、非常にC++らしくない。気に入らない。 防具は部位ごとにソートして追加されるため、頭・胴体・腕など部位ごとになら…

続きを読むread more

戦うぞ!64xその41(売買画面)

・売買画面実装 スクロール・売買処理・売買音も完成。 ・商人商品ファイル実装 商人の持っているアイテムをファイルに保存。読み込みできるように。 Elonaや他ゲームの商人同様、商品更新のタイミングまで商品リストを保持する。 更新の処理。商人タイプによる商品の生成などは未実装。 商人タイプ諸々はそもそも変数の保存箇…

続きを読むread more

戦うぞ!64xその40(アイテム・所持品の実装その3)

インベントリ画面完成 アイテム詳細画面完成 細かい部分は前回記事に。 インベントリはプレイヤーのみの仕様なのでコンパニオンなどに適用できない。 もし使いまわしできる様な仕様なら、流用して商人との取引処理が楽に作れるはず。 というわけで頑張って流用できるような仕様にしてね(投げやり)

続きを読むread more

戦うぞ!64xその40(アイテム・所持品の実装その2)

アイテムをマップに置けるようにした 処理はごり押しでやや非効率ではある。 ニコニコのローグ好き兄ちゃんの助言通り影も実装している。 アイコン画像を黒塗りにして半透明にして影にしている。そこまで重くない。 アイテムデータにアイコン属性追加 ドロップ時や一覧時に使用する。 アイコンデータ追加 32x32…

続きを読むread more

戦うぞ!64xその40(アイテム・所持品の実装その1)

前回の記事のようにイベント・ストーリー関係の更新をしようと思っていたが、 アイテムがイベント処理に深く関わってきそうなので先にアイテムを実装した。 また、get,setをポインタで行い高速化を試みてみたが 正直に言ってしまって・・・あんまり早くならなかった。残念。 という事で高速化は諦めて先に進めていく。 視聴者ニキに…

続きを読むread more

戦うぞ!64xその39(オブジェクトイベント実装)

開閉する扉を実装 扉を実装。閉まっている状態の扉は移動不可能。 扉を目標に移動する事で隣接時に開扉できる。 施錠状態の扉は、少し前に息抜きで作った鍵開けミニゲームを行う必要がある。 ロックピックの犯罪判定。鍵(フラグ)の有無での施錠などは今の所未実装。 マップデータに保存・読み込みにも対応。 問題があるとするなら…

続きを読むread more

戦うぞ!64xその38(オブジェクトイベント実装)

以下の要素を実装。そしてエディタから配置できるように。 ・オブジェクト(箪笥など移動不可領域) ・オブジェクトイベント(扉や宝箱などイベントが発生するもの) 扉への衝突処理と解錠・解放処理は実装完了。やったね。 それぞれエディタが仮のまま(オブジェクトに関しては選択すらできないし、そもそも画像自体…

続きを読むread more

戦うぞ!64xその38(経験値の実装)

辛い処理から逃げて楽な所為をチマチマ作っています。 やった事。 経験値の実装とステータス画面の項目追加 経験値パラの追加。経験値はステータスで見えるように。 現在仮実装ながら経験値加算と能力値上昇もあるよ。 ダメージを受けると受けた側、与えた側に経験値が固定で入るから範囲攻撃だとめっちゃ稼げ…

続きを読むread more

戦うぞ!64xその37(セーブとロードその1)

新規でゲームを始める処理がまるまる抜けているのに目をつぶれば、ある程度形になってきました。 現在作成中。 やった事 セーブデータを作った。 プレイヤー名を実装し、セーブ時はプレイヤー名のフォルダに各種データ(コンパニオンデータ・キャラクターデータ・プレイヤーデータ)を保存するように。 プレイヤーデー…

続きを読むread more

戦うぞ!64xその36(マップ間移動処理)

今回の更新で行った事 ・マップ上下左右の端(赤線)に到達した際、設定された他のマップに移動できるように。 設定画面。実際の移動処理の両方を実装。 伴って、移動先指定させる処理も追加。これでいつでも他マップを参照できるぞ。 ・コンパニオンデータの実装。ファイルへのセーブロード処理実装。 主人公含むコン…

続きを読むread more

戦うぞ!64xその35(微調整)

作っているゲームが案外処理が重たくカクつく事があったので、対策をと思案。 とりあえず手軽に軽量化できそうな「引数を値渡しでなく参照渡し(ポインタ)にする」とやらを行ってみる。 調べた結果、色々なサイトで一様に「参照の方が速い」との事。 経路の検索は単純に関数の多重呼び出しで、非常にネストが深い(同じ関数から同じ関数を呼び出しま…

続きを読むread more

戦うぞ!64xその34(マップに関しての追加3)

・影の実装をした(影描画自体、デフォルトでOFFにする可能性が高いが) まあ・・・当たり前だけど影にオブジェクトが浮いてしまう。 影とオブジェクトの順番を入れ替えてみてはと試してみたがもっと悲惨な結果になった。 余談 マップチップの描画は処理に負担がかかる。 画面内のサイズがX=15マス・Y=20マスと…

続きを読むread more

戦うぞ!64xその34(マップに関しての追加2)

これを(画像は2014年のもの) こうした。 1.崖際の強調線を画像にして太くした。 2.崖下に影が出来るようにした 3.高低差がわかりにくかったので崖画像を少し色濃くした。 大分雰囲気が変わりますね。たまげたなあ。 当たり前だけど処理量は増えました。画像描画と半透明化処理が1マスにつ…

続きを読むread more

戦うぞ!64xその34(マップに関しての追加)

最近はCoDをやっているので殆ど作業していません。 といってもCoDも長くて4時間程度で、ちょくちょくボコボコにされるというとてもどっちつかずな状態です。 ・やった事 マップ名 マップXサイズ マップYサイズ 地形データ 以降データ という只管説明や区切りが無く改行のみで保存していたマップデータ規格を…

続きを読むread more

戦うぞ!64xその33(アイテムや装備に関しての仕様その3)

各情報を確認しやすいようにステータス画面を追加。 ・小目標 取り敢えず遠隔武器と各防具のcsvと内部実装。 職業データと合わせてやってね。 派閥装備系は取り敢えず保留。派閥装備が設定されている場合、職業での装備生成を行わず派閥側で行うだけだからね。 装備関係の整備が終わったらマップ系。 オブジ…

続きを読むread more

戦うぞ!64xその33(アイテムや装備に関しての仕様その2)

追加した表データ ・Material 鉄や革などの素材データ。 武器防具に使用された際の攻撃力や重さ、価格の補正値が入っている。 ・Weapon短剣 ・Weapon剣 ・Weapon大剣 各武器カテゴリでファイルが分けられている。 中身は ・剣 ・脇差 といった感じ。武器性能や価格などが入っている。 …

続きを読むread more

戦うぞ!64xその33(アイテムや装備に関しての仕様)

アイテムの仕様について 武器・防具の性能はほぼElonaを踏襲している。 kenshiのようなバックパックシステムも良いが、正直辛い(仮に実装できても容量や処理速度的に辛い。できるだけ低スペックでもゲームできるようにしたい...) 装備アイテム構造体 装備タイプ種類名前攻撃力 ダイス数(※1)重量素…

続きを読むread more

雑記(2018/10/02)

移動優先・移動後待機・攻撃禁止を追加した。 実際にゲームを走らせてみない事には、使い心地の良し悪しもわからないので拘るのはやめておいた。 命令を出すためにロングクリック処理を追加した。 至る所で使用しているマウスクリックやボタンを離すまで待機する自作関数にカウンターを追加して、長押しした場合のみtrueを返すような記述…

続きを読むread more

戦うぞ!64xその32(命令画面追加)

キャラクターへのコマンド機能の追加 出来る事 ・移動&攻撃の通常モード ・移動後に指定座標へ留まるモード ・ヘイト先の指定(ヘイトの遷移が行われないフラグが立つ) ・コンパニオン同士や中立NPCを分隊長指定にし、追従護衛させることが出来るように。 ・隣接判定や攻撃時判定時に高低差の処理が働いていないのを修正する事…

続きを読むread more

戦うぞ!64xその31(移動指定とロックピックミニゲーム)

・プレイヤーが移動地点を指示できるようになった キャラクリックで移動先選択モードに切り替わる(上画像) 移動地点指定を取り消す場合は選択モード中に右クリック。 赤 ヘイトが設定されている場合はヘイト対象への移動ルート 未設定時は最近敵へのルートを表示している。 ※だだし実際に行動する際は遠隔攻撃などのスキ…

続きを読むread more

戦うぞ!64xその30(会話窓・イベント土台実装)

・やった事 キャラクターパラメーターに以下の項目追加 1.イベントID 会話時(接触時)に発生するイベント番号を保持する。 未設定(0)で汎用会話。 2.死亡時イベントID 死亡時に発生するイベント番号。 ボスや護衛対象の死亡などの際に使用する。 3.イベントマーカー イベントで対象になるための…

続きを読むread more

戦うぞ!64xその30(範囲攻撃AOEの実装)

マップサイズ分あるエフェクト用配列を一々forでリセットするのもアレだったので(昨今のCPUパワーなら余裕そうだが)、エフェクト箇所を適当な配列に入れて、入れた分forで回して対象個所のみリセットするようにした。 同じように範囲系ダメージ判定のための配列を用意し同じような使い方をするようにした。 エフェクト表示箇所数 エフ…

続きを読むread more

戦うぞ!64xその29(スキル演出実装・内部処理の変更とボム型処理追加)

範囲攻撃の実装(現状はみてくれのみ。ダメージ処理は追って)した。 伴ってアニメ表示判定としてマップサイズ分の配列を追加している。 ナスビ式やる事・やった事リスト 攻撃タイプをbool型からchar型に 技データのcsv(表ファイル)の仕様と、読み書き部分に対して行う必要がある。 bool型bolt欄…

続きを読むread more

戦うぞ!64xその29_2(遠隔攻撃の成否)

遠隔攻撃の成否判定を作っていたわけなのだが、ちょいと内部処理について問題が発生した。 現仕様は 1.攻撃対象の検索、判定 最短の敵・ヘイト対象の敵の座標を取得する。 範囲の検索はよくあるSLGのアレ(FEの移動範囲とかの判定の応用) 2.ヘイト対象へのスキル成功判定 ヘイト対象に攻撃できるスキルが無いか検索 …

続きを読むread more

戦うぞ!64xその29(遠隔攻撃の成否)

・やった事 ボルト判定で行っている高低差での成否を全ての遠隔攻撃に対して適応するように。 理由 今までの条件式だと谷間も壁の判定になっているらしく、ちょくちょく攻撃ができないことがあった。 前はちゃんと動いていた気がするんだが・・・悲しいなあ 以下自分用メモ 条件 発射地点・着弾地点の内、高さが低い方から経路を…

続きを読むread more

戦うぞ!64xその28(スキル演出実装)

・やった事 試験的に攻撃エフェクト追加 1.攻撃を受けた際にブレるように 2.スキルに設定されたエフェクトアニメを表示するように 3.矢玉が目標に向かって飛ぶように ・矢玉や攻撃エフェクトで困っている事。 高低差や壁などの奥に描画するアニメを隠れるようにした場合 アニメの位置やサイズが大きいと以降のタイルチ…

続きを読むread more

戦うぞ!64xその27(ボルト系アニメーション用座標算出)2

高低差に対応しました。 内部処理(計算方法)がガラッと変りましたが気持ち悪いぐらい上手く行って不安です。 作ってる人間が脳みそ使わずトライアンドエラーでやって出来たわけで、正直理解できてないです。 自分用内部説明 ・旧 全体座標(1406など)を引き数に指定して送ると、色々計算して画面内の表示位置を返し…

続きを読むread more

戦うぞ!64xその26(ボルト系アニメーション用座標算出)

矢玉のアニメーションを追加するために、表示位置の座標を求める処理を追加中。 エセ3D仕様なために表示のタイミングを誤ると浮いて見えてしまうわけで、先にアニメーションの表示タイルとその位置を計算しておかなければならない。 大体こんな処理。一直線ルート実装から時間が空いていたせいで大分手間取ってしまった(確実に1…

続きを読むread more

・バグ修正 遠距離攻撃の判定が正常に行われていなかったのを修正 1.ヘイト対象へのアロー攻撃判定に対して、最近敵の座標とルートを参照していた 2.アローなどの一直線攻撃の判定で、ルートを直線に直す処理が外されていた これらに関わる関数を、ヘイト対象or最近敵 両方に対応するように修正した(呼び出し元から引き数に入れるスタイル…

続きを読むread more