ゲームプログラム
この記事では、可読性が高く機能拡張しやすい(保守しやすい)ゲームプログラムを書くための 7つの基本的なテクニックを紹介します。 読みやすいゲームプログラムコードを書くための7つの基本テクニック 今回紹介する方法は以下のものです。 1. ローカル変数を…
今回は Excelファイルを CSVに書く出す方法について解説します。 PythonでExcelをCSVに書き出す方法 Excelでゲームデータを管理するときの問題点敵のパラメータを管理する場合、表計算ソフトである "Excel" を使用すると楽に管理ができます。例えば敵のパラ…
今回は Grid-based (グリッド制) のゲームを作るときによく使われる座標系とその変換方法について書きます。 グリッド制のゲームでよく使う座標系について グリッド制のゲームとは グリッド制は、パズルゲームやターン制ストラテジー、昔ながらのターン制ロ…
今回は電子書籍が読み放題になるサービス Kindle Unlimited で読めるゲーム開発に役立つ本についてまとめてみました。 Kindle Unlimited は定期的に割引キャンペーンを行います Kindle Unlimited は定期的に割引キャンペーンを行っているので、その期間だけ…
この記事では落ち物パズルゲームの作り方を解説します。 落ちものパズル 落ち物パズルとは、「テトリス」「ぷよぷよ」「ズーキーパー」「ツムツム」のようなゲームを表すジャンルです。落ちものパズルは、おおよそ以下のルールとなっています。 1. 消去可能…
この記事では Jump ’n’ run game (ラン&ジャンプゲーム) の作り方を紹介します。
フィールドを歩き回るような3Dのゲームを作る際に、主観視点で周りをグルグル見渡せるカメラがあると便利です。ちょうどFPSゲームで使われるカメラです。この記事では、そういったFPSカメラの作り方を説明したいと思います。 作り方概要 FPSカメラを作るには…
今や世界で最も使われている(日本でもダントツ人気)のUnityのおすすめの参考書を紹介します。 なお、主に2Dゲームを作っている開発者としての個人的な視点からのおすすめとなる点にご注意いただければと思います。 入門者向け Unityの教科書 Unity 2023完…
このページでは、2Dプラットフォーマー(2D横視点のジャンプアクションゲーム)の作り方を解説します。
「賢いAIの作り方(What Makes Good AI?) |Game Maker’s Toolkit」という、AIを作るためのためになる動画を見つけたので内容をまとめてみました。 賢いAIの作り方(What Makes Good AI?) |Game Maker’s Toolkit 賢いAIの話になると、FEARやHaloのようなFPSの効…
はじめに ダンジョンの自動生成では、最もお手軽と思われる穴掘り法を解説します。このアルゴリズムは、迷路ゲームや Roguelike (ローグライクゲーム) 、 Dungeon crawler (3DダンジョンRPG) のダンジョンとして利用できる仕組みなのではないかと思います。 …
この記事ではRPGの作り方を解説します。 なおRPGすべてを網羅するのは大変なので、この記事ではRPGの核となる「マップとイベント」のシステムについて解説します。 「マップとイベント」のシステムを作る 「マップとイベント」のシステム構築に必要な要素は…
この記事では、矩形状に区切られたマップとの衝突・応答判定を行う方法の解説します。 2D矩形マップとは? 矩形マップは、縦軸・横軸からなる2次元の表です。なので、たいてい矩形マップを読み込むと、2次元の配列になり、以下のように「座標」をキーに、…
Unityで Tower defense (タワーディフェンス) を作りました。ソースコードは以下のURLから取得できます。 https://github.com/syun77/Unity2D_TD 採用したルール 最近ではいろんなジャンルが混ざり合ったタワーディフェンスが多いですが、今回作ったのは古典…
イージング関数を使ったUIの動きの実装例を紹介しています
Common Game Prototyping Pitfalls http://www.lostgarden.com/2005/08/common-game-prototyping-pitfalls.html を翻訳した記事となります。 ━━━━━━━━━━━━━━━━ 私はゲームのプロトタイプの利点と処理を記述した以前の記事で、いくつかの時間を費やしてきまし…
Rapid Game Prototyping: Tips for Programmers http://gamasutra.com/blogs/HermanTulleken/20140119/208901/Rapid_Game_Prototyping_Tips_for_Programmers.php を翻訳した記事となります。 ━━━━━━━━━━━━━━━━ 2013年11月、私と2人の同僚は30ものゲームを作…
1.はじめに 有限状態機械とは、 複数の「状態」を持ち、その「状態」により「振る舞い」が決定される抽象的な機械 のことです。 具体的な例を挙げると、パックマンのモンスターがそれに該当します。 モンスターは、 移動 追跡 逃避 3つの「状態」を持ちます…
自動生成(プロシージャル)コンテンツをゲームで使うときの5つのヒント(5 tips for using procedurally-generated content in your game)を個人的にまとめた記事です 5 tips for using procedurally-generated content in your game 自動生成コンテンツゲ…
多関節を実現する方法は、 CCD法 インバースキネマティクス(IK) などの方法があるみたいです。 シューティングゲームアルゴリズムマニアックス(Cmagazine)にIKでの実装方法がのっていたので、その実装方法の紹介となります。 シューティングゲームアルゴリズ…
A*(A-star)アルゴリズムとは A*アルゴリズムとは、探索アルゴリズムの一種です。経路をノードで表現して、スタートノード(開始地点)からゴールノード(目標地点)までの経路を計算し、この経路が最短であることを保証するアルゴリズムとなります。そしてス…
1.はじめに ここでは、戦術SLGの作り方について説明をします。 上記の記事では移動範囲の求め方を紹介しましたが、今回はその応用として、AIの移動アルゴリズムを紹介します。 2.基本編 まず最初は、「移動可能な範囲にプレイヤーがいる」といったシンプルな…
1.はじめに ここでは、 Grid-based (グリッド制) の戦術SLGの作り方について説明をします。 戦術SLGとは、将棋やチェスのように、自分のコマを動かして相手のコマを倒すゲームのことです。将棋やチェスと違うのは、コマに色々なパラメータがあることです。例…
曲線を使うメリット 例えば、放物線を描いて動く敵を作るとします。その場合に、 x 0 1 2 3 4 5 6 7 8 y 16 9 4 1 0 1 4 9 16 という座標のパターンを持つとします。 そのとき、この敵の移動を直接数値で保持すると以下のようなテーブルが必要となります。 x…
1.はじめに 今回はゲームの設計手法について解説します(参考:ゲームクリエーターズバイブル) ゲームクリエーターズバイブル 作者:Andrew Rollings,Dave Morris インプレス Amazon これを使うのは「ゲームデザイン」完成した後の「基本設計~詳細設計」あ…
今回は、Dungeon crawler (3DダンジョンRPG) を擬似的に表現する方法を解説してみます。 今どきのゲームエンジンであれば、標準で3D描画ができてしまうのでここで紹介している方法は必要ないですが、2D描画機能しかない環境の場合はこの手法が有効です。 疑…
1.はじめに ここでは、テトリスの作成方法について説明します。テトリスは、説明するまでもないですが落ちゲーの代名詞ですね。テトリスが出た後の数年間は落ちゲーブームを作り、今や定番のジャンルとなっています。 何が新しかったかというと、下に落下す…
概要 この記事は斜め上からの視点 Isometric (クォータービュー) の作り方について解説します。 なお Unity で実装する場合は、平行投影にしてカメラを斜め上にするだけで実装できるので、ここで紹介しているような対応は不要となります。 2D描画のみ可能な…
1.はじめに 今回はリバーシの作り方を解説します。 リバーシは、プログラム初心者でも簡単に作れるわりに、盤面の扱い・CPUの思考ルーチンなどにこだわれば、凝ったプログラムができる、なかなか面白い題材です。 2.盤面の設計 まず、リバーシの盤面の設計を…
ここでは、ゲーム内で敵をどのように移動させていくのか、といった AI・アルゴリズムについて書いていきます 敵の移動アルゴリズム パックマンの敵のアルゴリズム 今のゲームからするとシンプルですが、当時は大ヒットとなったアーケードゲーム「パックマン…