VSCodeの設定 VSCodeのインストール まずはVSCodeをインストールします。 プラットフォームに合ったインストーラーをダウンロードして、インストールを行います。 拡張機能のインストール 続けて拡張機能をインス ...
この記事では、Godot Engineの Viewportを使用して画面をキャプチャする方法について書きます。 以下の画像をプロジェクトに追加します。名前は “mountains.png” として ...
この記事では、2D画像をもとに擬似的な影を実装する方法について紹介します。 今回の素材は「立ち絵素材 わたおきば」様よりお借りしています。 背景が明るいほうがわかりやすいので、ColorRect を背面に配置して明るい灰 ...
【雑記】macOS環境でボイスメモから m4a ファイルを取り出して Audacity で m4a ファイルを開く方法
効果音を自作する場合に、私の場合は iPhone標準のアプリ「ボイスメモ」で録音して編集するのですが、このアプリは m4a というフォーマットでデータを保存します。 ただ、このフォーマットは編集が不便なので、Audaci ...
【Godot】会話イベントが楽に作れるアドオン「Dialogic」の紹介
今回は「会話イベント」が簡単に作れるようになるアドオン「Dialogic」の使い方を紹介します。 まずはプロジェクトを作成します。特に決まりはないですが、今回は「TestDialog」としました。 まずはアドオンの「Di ...
【Godot】RichTextLabelのBB Codeの使い方
RichTextLabel で使用できる「BB Code」という特殊な記法でテキストの装飾とアニメーションをする方法について紹介します。 BB Codeを有効にするには、RichTextLabelのプロパティからBb C ...
この記事では、Godot Engine でのシェーダーの基本的な使い方について説明します。 プロジェクトを作成して、2Dノードを作成し “Main” に名前を変更します。 “icon. ...
この記事では Godot Engineでの 2Dスプライトアニメーションの基本的な機能について書きます Sprite には以下のような等間隔で並んだ画像(スプライトシート)を扱う機能があります。 なお素材は 尾 ...
Godot Engine での2Dゲーム作成チュートリアルの Part.3 (最終回)です。 前回はこちらのページです。 クリックしてGodotくんを破壊できるようにします。 “Enemy”タブを ...
Godot Engine で2Dゲームを作るチュートリアル 2/3 です。 前回のページはこちらです。 今回はクリックゲームということで、クリックの対象となるオブジェクトを作成します。Mainタブのとなりにある「+」をク ...
この記事は2Dゲームを作りながら Godot Engineの基本を学ぶためのチュートリアルとなります。 Godotを起動すると、最初に以下のような画面が表示されます。 ここから「新規プロジェクト」を選択して、プロジェクト ...
【Godot】コリジョンの形状を実行時にデバッグ表示する方法
エディタ上では可視化されているコリジョンの形状を、実行時にも表示する方法を調べてみました。 「エディタのメニュー > デバッグ」 から 「コリジョンの形状の表示」にチェックを入れると実行時にもコリジョンの形状が表示 ...
この記事ではGodot Engineでのガウスブラーの実装方法について紹介します。 今回のブラーは画面全体に適用するため、シーン内のノードの並び順に依存する方法です。 今回使用する素材です。 今回は画像サイズに合わせて ...
この記事では、Godot Engineで画面を揺らす方法について説明をします。 まずは Camera2D を使用して、画面のスクロールを実装してみます。 2Dシーンを作成して、ノード名を “ ...
この記事では、Godot Engine における乱数の使い方を説明します。 GDScriptのビルドイン関数での乱数は以下のものが用意されています from〜toの乱数を浮動小数値で返します。ソースコードを読んだ印象では ...
この記事では、シーンとノードについて個人的に調べたことを書いていきます。 シーンは、1つの「ルート」ノードと、それにぶら下がる「子ノード」から構成されます。 上記画像は以下のような構成となっています。 また同一階層のオブ ...
この記事では、文字列指定で変数や関数にアクセスする方法について書きます。 GDScriptでは、get() / set() を使うことで文字列で変数にアクセスできます。 実行結果は以下のとおりです。 call( ...
『カノジョも彼女』のヒロユキ先生に学ぶ、ゲームをヒットさせるための5つの方法
商業連載した4本の漫画すべてがアニメ化したという、驚異のヒット率を誇る漫画家のヒロユキ先生のインタビュー記事「まずはTwitterでバズる! 『カノジョも彼女』のヒロユキ先生に聞く、売るための分析&アピール術」が公開され ...
【雑記】M1 Mac miniに開発環境を移行したら少し苦労した話
最近、GameMaker Studio2の開発環境を M1 Mac mini に移行したら、プロジェクトが起動しなくなっていました。 実行ログを見たところ以下のエラーログが出ていたのですが、 検索しても何も情報が見つから ...
今回は高難易度ゲームを作るメリットと、高難度ゲームを面白くする方法について書いていきます。 高難易度ゲームと言えば、一昔前は「クソゲー」の代名詞で遊ぶ価値のないゲームとされていました。 ですが、10年ほど前から『Demo ...
この記事では、現代的なゲームの難易度についての考え方について説明をします。 難度(なんど)または難易度(なんいど)とは難しさ(むずかしさ、物事の実現しやすさ)の度合いの事である。 Wikipedia – 難度 ...
ゲームを作るために、よく用いられる7つのパターンを紹介します。 ゲームを作るための方法は、人それぞれで絶対となる方法はありません。例えば「ゲームジャンル」から発想する人もいれば、「使いたい技術」から発想する人もいます。ま ...
この記事ではゲームを作るときの出発地点を「体験」ベースにすることの重要性について紹介します。 書籍やネット上の情報を元に「体験」を作ることがいかに大切であるのかをまとめました。 「The Art of Game Desi ...
今回はコンセプト主導のゲームを作るためにはどうすれば良いのかを考えてみます。 コンセプトとは企画用語で「全体を貫く基本的な観点・考え方」という意味です。コンセプトを核として、それに沿って物作りをすると一貫性のある商品が生 ...
この記事では落ち物パズルゲームの作り方を解説します。 落ち物パズルとは、「テトリス」「ぷよぷよ」「ズーキーパー」「ツムツム」のようなゲームを表すジャンルです。落ちものパズルは、おおよそ以下のルールとなっています。 通常、 ...
この記事ではラン&ジャンプ系ゲームの作り方を紹介します。 まずはプレイヤーを表示して重力で落下させます。 重力の扱いを理解していれば、特に難しくないと思います。 床を表示して、プレイヤーがその上に乗れるようにします。 判 ...
この記事では、個人ゲーム開発をされている方が YouTube を始めるべきか、ということについて解説します。 先に結論を書くと「プロモーション目的ならTwitterでも十分だけれども、YouTubeの特性を見極めて、得ら ...
【雑記】AppleWatchからSuicaを削除してAppleWatchを初期化する方法
現在 Apple Watch Series 3 を使っているのですが、この機種はストレージ容量が小さいため WatchOS のアップデートに失敗することがよくあります。 それでも問題なく使えてはいたので、そのままにしてい ...
この記事では、昔ソーシャルゲーム開発をして見事にハマった落とし穴について紹介する記事となります。 すでに開発に関わっている方にとっては常識的なことかもしれませんが、今後ソーシャルゲーム開発に関わる人の役に立てば……と思い ...
フィールドを歩き回るような3Dのゲームを作る際に、主観視点で周りをグルグル見渡せるカメラがあると便利です。ちょうどFPSゲームで使われるカメラです。この記事では、そういったFPSカメラの作り方を説明したいと思います。 F ...
今や世界で最も使われている(日本でもダントツ人気)のUnityのおすすめの参考書を紹介します。 なお、主に2Dゲームを作っている開発者としての個人的な視点からのおすすめとなる点にご注意いただければと思います。 2Dゲーム ...
このページでは、2Dプラットフォーマー(2D横視点のジャンプアクションゲーム)の作り方を解説します。 2Dプラットフォーマーの実装パターンは、主に以下の4種類です。 ただし、要求される仕様によっては、複数の手法を組み合わ ...
「賢いAIの作り方(What Makes Good AI?) Game Maker’s Toolkit」という、AIを作るためのためになる動画を見つけたので内容をまとめてみました。 賢いAIの話になると、FEARやHa ...
この記事は、ネット上にあるインディーゲームに関する記事をまとめたものとなります。 現在開発中の「LA-MULANA2」の開発において、Kickstarterを通じて5200名から26万ドルの調達に成功 Indie Str ...
今回はRPGをお手軽に作る方法について紹介します。 RPGは他のジャンルと比べて、作るのが難しいイメージがあります。それはRPGが持つ一般的なイメージが「ドラゴンクエスト」や「ファイナルファンタジー」「ポケットモンスター ...
ダンジョンの自動生成では、最もお手軽と思われる穴掘り法を解説します。 穴掘り法によるダンジョンのメリットは以下のとおりです 穴掘り法を使うメリットとしては「アルゴリズムが簡単」です。実装のためのプログラムコードとしては1 ...
・誰も教えてくれないハイパーカジュアルの始め方 – ハイパーカジュアルゲームナイト という動画を参考に、ハイパーカジュアルゲームについて調べました。 ハイパーカジュアルゲームとは、ゲームに不慣れな人でも気軽に ...
「脚本を書くための101の習慣」という本があります。 https://www.amazon.co.jp/dp/4845912937 これは、一流の脚本家、小説家にインタビューを行い、彼らがどういった行動パターンで優れた脚 ...
今回は、80歳を過ぎてなお現役、という恐ろしいバイタリティーを持つ富野由悠季監督の創作術を解説します。 ・YouTube – 富野由悠季監督「鬼滅潰す、エヴァ潰す」(2021.04.13) まだ生きてて新作を ...
ローグライクで永続的なアップグレードをするべきか?(Should Roguelikes Have Persistent Upgrades?) という面白い動画があったので、この動画を見て感じたことをまとめます。 この動画 ...
ブラウザ上でお手軽にレトロゲーム風の効果音を作れる「JFXR」の紹介です。 基本的な操作方法は以下の通りです。 左上の “Create new sound” と書いてある部分をクリックすると、その ...
昔作ったゲーム用? BGMを公開するページです。 使用にあたって特に連絡は不要となります。ゲームのBGMや動画の音声素材として自由に使うことができます。もし何らかの表記をする場合は、以下の記載をお願いできればと思います。 ...
昔作ったゲーム用? BGMを公開するページです。 使用にあたって特に連絡は不要となります。ゲームのBGMや動画の音声素材をして自由に使うことができます。ただ、著作権は放棄していませんので、再配布を行う場合は以下の記載をお ...
この記事ではRPGの作り方を解説します。 なおRPGすべてを網羅するのは大変なので、この記事ではRPGの核となる「マップとイベント」のシステムについて解説します。 「マップとイベント」のシステム構築に必要な要素は以下のと ...
この記事ではRPGの作り方を解説します。 なおRPGすべてを網羅するのは大変なので、この記事ではRPGの核となる「マップとイベント」のシステムについて解説します。 「マップとイベント」のシステム構築に必要な要素は以下のと ...
KPTとは、行ってきた仕事や活動を振り返る際に、以下の3つの視点で整理するフレームワークのことです。 アジャイル開発や反復型開発ではイテレーション(繰り返しの単位)ごとに作業の振り返りが推奨されますが、そのためのチーム反 ...
Ludum Dareとは、48時間(2日間)でテーマに沿ったゲームを作るオンラインのイベント。年3回(4月/8月/12月)に開催されるようです。 ページ左上にある「Create Account」をクリックしてアカウントを ...
Windows & Mac OS X & Linux(Ubuntu) で動作する、スプライトアニメーション・ドット絵のエディタ Pixel-perfectを有効にすると、線を引いたときにギザギザがなくなり ...
このページでは高機能なレベルエディタである Tiled Map Editor の使い方を紹介します。 Tiled Map Editorが扱うデータ(*.tmx)のデータ構造は以下のとおりです。 TMX +-- versi ...
この記事では、矩形状に区切られたマップとの衝突・応答判定を行う方法の解説します。 例えば、こういったRPGツクールでよく見られるマス目で区切られたマップです。このときのプレイヤーと、赤くしている障害物との当たり判定の実装 ...
今回はゲームデザイナーに必要な能力、素質を向上するための方法について紹介します。 ゲームデザイナーとしての必要な素質はいくつかあります。ゲームとその他のエンタメの知識。流行りものに対する嗅覚。心理学の知識。優れたインスピ ...
Unityでタワーディフェンスを作ったのでアルゴリズムや手順を公開
Unityでタワーディフェンスを作りました。ソースコードは以下のURLから取得できます。 最近ではいろんなジャンルが混ざり合ったタワーディフェンスが多いですが、今回作ったのは古典的(と思われる)タワーディフェンスのルール ...
この記事ではホラーゲームの作り方を解説します。 まずはホラーゲームで表現したい怖さを選びます。表現したいものによって適切なフォーマットを選ぶのが作りやすいと思います。 例えば、“キャラクター” や ...
「ブログリーダー」を活用して、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の色を決めるときにはデザイン的な要素(かっこいい、わかりやすいなど)が重要ですが、それとは別の軸として「コントラスト比」もまた重要であるということを知ったので、それについてのメモ書きとなります。 コントラスト比とは ...