VSCodeの設定 VSCodeのインストール まずはVSCodeをインストールします。 プラットフォームに合ったインストーラーをダウンロードして、インストールを行います。 拡張機能のインストール 続けて拡張機能をインス ...
【Godot】エディタ拡張で簡易CSVエディタを実装する方法
今回はエディタ拡張(Godot Engineのエディタに直接機能を追加)に簡易CSVエディタを追加する方法について解説します。 エディタ拡張にCSVエディタを実装する方法 プラグインを新規作成する プラグインを新規作成す ...
Vector2 でよく使いそうな関数をまとめてみました。 Vector2でよく使いそうな関数 float angle(): ベクトルがなす弧度(ラジアン)を求める 得られる値はラジアンなので、角度が欲しい場合は rad2 ...
ホーミングレーザーっぽい挙動の実装サンプルを作成しましたので、プロジェクトファイルを公開しておきます 以下、簡単な解説を行います。 ホーミングレーザー解説 レーザーのような線の作成方法 レーザーのような線は「Line2D ...
この記事ではラジオボタンを作成する方法を紹介します。 ラジオボタンの作り方 素材のダウンロード 今回使用する素材を以下からダウンロードします。 ダウンロードしたら、フォルダに含まれるデータをプロジェクトに追加します。 各 ...
「ゲーム開発を始める前に知っておくべきこと」を見て思ったこと
ゲーム開発を始める前に知っておくべきこと(Making Your First Game: Basics – How To Start Your Game Development)という動画があります。 これは ...
この記事では実行中のゲームをPNG画像で保存する方法を解説します。 スクリーンショットをPNG画像で保存する方法 サンプルとして以下のようなオブジェクトが動き回るコードを書きます。 そのシーンに以下のコードを記述します。 ...
公式のサンプルですが、使い勝手が良さそうだったので紹介です。
今回はマス目を移動してすべてのマスを一筆書きで移動するゲームの作り方を紹介します。 とてもシンプルなものでゲームと言えるか微妙なところですが、マス目移動を行うゲームの基本になるかと思います。 一筆書きゲームの作り方 素材 ...
【Godot】リソースパス(res://)とユーザーデータパス(user://)の違いについて
この記事では、リソースパス(res://)とユーザーデータパス(user://)の違いについて説明をします。 リソースパスとは「res://」で始まるパスです。例えば以下の用途で使用します。 最もよく使うのがシーンの読み ...
【Gudot】謎解きゲームで使いそうな数値入力UIの作成方法
今回は謎解きゲームで使いそうな数値入力UIの作成方法を解説します。 数値入力UIの作成方法 素材データのダウンロード 今回は日本語テキストを使用したいので、日本語フォントをプロジェクトに追加しておきます。 Themeリソ ...
【Godot】日本語フォントの設定方法 (Godot3.4〜)
Godot が v3.4 あたりになってからフォントの設定が少しややこしくなったので、設定方法をまとめておきます。 日本語フォントの設定方法 フォントの指定がなぜややこしくなったのかというと、文字を表示する場合に直接フォ ...
この記事では、Godot Engineで標準実装されている多言語(各言語に対応する翻訳)テキストに対応する方法を説明します。 翻訳テキストを用意する Godot Engineが標準で対応している翻訳データは「CSV」形式 ...
この記事では、ノベルゲームを作りたいけれどもシナリオがなかなか書けない…という人のために、最初のステップとしてどのようにシナリオを書いていくのが良いのかを書いていきます。 なお注意点として、ここで紹介している方法は、あく ...
【Godot】AnimationPlayerでのアニメーションを実装する基本
この記事では AnimationPlayerを使用したアニメーションの実装方法について紹介します まずは頂点カラーを変えるだけの簡単なアニメーションを実装してみます。 ルートノードの作成 Node2Dを作成して名前を「P ...
【macOS】ゲームの紹介動画のキャプチャ・GIFの作成方法
ゲームの紹介動画を保存する方法と、それをGIF画像に変換する方法を紹介します。 QuickTime Playerの起動 QuickTime Playerを起動します。QuickTime Playerは「アプリケーション」 ...
今回は残像エフェクトの作り方を解説します。 残像エフェクトの作り方 残像エフェクトの仕組み 今回紹介する残像エフェクトは、プレイヤーの移動した位置にそのフレームでの画像を残す方法となります。 そして時間経過で少しずつ透過 ...
今回はモザイクシェーダーの作り方について解説します。 モザイクシェーダーの作り方 画像素材の追加 まずは以下の画像をプロジェクトに追加します。 なお上記データには「white.png」というダミーデータも含まれています。 ...
この記事ではオブジェクトの動きを一時停止する方法について解説します。 get_tree().paused で停止する方法 Godotには “get_tree().paused” というフラグに & ...
今回は小さなゲームで物語をどのように表現するのかを考えてみました。 参考にしたのはこちらの記事です。 Candy Crush シリーズで知られる、King社による講演内容となります。 小さなゲームに物語は必要か? 私の印 ...
今回はマウスでオブジェクトを選択したときに表示されるツールチップの実装方法について紹介します ツールチップの実装方法 素材データ 今回使用する素材データです。 ToolTipシーンの作成 “Control&# ...
Android向けにビルドをしたら以下のエラーが表示されました 調べたところ、こちらの記事によると 解決策: 元ファイルを.pngにしてからアイコンを作ると解決。 error: failed to read PNG si ...
今回はYSortを使用した描画順の制御について解説します。 Y座標による描画の違和感 例えばオブジェクト同士で重なりがある場合、立体感のある画像を重ねたときに違和感が発生します。 これは極端な例ですが、いくつか重なり ...
【Godot】Godot Engineをソースコードからビルドする方法
この記事では、Godot Engine をソースコードからビルドする方法する方法を解説します。 ソースコードからのビルドする理由は主に以下の3つになると思います 例えば、Spineのプラグイン や Dragonbones ...
「ゲームメカニクス おもしろくするためのゲームデザイン 」の紹介
ゲームデザインに関する本はいくつかありますが、そのなかでも私がオススメしたい本「ゲームメカニクス おもしろくするためのゲームデザイン 」の内容を少しだけ紹介します。 この本はゲームの面白さを抽象的・体系的にまと ...
この記事では、複数の背景を異なる速度で移動させることで、擬似的に奥行きを表現する「多重スクロール」の実装方法について紹介します。 多重スクロールの実装方法 素材データ 今回使用する素材データです このデータには以下の2つ ...
「ブログリーダー」を活用して、2dgames.jpさんをフォローしませんか?
VSCodeの設定 VSCodeのインストール まずはVSCodeをインストールします。 プラットフォームに合ったインストーラーをダウンロードして、インストールを行います。 拡張機能のインストール 続けて拡張機能をインス ...
面白いゲームを作れる人の素養として必要なものを考えてみます。 面白いゲームを作るには、既存のウケている要素を巧みに組み合わせて新しいものを生み出す力が重要です。これは「0→1」の発想力と呼ばれ、非常に希少価値の高いスキル ...
Final Cut Proを使っていたら、なぜか「機械学習型オプティカルフローを解析中…」という表示がされたまま消えないことがありました。 「特に放置しても問題ないかな…」と思っていたのですが、デバイスへの出力時に以下の ...
UIの色を決めるときにはデザイン的な要素(かっこいい、わかりやすいなど)が重要ですが、それとは別の軸として「コントラスト比」もまた重要であるということを知ったので、それについてのメモ書きとなります。 コントラスト比とは ...
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 ...
このページでは、アクションゲームを作るときに使えそうな基本ギミックの実装方法について書きます。 アクションゲームの基本ギミックの実装方法 このページでは以下のギミック(とアクション)についての作り方を説明します。 サンプ ...
このページでは、タイルマップに一方通行コリジョン(上からのみ衝突するコリジョン)を設定する方法について説明します。 一方通行コリジョンを設定する方法 タイルマップについて タイルマップの使い方については以下のページに記載 ...
UIの色を決めるときにはデザイン的な要素(かっこいい、わかりやすいなど)が重要ですが、それとは別の軸として「コントラスト比」もまた重要であるということを知ったので、それについてのメモ書きとなります。 コントラスト比とは ...