投稿記事

2023年 07月の記事 (3)

レイマスター 2023/07/16 20:57

最高のGodot学習教材購入

こんばんはー、レイマスターです。
いつものように、ダクメデリバース大型アプデの
進捗報告をしますが、
今回は目新しい進捗はありませんでした。

サボっているのか? と思われるかもしれませんが、
これまで作ったファイルやフォルダの名前を変更してます。
依存関係修復で、変更したファイル名を設定しています。
規模が小さいうちに修正して完了したら、
新ステージのマッピングをする予定。

プログラミングにも、規約というものがある。
独りよがりで決めるのではなく、
コードを読む方の立場に立ってのルールであろう。

それでは、本題に入ります。

2023年7月6日、大きな買い物をしました。
Godot Engineの学習に役立つサイト「GDQuest」で、

ULTIMATE GODOT COURSE BUNDLEを購入しました。

しかも、購入できるのは7月15日までで、
それ以降は出さないというのを知ったので、
これを逃したらいけないので購入を決意。
55,890円もしましたが、良い教材と思って購入。

中身を見たら、テキストだけでなく、
サンプルプロジェクトやビデオ、
更に自分でコードを入力してちゃんと動くかのテスト、
各ノードの解説も付いててお得。

itch.ioというフリーゲームサイトで、
自分で入力してGDScriptを学習する
Learn GDScript From Zero」というアプリがありますが、
今回購入したものは、GDScriptの基本だけに留まらず、
ノードやシェーダーの解説、2D/3Dゲームの作り方など、
Godot Engineを極めたい人のための最高の教材。

ほとんどが英語ですが、翻訳を使いながら
自分なりに理解すれば大丈夫と思います。

現在、「Learn to Code From Zero With Godot」で、
「宇宙船の動かし方」を終わらせたところです。
ゲーム制作の合間にGodotの学習をやっています。
この教材をこなした頃は、Godotを極めたかもしれない。

それでは、この辺で。

レイマスター 2023/07/09 21:00

ダクメデリバース大型アプデ進捗報告3(2023/07/09)

こんばんはー、レイマスターです。
進捗状況は週報になってきてます。

ダクメデリバース大型アプデ

逃走妨害トラップ実装

前作にあった人形を全て集めて、次のステージへ向かうのに必要な
アイテムを入手した後に始まる追いかけイベント中に、
プレイヤーの逃走を妨害するトラップを、今作でも実装。
今作はある難易度以上を選択した時に発生。


前作はプレイヤーの向きによってトラップ発動する仕組みでしたが、
今作は、落とし穴を囲むようにトラップ発動のエリアを配置。
2つのエリアを配置しようと考えてましたが、
処理が面倒くさくなってしまうので、1つにした。

必要なアイテムのナビ追加

条件を満たさず次のマップへのドアに近づくと、
鍵が掛かっている効果音が流れ、これは進めないな、と認識しますが、
音だけでは不十分と思い、ドアの上にナビを表示するように。


「このマップ内にある人形を集めないと進めないよ」
という感じで。

AnimationPlayerというノードを使用。
ナビ表示やナビ消去のアニメを用意。

他にも、鍵の掛かったドアや、アイテムを手に入れないといけないなど、
他のオブジェにも応用する。


アイテム入手&使用実装

今後実装予定の新ステージで活躍するアクション。
「アイテム入手」と「アイテム使用」

前の記事にあったのですが、
インベントリーアイテムスロットは1個のみで、
HUD上で実装しましたが、

今回は、古洋館ステージでアイテムを使用する場面を追加!


赤い鍵?!

これで、大型アップデートのタスク「古洋館ステージ」は完了です。
ゲームの基本的な部分を完成!

次は新ステージのマッピングです。
どんなマップを作るのかは決まってますが、
作りたいマップの資料をググらないと。

報告は以上です。

レイマスター 2023/07/02 21:07

ダクメデリバース大型アプデ進捗報告2(2023/07/02)

こんばんはー、レイマスターです。
7月に入って、2023年後半に入りました。
タイトル通り、ダクメデリバースの大型アプデ進捗報告です。

ダクメデリバース大型アプデ

古洋館ステージに扉追加

クリエイターズ文化祭2022Verには無かった扉を、
大型アップデートで追加することにしました。
レイヤー番号となるz_indexをプレイヤーより低めに設定すれば、
プレイヤーが扉の前にいるような感じとなります、が…

一つの問題が浮上。

「もしも、まだ開いてない扉の後ろにプレイヤーがいたとしたら…」

答え
「プレイヤーが何故か扉を上から踏んでいるかのような違和感っ!」

別のノードでプレイヤーがエリア内に入ったら
z_indexの数値を変えるなど、試行錯誤してみたが、
思うように上手くいかずの繰り返し。
ようやく、この問題を解決!

どうやって、この問題を解決したのかというと…、


扉を開けるエリアとは別のエリアノードを作成。
扉を開けるエリアより上のエリアをChangeFrontArea2D
下のエリアをChangeBackArea2D
扉のスクリプト内に、
func _on_ChangeFrontArea2D_body_entered(body:Node) -> void:
	$Sprite.set_z_index(2)
	pass

func _on_ChangeBackArea2D_body_entered(body:Node) -> void: #
	$Sprite.set_z_index(0)
	pass

エリアを踏むとz_indexを変更する処理を追加。
(プレイヤーキャラのz_indexが1の場合)

このような処理を行った結果、


プレイヤーが扉より前。


プレイヤーが扉より後ろ。

無事に実装できました!
もしも、他のマップチップでこういう違和感が起きそうな時は、
この方法で解決をしてみようと考えてます。

次は逃走妨害トラップとアイテム関連の処理実装。
これが終われば、全部ではなくてもゲームの基本的な部分が
完成したことになります。

報告は以上です。

月別アーカイブ

限定特典から探す

記事を検索