ゲーム開発日記20(10月28日 ~ 11月18日)
週二の進捗日記 25 ~ 28週目
コードとかは乗せるかもしれないけどゲーム部分、ストーリーやギミックのネタバレは避けます、またまた二週間おやすみでした、二週間に一回にすることにします
…知らん間にgodotが炎上したって本当かいな??どゆことや
ゲームエンジン godot4.2 OS windows10 開発ゲーム:メトロイドヴァニアホラーアクション
進捗
攻撃関係の関数を整備
攻撃関係の整備、というのも一番の新進捗は攻撃の使用、が決定したこと
いままで作るものが定まってなかった、という致命的な状態で進んでいた
スケルトンボーンが利用できるようになった
以前解決できなかった消える問題が解決した
以前スケルトンを割り当てると透明化してしまうバグがあり解決できなかった ポリゴンの割り当てができていなかったらしい
てっきり自動でやってくれると思っていたが手動でやる必要があるらしい??
正しい手順
polygon2Dを配置
textureプロパティに好きな画像をセット
右上のUV項目を展開
UV項目の点 から点を打つことで外殻を形成
UV項目のポリゴン からポリゴンを作成(三角形か四角形にする )
polygon2Dの子にSkeleton2Dを配置
Skeleton2Dの子にBone2Dを配置(Bone2Dをコピーして配置すると変になるので注意)
配置したらSkeleton2Dのレストポーズに指定(右上)
Skeleton2Dをpolygon2Dのskeletonプロパティに指定
polygon2DのUV項目をもう一度開きボーン→ ボーンをポリゴンに同期させる
そのボーンが担当するポリゴンを指定する
もうそろそろヴィジュアルに着手できる?
以前ヴィジュアルに手を付けようとして放置していた、理由は自分の画力不足、シェーダー関係の知識不足にあった
絵の練習の成果が最近出ていてもうそろそろゲーム素材が作れるかもしれない
シェーダーについてはまだ知識不足なところはある、とはいえこれは実際に作ってい行かないと身につかないものだろう
マップシステム再再設計
なんど完成したと思ったのをいじって直してるかわからない マップシステム、これも敵もマップ中を徘徊して部屋をまたいだ戦闘を実現するためだ
もう一つの元凶はこういう機能ほしいとつくってる途中にアイデアが出てしまう問題
とはいえ今回はシンプルに詰めが甘かった、
シングルトンシステム完成
このシステムには結構自身がある ぜひ紹介したいしこの部分だけなら便利なツールとして後悔してもいいかも?
今完成している機能は以下、
フラグとイベントシステム
参照辞書
起動時の初期化
セーブデータの管理機能
入力とカスタムインプットの機能
参照辞書はまあ、シングルトンに辞書を作ってどこからでもオブジェクトを参照できるように、という割といろんな人がやってそうな機能
フラグとイベントシステム
ゲームの進行状況の一括管理ができるようにしたシステム
シングルトンにイベントとトリガーとなるフラグを保存しておいて特定のイベントを一行でどこからでも実行でき自動で実行回数も保存される、その回数の記録がそのまま進行状況のデータになる
使用からグローバルで中央管理なシグナルとしての機能もあるように思える
セーブデータは二種類がある システムデータとゲームデータ
システムデータは単一のファイルで以下のような情報を保存する
・音量やカスタム入力、
・クリアしたことあるか?
・最後に起動したセーブデータの名前
・セーブデータの保存場所のパス
・セーブデータの概要情報
ゲームデータは、要はセーブデータで数制限はない
プレイヤー情報や進捗を保存する
セーブデータには名前が付けれるなど地味にあるといい機能もつけてある
起動時の初期化
セーブデータ関係のもろもろを起動時にやってくれる これで後々シングルトン自体の内部状態を気にしなくてよくなる
今後の予定
エンティティの水面状態を完成させる
シングルトンシグナル、まだデバッグが足りない
今週中には統合テストしたい
プロト版 (11月中に完成させる)
セーブデータなど必須機能(OK)
アクション要素 スキルの取得と使用、 バフ効果
アイテムの取得と使用
マップ移動、ドアエリアに触れると一部の敵とプレイヤーが別の部屋へ移動できるようにする
ミニマップの表示とファストトラベルなど
簡易的な敵、ドロップ品
デバッグルームとしての簡易マップ 拾えるアイテム ボタン レバー 扉 調べれる場所などのテンプレートを作って機能することを確認する