Lambda式の使い方で少しハマったので、メモ書きです。 Lambda式でキャプチャした変数の値が書き換わらないときの対処方法 例えば回復アイテムを使用する際、ステータスパラメータによる補正を加えたい場合に、補正の条件が ...
ゲーム製作はとても時間がかかります。プログラム書いたり、動かしてみたらバグが発生したり、絵を書いたり、音楽を作ったり……。 そんな大変な作業であるゲーム制作のために、私がやっている時間を捻出する方法を紹介したいと思います ...
この記事では、”イントロ” と “ループ区間” のあるBGMを再生する方法について紹介します。 区間リピート設定について 設定方法 サウンドファイルを取り込み、対象のサウン ...
この記事ではゲーム開発を(ゲーム開発には限らないですが)効率良く行う「ポモドーロ・テクニック」のやり方について解説します。 ポモドーロテクニックを行う、大まかな手順としては以下のとおりです。 メリット ポモドーロ・テクニ ...
この記事では、ProgressBarとTextureProgressを使用した、体力ゲージなどで使用するゲージUIの作り方を紹介します。 ProgressBarを使う場合 ProgressBarは簡易的なプログレスバーで ...
最近の趣味は Godot Engine の情報をウォッチすることで、いつものようにTwitterを見ていたら、「GodotでSpineをサポートする」という情報があり、「またまたご冗談を……」と思ってリンク先を見たら公式 ...
この記事では、AStar2Dを使用した経路探索の実装方法を紹介します。 AStar2Dを使用するための前提知識 ノードについて まず実装方法の紹介の前にAStar2Dを使うために必要な前提知識を紹介します。AStar2D ...
【Godot】Navigation2Dを使用した経路探索の実装方法
この記事では「Navigation2D」を使用した経路探索の方法について紹介します。 Navigation2Dを使用した経路探索 素材画像 今回使用する素材は以下の画像ファイルとなります。 こちらのマップ画像は「ぴぽや倉 ...
【Godot】Path2D/PathFollow2Dを使って決まった経路で動かす方法
この記事では、Path2D / PathFollow2D を使って、指定した経路を移動させる方法を紹介します。 経路を移動するプロジェクトを作成 プロジェクトを作成して、2Dシーンを追加し、名前を “Main ...
この記事ではコルーチンの使い方を解説します。 コルーチンとは何か 通常の関数は上から下に順番に実行して、それらの一連の処理が終わるまで関数は終了しません。 それに対して、コルーチンでは特定のキーワードを使用することで、関 ...
今回はゲームのデータを削減する方法について紹介します。 データ削減は、「スマートフォン向けアプリ」を作成するときに特に重要となります。 2021.12.19 現在では上記の制限があり、ダウンロード率を下げる原因となってし ...
このページでは比較的よく使いそうなショートカットキーを紹介します。 なおショートカットキーの割当ては「メニュー > エディター > エディター設定」の「ショートカット」タブから変更可能となります。 よく使う「 ...
今回はイテレーターの自作方法について解説します イテレータ(英語: iterator)とは、プログラミング言語において配列やそれに類似する集合的データ構造(コレクションあるいはコンテナ)の各要素に対する繰り返し処理の抽象 ...
この記事では、クォータービューの基本的な作り方を説明します。 今回は公式のサンプルのデータを使用します。 https://godotengine.org/asset-library/asset/112 ここから、Down ...
この記事では、ノードをつないでシェーダーを作成する「VisualShader」の基本的な使い方について紹介します。 まずはプロジェクトを作成し、2Dシーン(Node2D)を追加して、”icon.pngR ...
今回はオープンワールド型ゲームの作り方を考えてみます。 オープンワールドの定義はあまり厳密ではないようです。元々はGTA3で提唱されたゲームシステムで、広大な世界を制限なしに自由に動き回ることができて、自由に探索・攻略で ...
この記事では、Godot Engine でディゾルブエフェクトの作り方を紹介します。 ディゾルブ(dissolve)とは「溶ける」という意味で、部分的に消えていくようなエフェクトとなります。 まずはシンプルなディゾルブを ...
【Godot】NinePatchRectでスケーラブルなUIを作る方法
この記事では “NinePatchRect” でサイズ(スケール値)が変化しても見た目が変化しないUIの作り方を説明します。 9つの部分に分けた(スライスした)画像を使うことから、「9 Slice ...
【Godot】ピクセルパーフェクト(ドットバイドット)で2Dスプライトを表示する方法
2Dスプライト画像を拡大するとぼやけて表示されることがあります。これを解消する方法を紹介します。 まず「ファイルシステム」から対象の画像を選択します。そして、「インポート」タブをクリックします。 次に「プリセット」をクリ ...
この記事では、2021年に買った「ゲーム開発に役立つ」ものを紹介します。 これは人によるかもしれませんが、私の場合、イヤホンをつけて開発すると集中力がアップします。 「自宅で開発するならイヤホンを付ける必要はないのでは? ...
この記事では、Godot Engineで放射ブラーを実装する方法について書きます。 放射ブラーとは、指定した位置の中心から広がるようにブラーがかかる演出となります。 放射ブラーの動作確認用の画像です。”bg. ...
今回はGodot Engineでのプラグイン(Addon)の使い方を紹介します 新規プロジェクトを作成して、エディタ中央にある「AssetLib」をクリックします プラグインの一覧・検索画面が表示されるので、今回は「tr ...
【Godot】法線マップを使用した2Dライティングの実装方法
今回は法線マップを使用した2Dライティングの実装方法について解説します。 今回の解説では以下の画像を使用します。 法線マップについてのWikipediaからの引用です。 法線マッピング(ほうせんマッピング、英: norm ...
この記事では2Dでの遮蔽物の影を表現するライティングの実装方法について紹介します。 今回使用する素材データです 含まれるデータの説明は以下のとおりです。 プロジェクトを作成して、”bg.png” ...
この記事では2Dでのアウトラインの実装方法を紹介します。 今回使用する素材データはこちらです。 このデータは「ちびコマドット絵作成機」で作成しました。 画像をスプライトとして登録し、以下のシェーダーコードを適用します。 ...
この記事では、Godot Engineでの2Dモーションブラーの実装方法を紹介します。モーションブラーとは特定の方向への移動が高速であるかのように見せる映像演出となります。 カメラがブレるような動きなので、画面揺れの演出 ...
この記事ではゲーム開発におけるタスク管理の方法とツールについて解説します。 ここでは、すぐにでも始めやすい「アナログ」での方法と、「デジタル」での方法を紹介しています。 まずタスク管理を行うメリットです。個人的には大きく ...
この記事では、Godot Engineでの衝撃波シェーダーの作り方を紹介します。 といっても、以下の動画の内容で実装できるので、シェーダーコードはほぼそのままです より詳しい解説を聞きたい場合には動画が参考になると思いま ...
今回の記事はこちらの記事…… を参考に、トランジションの実装方法をまとめました。(ほぼ同じシェーダーになりますが……) こちらの背景画像を使います。名前は “bg.png” で保存。 プロジェクト ...
Kindle Unlimitedで読めるゲーム開発に役立つ本
今回は電子書籍が読み放題になるサービス Kindle Unlimited で読めるゲーム開発に役立つ本についてまとめてみました。 なお、ここで紹介した Kindle本は基本的に Kindle Cloud Reader で ...
この記事では、Godot Engineでの コリジョンレイヤーとマスクについて説明します。 プロジェクト作成時、KinematicBody2D などのコリジョンは、すべてのオブジェクトに対して衝突を行います。これは物理挙 ...
この記事では、Godot Engine でブルームを適用する方法について書きます。ブルームとは、明るい部分を広げて明るい部分を強調しつつも、ぼやっと明るくなるので、何となく高級感が出ます。 ただ、常時適用する場合は強くか ...
「ブログリーダー」を活用して、2dgames.jpさんをフォローしませんか?
Lambda式の使い方で少しハマったので、メモ書きです。 Lambda式でキャプチャした変数の値が書き換わらないときの対処方法 例えば回復アイテムを使用する際、ステータスパラメータによる補正を加えたい場合に、補正の条件が ...
スイカゲームのアレンジサンプルを作ったので、簡単に解説する記事となります。 スイカゲームのアレンジサンプル ソースコード ソースコードはGitHubにアップロードしています。 MITライセンスなので、基本的に自由に使って ...
Godotのサンプルコードでは、シーンやリソースのパス指定を文字列にしていることが多いです。例えば以下のようなコードです。 「文字列だとパスが変わったときに動かなくなるので、あまり良くないでは…?」という意見もよく見かけ ...
この記事では、地面への着地判定を行う CharacterBody2Dの is_on_floor() の使い方と、One way 床 (一方通行床) の使い方を解説します。 Char ...
この記事では RigidBody2D で衝突の「検知」をする方法について書きます。 RigidBody2Dで衝突の検知をする方法 デフォルト状態では衝突検知はできない RigidBody2Dはデフォルトでは衝突検知はでき ...
このページでは Godot Engine 4.x系で、ゲームデータをセーブ・ロードする方法について説明をします。 セーブデータの保存方法 セーブデータのファイル操作の基礎知識 ファイルの書き込みは以下の記述で行います。 ...
今回は Godot標準ノードに含まれている OK ダイアログと YES・NOダイアログの使い方を解説します。 OKダイアログ (AcceptDialogノード) の使い方 Godot Engine では “AcceptD ...
Godot Engineで作ったゲームが増えてきたので、まとめのページを作ってみました。 なおどれも MIT ライセンスですので、基本的にはソースコードは自由に使っていただいて問題ありません(画像データは一部例外がありま ...
神経衰弱のサンプルを作ったのでソースコードと簡単な解説をします。 神経衰弱サンプル ソースコード ソースコードは GitHub にアップロードしています。 Array2: 2次元配列管理クラス カードゲームなどでは、よく ...
今回はUIに使えそうな2D図形ノードを作ったので公開しておきます。 UIに使えそうな2D図形ノード Godot Engine デフォルトだと、図形ノードは “ColorRect” の四角形のみです。 これはこれで便利なの ...
プロック崩しのサンプルを作ったので、簡単に説明をします。 プロック崩しサンプル プロジェクトのダウンロード プロジェクトファイルは GitHubにアップロードしているので、こちらからダウンロードできます。 Mainシーン ...
Godot Engine でアクションゲームを作るとき、あると良さそうなギミックの作り方をまとめてみました。 この記事は以下の内容の続きとなります。 アクションゲームの基本ギミックの実装方法 (Part.2) プロジェク ...
この記事では 配列を扱う Array のよく使う関数についてまとめてみました。 Arrayのよく使う関数まとめ 生成、初期化 生成は基本的に [] を使って行います。 Packed〜Array (例えばPackedInt ...
Godot Engine で BGMのクロスフェードをするサンプルを作ったので公開します。 BGMクロスフェードサンプル プロジェクトファイル プロジェクトファイルは以下からダウンロードできます。 使い方 使い方は、BG ...
このページでは、アクションゲームを作るときに使えそうな基本ギミックの実装方法について書きます。 アクションゲームの基本ギミックの実装方法 このページでは以下のギミック(とアクション)についての作り方を説明します。 サンプ ...
このページでは、タイルマップに一方通行コリジョン(上からのみ衝突するコリジョン)を設定する方法について説明します。 一方通行コリジョンを設定する方法 タイルマップについて タイルマップの使い方については以下のページに記載 ...
Godot 4から…かどうかはちょっと怪しいのですが、指定したウィンドウのサイズよりも小さくなってしまう現象を解消する方法がわかったので記事にしておきます。 4Kモニターを使っているとウィンドウが小さくなってしまう現象の ...
15年以上前の作品ですが、「いのべーしょん2007」という、もともとは D言語+SDLで作られた探索型アクションゲームを Godot Engine に移植してみました。 いのべーしょん2007 for Godot につい ...
Godot Engine が 2023年時点で、ユーザーがどのような目的で使用しているのか、満足度はどのくらいなのか、というアンケートが行われていてその結果がまとめられていたので、気になる部分をまとめてみます。 2023 ...
この記事ではメトロイドヴァニアのゲームデザインについてまとめています。 メトロイドヴァニアとは? 狭い意味でのメトロイドヴァニア Metroidvania (メトロイドヴァニア) とは、Metroid と Castlev ...
Final Cut Proが以下の画面で「Audio Unitを検証中…」と表示されたまま、起動ができない不具合が発生していたので、その対処方法について書きます。 Final Cut Proが起動しなくなる不具合の原因 ...
Godot 4 から、実行中の画面を直接動画へ保存する機能が実装されたので、使い方を紹介します。 動画への保存方法 保存先の設定 標準だと保存する場所の設定がされていないので、まずは保存先を指定します。 プロジェクト設定 ...
この記事では、Godot Engine をインストールした後に設定しておいたほうが良い項目について説明します。 おすすめのエディタ設定 エディタ設定はメニューから「エディター > エディタ設定」にあります。 ファイ ...
今回はドロップダウンリスト(プルダウン)の作り方を解説します。 ドロップダウンリスト(プルダウン)の作り方 プロジェクトの作成 まずはプロジェクトを作成し、Mainノード (Node2D) を作っておきます。 Optio ...
今回は Excelファイルを CSVに書く出す方法について解説します。 PythonでExcelをCSVに書き出す方法 Excelでゲームデータを管理するときの問題点 敵のパラメータを管理する場合、表計算ソフトである “ ...
この記事ではタイルマップの基本的な使い方を解説します。 タイルマップの基本的な使い方 基本プロジェクトのダウンロード 今回使用する素材(プロジェクト)を以下からダウンロードします。 ここに含まれる「project.god ...
今回はタブメニューのUIを作成する方法について説明します。 タブメニューの作り方 メインシーンの作成 プロジェクトを作成して、Mainシーン (Node2D) を作成します。 TabContainer ノードを作成する ...
Steam版の Godot Engine を使っている方が対象の記事です。 Steam版の Godot Engine はアップデートが自動で行われて便利なのですが、「Shift+Tab」を押すと Steamオーバーレイが ...
2023/3/10 あたりから Steam版の Godot Engine も v4.0 にアップデートしていて「ついに移行せねば……」と思って移行したのですが、少し引っかかったところがあったので、備忘録を残しておきます。 ...
この記事では、Nodeやスクリプトで定義したクラスの扱い方について解説します。 扱い方の3つのパターン このパターンの方法としては以下の3つが考えられます。 No 説明 シーン Nodeの継承 自動読み込み 1 シーンに ...
この記事ではジャンプアクションゲームで動きを気持ち良くする方法について書きます。 ジャンプアクションゲームで動きを気持ち良くする5つの方法 1. ジャンプ・着地するときにスケールを適用する キャラクターがジャンプ、または ...
Godot Engine で15パズルの実装サンプルを作ったので、プロジェクトファイルと簡単な解説を書きます。 15パズルの実装サンプル プロジェクトファイル プロジェクトファイルは GitHub にアップロードしている ...
今回は弾を撃つ要素があるゲームで見た目を良くする12の方法について書きます。 なお動作サンプルは以下のページから確認できます。 弾を撃つゲームで見た目を良くする11の方法 1. 弾のスプライトを変更する まずは弾のスプラ ...
今回は Godot Engine で XMLファイルを読み込むための XMLParser の使い方について紹介します。 XML Parser の使い方 XMLとは XMLとは以下のように <タグ名> で構成さ ...
定番パズルゲームの「倉庫番」を実装したのでサンプルコードとその解説をします。 倉庫番の実装サンプル プロジェクトファイル プロジェクトファイルは GitHub の以下のページからダウンロードできます。 なお使用している画 ...
今回は itch.io へのゲームのアップロード方法について説明します。 なお、アカウントは作成済みとして説明をしていきます。 itch.io へのゲームアップロード方法 itch.io とは itch.io とはインデ ...
今回は文字列 (String) に関する便利そうな関数をまとめてみました。 Stringの関数 基本情報 検索 文字を取り出す 有効な文字列かどうかのチェック 別の型への変換 大文字・小文字変換 置き換え 分割 参考
この記事では文字列表現を式として評価する(演算結果を求める)方法について書きます。 文字列を式として評価する方法 Expressionクラスの基本的な使い方 Godot Engine (GDScript) には、”Exp ...
今回は Grid-based (グリッド制) のゲームを作るときによく使われる座標系とその変換方法について書きます。 グリッド制のゲームでよく使う座標系について グリッド制のゲームとは グリッド制は、パズルゲームやターン ...
この記事では、警告「Integer division, decimal part will be discarded. (整数除算、小数部は切り捨てる)」を消す方法について紹介します。 整数除算とは GDScriptでは ...