投稿

おすすめ!自作ゲーム!

【バイサバ!】溜めて、狙って、ぶっ飛ばせ!チャージで全て薙ぎ払うタワーディフェンス!

イメージ
バイサバをBOOTHでも販売開始しました! サーマーセールも合わせて開催! 今なら 50%OFF! の 500円で購入可能 に! ダウンロードは →  https://yamatogamelabs.booth.pm/items/8407425   DLsiteで販売しています。(Bloggerの規約上、リンクは貼れません。 Bye!Bye!Survivor!  もしくは  RJ01621439  で検索してください) デモ版もあるのでまずはお試しから! ■ ゲーム概要 溜めて、狙って、ぶっ飛ばせ! 右クリック長押しでチャージ! 溜めるほど、攻撃がどんどんパワーアップ! 攻撃力・攻撃サイズ・Hit数・クリティカルまで強化される、強力なチャージ攻撃で、押し寄せるスライムをまとめて吹き飛ばそう! 敵をピンポイントで狙い撃つか、 最大までチャージして敵の群れを一気に薙ぎ払うか。 シンプルな操作で、チャージのタイミングと狙いが勝敗を分ける! チャージ攻撃で敵をまとめて撃破! ■ このゲームの魅力 シンプルな操作で、チャージのタイミングと狙いが勝敗を分ける! チャージ攻撃で敵をまとめて撃破! 基本操作は左右移動だけ。 攻撃は自動で行われるので、難しい操作は必要ありません。 そこに加わるのが、強力なチャージ攻撃。 チャージするほど攻撃が強くなり、 大きさやHit数も増加! 大量の敵をまとめて貫通させたり、 強力な一撃で狙った敵を撃ち抜いたり。 いつ撃つか、どこを狙うかはあなた次第! ■ クリスタルを守り抜け! スライムたちは、あなたではなくクリスタルを狙って押し寄せてきます。 敵がクリスタルに到達するとダメージを受け、 HPが0になるとクリスタルが大爆発! そのまま空の彼方へ吹き飛ばされてゲームオーバー! 攻撃だけでなく、クリスタルのHP管理も重要です。 ボスを倒してステージを突破! ステージの最後には強力なボスが登場。 大量のHPを持ち、強力な攻撃を繰り出してきます。 さらに、ボスがクリスタルに到達すると即ゲームオーバー! 敵の攻撃は、こちらの攻撃で相殺することも可能。 迫りくる敵と弾をまとめて薙ぎ払い、 ボスがクリスタルへ到達する前に撃破しよう! ■ オブ...

天使のふたごとナゾ?あそび!【脱出ゲーム】

イメージ
  ■■■■■   ゲームの特徴   ■■■■■ ドアを開けたり、アイテムを集めたり! ドラッグ・アンド・ドロップで簡単謎解き! 双子の天使や愉快な仲間と、ちょっと不思議な脱出ゲームを楽しもう! ■■■■■   BOOTH、DLSiteで販売中!   ■■■■■ BOOTHで販売中! https://yamatogamelabs.booth.pm/items/7330697 DLSiteでも販売開始しました! RJ01707003 か 天使のふたごとナゾ?あそび!【脱出ゲーム】 で検索してください! (Bloggerの規約上、リンクは貼れません ) ✔ ワンクリック&ドラッグの簡単操作 ✔ エディションごとに展開するストーリー  ・双子の天使や白黒猫、愉快なキャラが大活躍! ✔ 全50ステージ以上! ✔ 集めたアイテムやギミックを「アルバム」でコレクション! ✔ 間違い探しもあります!左右の絵の間違いを探そう!  ランダムで毎回変わるので無限に楽しめるよ! ゆるくてふわふわ。かわいいキャラたちと、ちょっと頭をひねる謎解きを楽しめます。 隙間時間に気軽に遊べる、癒し系カジュアルゲーム。 ときにはいたずらや意地悪な仕掛けも…? 天使たちと一緒に、ゆるっと楽しい謎解きライフを始めませんか?

バイサバの秘密のコード

イメージ
  インベントリのボタンをクリックや、キーボードから入力すると秘密のコードの入力が可能です。 キーボードは1~5にセットされていますが、上の画像の用に数字は1つズレているので注意。 時間制限やステージクリアの条件があるので、その条件を満たせるように入力を @ステージ3クリア後    2秒以内に 232323 @ノーマルキングを倒す  2秒以内に 2を16回 @ハードのキングを倒す  2.5秒位内に 123323223 ダウンロードは →  https://yamatogamelabs.booth.pm/items/8407425   DLsiteで販売しています。(Bloggerの規約上、リンクは貼れません。 Bye!Bye!Survivor!  もしくは  RJ01621439  で検索してください) デモ版もあるのでまずはお試しから!

Godotの継承、superが必要っぽい

せっかくだから継承用のスクリプトを作ってまとめていたら、 ハマってしまったのが super 継承元の _ready() で初期化していて、 継承先のスクリプトでも必要なものを _ready() で初期化したら、 オーバーライドになってしまっていた! 継承が必要なら super._ready() を入れないとダメということで @何かのスクリプト  extends TransObj func _ready() -> void: super._ready() @継承元 class_name TransObj extends Node func _ready() -> void: pass    # 何かの処理 ー これ必須

Godot4でルーペみたいに拡大したくてハマったので、メモ。SubViewportに苦戦!

イメージ
↑な感じにしようとしたら上手くいかずに結構時間がかかったので。 メモっとく SubViewportに_ready()でセットしないとダメだったらしい。 理由はよくわからんけど、 スプライト2Dにルーペの中のオブジェクトを拡大して表示する仕組み。 extends SubViewport func _ready() -> void: world_2d = get_tree().root.world_2d これだけで数時間悩み続けてた

GodotでFPSをスクリプトから変更

GodotでFPSをスクリプトから変更  Engine.max_fps = 0  # 任意の数字 0にすると制限なしで、現在開発中のゲームでは900を超えることも! そんなに上がっても意味ないけど。 スパイクが起きなければよし!安定大事! UI表示中とかは30でも十分だし、可変式にしようかな? 物理をガンガン使うゲームじゃないから、正直60安定してくれれば御の字

Godot4でマウスの位置取得。 get_global_mouse_position()

マウスの位置取得。 get_global_mouse_position() たまに忘れるのでメモっとく

【Godot 4入門】知らなきゃ損!コードをスッキリ保つアノテーション(@export, @onreadyなど)

  アノテーションとは? アノテーションとは、スクリプトの変数や関数に「追加の目印やルール」を与える機能です。 Godot 4では、行頭に @ マークをつけて記述します。コードの可読性が上がり、インスペクターとの連携も強力になります。 @export var character_name: String = "勇者" @export var max_health: int = 100 @export var move_speed: float = 5.5 範囲を指定する ( @export_range ) @export_range(0.0, 100.0, 0.1) var volume: float = 50.0 ファイルパスを制限する ( @export_file ) @export_file("*.tscn") var next_scene: String グループ化する ( @export_category / @export_group ) @export_category("ステータス") @export var attack_power: int = 10 @export var defense: int = 5 @export_group("ステータス") @export var attack_power: int = 10 @export var defense: int = 5

Godot4でマウスの位置にノードの生成

Godot4でのメモ。 2Dでマウスの位置にノードを生成したかったから。 2Dは楽だなー var ins = insNode.instantiate()  add_child(ins) ins.global_position = get_global_mouse_position() 

Godotのエフェクトの再生メモ。CPUParticles2Dの子の再生

イメージ
こんな感じでCPUParticles2Dをヒエラルキーに置いて、上のCPUParticles2Dをemitting=trueにしても下のパーティクルが再生れなかったのでメモ。 one_shot=true ということも関係しているのかも? 配列にまとめて再生するようにしました。 restart() で初期化もできるっぽい。 オブジェクトプールで使い回すつもりなので一応。  extends Node2D # エフェクトの管理 @export var par : Array[CPUParticles2D] # エフェクトの開始 func SetEffect(): for i in par: i.restart() i.emitting = true visible = true # パーティクル終了 func _on_cpu_particles_2d_finished() -> void: visible = false