2021-11-01から1ヶ月間の記事一覧

【Godot】Viewportから画面をキャプチャする方法

この記事では、Godot Engineの Viewportを使用して画面をキャプチャする方法について書きます。 キャプチャして描画する方法 画像の登録 以下の画像をプロジェクトに追加します。名前は "mountains.png" としておきます。 mountains.zip ちなみにこの画像は…

【Godot】2D画像をもとに擬似的な影を実装する方法

この記事では、2D画像をもとに擬似的な影を実装する方法について紹介します。 影の実装 画像の登録 今回の素材は「立ち絵素材 わたおきば」様よりお借りしています。 立ち絵素材 わたおきば 背景が明るいほうがわかりやすいので、ColorRect を背面に配置して…

【雑記】macOS環境でボイスメモから m4a ファイルを取り出して Audacity で m4a ファイルを開く方法

効果音を自作する場合に、私の場合は iPhone標準のアプリ「ボイスメモ」で録音して編集するのですが、このアプリは m4a というフォーマットでデータを保存します。 ただ、このフォーマットは編集が不便なので、Audacity で直接 m4a ファイルを開けるようにす…

【Godot】会話イベントが楽に作れるアドオン「Dialogic」の紹介

今回は「会話イベント」が簡単に作れるようになるアドオン「Dialogic」の使い方を紹介します。 2022.7.24 注記: この記事は Dialogic v1.3 で動作確認をしています。そのため最新の v1.4 とは少し挙動が異なる可能性があります Dialogicの使い方 プロジェク…

【Godot】RichTextLabelのBB Codeの使い方

RichTextLabel で使用できる「BB Code」という特殊な記法でテキストの装飾とアニメーションをする方法について紹介します。 BB Codeを有効にする BB Codeを有効にするには、RichTextLabelのプロパティからBb Code > Enabled にチェックを入れます。 BB Code…

【Godot】シェーダーの基本的な使い方

この記事では、Godot Engine でのシェーダーの基本的な使い方について説明します。 シェーダーの基本的な使い方 プロジェクトを作成 プロジェクトを作成して、2Dノードを作成し "Main" に名前を変更します。 スプライトを登録 "icon.png" をドラッグ&ドロッ…

【Godot】2Dスプライトアニメーションの基本的な使い方

この記事では Godot Engineでの 2Dスプライトアニメーションの基本的な機能について書きます スプライトシートを使ったアニメーションについて Sprite には以下のような等間隔で並んだ画像(スプライトシート)を扱う機能があります。 なお素材は 尾羽の小屋…

【Godot】コリジョンの形状を実行時にデバッグ表示する方法

エディタ上では可視化されているコリジョンの形状を、実行時にも表示する方法を調べてみました。 エディタで制御する 「エディタのメニュー > デバッグ」 から 「コリジョンの形状の表示」にチェックを入れると実行時にもコリジョンの形状が表示されるように…

【Godot】ガウスブラーの実装方法

この記事ではGodot Engineでのガウスブラーの実装方法について紹介します。 ブラーを適用するプロジェクトの作成 画像の設定 今回のブラーは画面全体に適用するため、シーン内のノードの並び順に依存する方法です。 素材データ 今回使用する素材です。 blur.…

【Godot】Camera2Dで画面を揺らす方法

この記事では、Godot Engineで画面を揺らす方法について説明をします。 Camera2Dを使って画面をスクロールさせる まずは Camera2D を使用して、画面のスクロールを実装してみます。 2Dシーンを作成して、ノード名を "Main" に変更します。そして、背景画像 "…

【Godot】乱数の使い方について

この記事では、Godot Engine における乱数の使い方を説明します。 ビルドイン関数での乱数制御 GDScriptのビルドイン関数での乱数は以下のものが用意されています float rand_range(float from, float to): from〜toの乱数を浮動小数値で返す void seed(int …

【Godot】シーンとノードについて

この記事では、シーンとノードについて個人的に調べたことを書いていきます。 シーンの構成 シーンは、1つの「ルート」ノードと、それにぶら下がる「子ノード」から構成されます。 上記画像は以下のような構成となっています。 シーン構成 Main +-- bg_back …

【Godot】文字列で変数や関数にアクセスする方法

この記事では、文字列指定で変数や関数にアクセスする方法について書きます。 get() / set() で変数を操作する GDScriptでは、get() / set() を使うことで文字列で変数にアクセスできます。 extends Node2D var hp = 1 func _ready(): print("hp: %d"%hp) # …

【Godot】マスクの実装方法

この記事では Godot Engine でマスクを実装する方法について解説します。 マスクとは マスクとは、画像の特定部分を切り抜いて描画する方法です。 この GIF動画では、円形で画像をくり抜いて、その部分だけを描画するようにしています。 画像の準備 マスク用…

【Godot】2Dゲームの描画順の制御方法

この記事では、2Dゲーム作成時における描画順の制御方法について説明します。 z_index を使う方法 z_indexを使用するとお手軽に描画順を制御できます。z_indexの値が大きいほど手前に描画され、z_indexの値が小さいほど奥に描画されます。 以下、簡単に検証…

【Godot】TextureProgressを使用したクールダウンアイコンの実装方法

この記事では、アクションゲームなどで最近良く見かけるクールダウンアイコンの実装方法を紹介します。 クールダウンアイコンの作り方 Spriteの作成 Spriteノードを追加して、"icon.png" を Textureに設定します。 TextureProgress を追加 Spriteノードの下…

【Godot】Line2Dを使ったトレイルの実装方法

この記事では Line2D を使用してトレイル(軌跡)を実装する方法を解説します トレイルの作成方法 シーンの作成 まずはNode2Dのシーンを作成します。 Line2Dの追加 次に Line2D を追加します。これは複雑な線を描画するためのノードです。 トレイルをするスク…

【Godot】スクリプトだけで文字を描画する方法

この記事では、Label などのノードを使用せずにスクリプトだけで文字を描画する方法について書きます。 デフォルトフォントを使用した描画 スクリプトだけで文字の描画を行う場合は、_draw() 内で、draw_string() を呼び出します。 以下、サンプルコードです…

【Godot】Tweenの使い方

この記事では、Godot Engine での Tween の使い方を説明します。 Spriteの配置 Tweenで動かすオブジェクトとして、ここでは Sprite を使用します。 素材の画像は何でも良いですが、今回は以下のものを使います。 http://syun777.sakura.ne.jp/tmp/godot-data…

【Godot】CSVファイルの読み込み方法

この記事では Godot Engine で CSVファイルを読み込む方法について解説します。 CSVファイルの読み込み方法 CSVファイルの作成 今回は以下のデータを扱うとします。 data.txthero,100,20 fighter,150,0 magician,50,80 ファイル名は data.txt とします。拡張…

【Godot】ゲームを一時停止するポップアップウィンドウの実装方法

この記事では、ゲームを一時停止するポップアップウィンドウを実装します。 最も簡単なポップアップウィンドウ OS.alert() と書くとゲームを止めて、ウィンドウがポップアップ表示されます。 OS.alert("メッセージウィンドウ", "") ただこれでは見栄えが良く…

【Godot】サウンドを動的にロードして再生する方法

この記事では、サウンドファイル(*.wav / *.ogg) をGDScript上で実行時にロードして再生する方法を説明します 通常のサウンド再生 通常、サウンドを再生する場合には、AudioStreamPlayer2D にサウンドファイルを割り当てて再生する、という方法を行います。 …

【Godot】2Dパーティクルの使い方

このページでは、Godot Engineでの2Dパーティクルの使い方を説明します。 CPUParticle2Dノードを作成 まずは CPUParticle2D ノードを作成します。 初期状態だと何も表示されていません テクスチャを登録する パーティクルに使用するテクスチャを登録します c…

【Godot】セーブデータの保存方法

このページでは、Godot Engineでゲームデータをセーブ、ロードする方法について説明をします。 この記事は Godot3.xでの実装方法となります Godot4.xでの実装方法は以下の記事となります。 ファイルの読み込みと書き込み ファイル書き込みは以下の記述で行い…

【Godot】Steam経由でインストールしたGodot EngineをmacOS環境でコマンドライン起動する方法

Godotでネットワークの実験をしようとしたところ、インスタンスの多重起動で苦戦したのでそのメモとなります。 Godotでネットワークを始めようとした場合には、こちらのページが参考になります。 Godot 3 Tutorial– Networking 基本的にこちらのコードをその…

『カノジョも彼女』のヒロユキ先生に学ぶ、ゲームをヒットさせるための5つの方法

商業連載した4本の漫画すべてがアニメ化したという、驚異のヒット率を誇る漫画家のヒロユキ先生のインタビュー記事「まずはTwitterでバズる! 『カノジョも彼女』のヒロユキ先生に聞く、売るための分析&アピール術」が公開されていたので、これを参考にゲー…

【雑記】M1 Mac miniに開発環境を移行したら少し苦労した話

[2021.11.23] / GameMaker Studio2 が Macでビルドできなくなっていた 最近、GameMaker Studio2の開発環境を M1 Mac mini に移行したら、プロジェクトが起動しなくなっていました。 実行ログを見たところ以下のエラーログが出ていたのですが、 FAILED: Run P…

高難易度ゲームを作るメリットと面白くする方法

今回は高難易度ゲームを作るメリットと、高難度ゲームを面白くする方法について書いていきます。 なぜ高難易度ゲームを作るのか 高難易度ゲームと言えば、一昔前は「クソゲー」の代名詞で遊ぶ価値のないゲームとされていました。 ですが、10年ほど前から『De…

現代的なゲーム難易度の考え方

この記事では、現代的なゲームの難易度についての考え方について説明をします。 難易度とは何か 難度(なんど)または難易度(なんいど)とは難しさ(むずかしさ、物事の実現しやすさ)の度合いの事である。 Wikipedia - 難度 ゲームにおける難易度とはゲーム…

ゲームをどのように作るかを7つのパターンに分類してみた

ゲームを作るために、よく用いられる7つのパターンを紹介します。 ゲームを作る過程は人それぞれ ゲームを作るための方法は、人それぞれで絶対となる方法はありません。例えば「ゲームジャンル」から発想する人もいれば、「使いたい技術」から発想する人も…