サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
災害への備え
2dgames.jp
ゲームデザイナーのカイル・ゲイブラー氏が、Global Game Jam 第1回(2009)で行った基調講演の内容を個人的にまとめたものです続きを読む48時間でゲームを作る7つのヒント
騎兵が歩兵に圧倒的に強いですよね。そうなると、騎兵を雇う数は少なくていいですよね。かといって、少なくしすぎると、騎兵が全滅した場合に、歩兵が脅威になってしまいます。 というように、力関係に偏りを持たせると、「うーん、どれだけ騎兵を雇うのがいいのだろう…」と、プレイヤーを悩ませることができます。 そして、騎兵は雇うコストは「高い」ものとします。(お金がかかる) そうすると、「あああ、騎兵をもうちょっと雇いたいけど、お金がない…」と、プレイヤーをさらに悩ませることができます。 4.ジャンケンの拡張 さらにゲームを面白くするには、ユニットの種類を拡張します。 例えば、モンク・忍者を追加します。 すると、例えばこんな感じになります。 ここで気をつけておかなければならないことは、「拡張」はOKですが、「縮小」はダメ、ということです。 例えば、ゲームリリースの期日に間に合わないということで、図から1つ
ソレン・ジョンソン(civilization4のゲームデザイナー)のゲームディベロッパーコラム翻訳本がすごくためになったので、個人的なまとめです。 http://gum.co/WPCy ここからPDFがダウンロードできます。(すごくためになったので、私も¥1000カンパしてみました) #1 戦略ゲーム7つの大罪 戦略ゲームを作る際に間違ってデザインをしてしまう7つのポイントをまとめたものです。 4.メカニクスのブラックボックス化 複雑なゲームを作ってしまうと、色々なパラメータを表示するために複雑なインターフェースとなってしまいがちです。しかし、複雑なインターフェースはゲームを深く理解してくれる人にしかプレイしてもらえないゲームとなってしまいます。 そうならないようにシンプルなインターフェースを設計するべきなのですが、そうするとパラメータを隠してしまうこととなるため、ゲームを理解する手がかり
■1.はじめに ここでは桝田省治さんの発想法やゲームデザインの考え方について紹介したいと思います。 なぜ桝田省治なのかというと、ゲームデザインに関する情報を数多く発信していて、「リンダキューブ」「俺の屍を越えてゆけ」などそれなりに評価されているゲームを作ったという実績があるからです。せっかくなのでこれをゲーム製作に活かそう! というのがこの文章の目的です。 なお、情報源としては、 Webサイト:「Alpa・MARS PROJECT」のCOLUMN 書籍:「ゲームデザイン脳 ―桝田省治の発想とワザ― 」 を参考にしています。 ■2.コンセプト主導のゲームデザイン 桝田さんのゲーム作りの最大の特徴は「コンセプトを核に必要な部品を調達する」ということを徹底されていることです。例えば「俺の屍を越えてゆけ」では「曾孫の顔を見て祖母の感動をちょっとは味わってみたい」というコンセプトを元に、それを成立さ
アディクション・ベース・ゲームデザインとは? 依存症ベースのゲームデザイン。 http://rpgvault.ign.com/articles/986/986323p1.html 本文の意訳 意訳というか、主観が時々紛れ込んでいるので、ご注意を…。 if a game uses rewards of any sort to entice you to experience highly repetitive content, you should see what it's trying to do and which of your buttons it's trying to press. If you don't mind, that's cool, but you should understand it. プレイヤーをゲームに依存させるには、「反復性のある動作」を経験させ、「報酬
これは何? RPGの核となるシステムである、「マップ」と「イベントスクリプト」の作り方・連携について解説します。 ただ、RPGの本質は、プレイヤーのステータス、アイテム、敵パラメータの調整や、シナリオや世界観などの雰囲気作りにあります。そういった本質部分の作り込みをしやすくする、というのが、「マップ」「イベントスクリプト」システムの目的になります。 RPGツクールを作る ここで構築するシステムは「RPGツクール」の簡易版のようなものです。ここの内容が今一つピンとこない場合は、「RPGツクール」を試しに使ってみるのもいいかもしれません。 全体像 「マップ」は、地形レイヤーとイベントレイヤーという2層構造になっています。1つの「マップ」につき、1つの「イベントスクリプト」が対応します。地形レイヤーには、草原・山・海などプレイヤーが移動するフィールドを配置します。 イベントレイヤーは、NPCやお
はじめに ここではゲームアイデアの発想法について紹介しようと思います。 この記事は、「アイデアのつくり方」という本を参考に書いていますので、興味がありましたら是非とも読んでみることをオススメします。 アイデアとは、 情報収集 情報の咀嚼・抽象化 情報の組み合わせ アイデアを閃く アイデアの実現・フィードバック という5つの過程を経ることで得られるものです。 それについて詳しく紹介したいと思います。 1.情報収集 まずは情報収集です。ゲーム雑誌やネットなどを活用するのがいいと思います。 Wikipediaを活用する ニコニコ動画を活用する ゲーム雑誌を活用する ジャンル別にまとめる 昔遊んだゲームを思い出す コツは、好き嫌いせずにどんな情報でも関連するものは集める、です。例えば、 「自分はアドベンチャーゲームは好きじゃないから、その情報はいらないや」 というのは非常にもったいないと思います。
レベルデザインとは? レベルデザインとは、ゲームシーンあるいは舞台といった「レベル」を作成することです。 良いレベルデザインにするためには、ゲームの難易度やバランスをよく考え、プレイヤーが進捗感や達成感を得られるような課題や挑戦を配置することが必要です。 レベルエディタ レベルエディタとは、レベルを作成するためのツールのことです。 一般的なレベルエディタでは、 地形 アイテム 敵キャラ イベント などを配置することができます。 これがあると、レベルの調整が容易になります。例えば、2Dゲームのレベルエディタとしてよくあるのが、お絵かきツールように、マップチップを配置するツールです。 たとえば「Platinum」 のような「パーツ」のウィンドウから、チップを選択してちくちく配置するツールです。他にも、フィールド(地形)とキャラ(プレイヤー・敵・アイテムなど)の2つをそれぞれ「レイヤー」という単
■このページについて WEB+DB PRESS Vol.68にのっていた記事「はじめてのゲームAI」の記事を自分なりにまとめたメモです。 ■AIの基本原理 AIを考える上で欠かすことのできないものは、 外部の環境との関わり です。 AIには、外部との関わりなしで動作するものもあります。例えば、出現してもプレイヤーお構いなしで直線移動するような敵です。 これはこれで動作のパターンを覚えて撃ち落とすという楽しみもあるのでOKなのですが、パターンを覚えてしまうと、簡単に倒せる・避けられるので、そういった敵ばかりでは退屈ですよね。 そこで、ぱっと思いつくのが、プレイヤーを狙って動く敵ですね。このAIは、プレイヤーが避けても追いかけてくるので、プレイヤーは近づかれないように、何とかしてその敵を倒す必要が出る面白さが生まれます。 ここでは「プレイヤー」という外部環境との関わりですが、ゲームによってはフ
今回は、3Dダンジョンを擬似的に表現する方法を解説してみます。 まあ現代的なプログラムなら3D描画でやるべきですが、3Dの実装が面倒なときは2Dでやるのも手です。まず準備として、視界の範囲や奥行きをどうやって表現するかを考えます。 とりあえずは、どんなものを作るかFlashでサンプルを作りましたので、「こちら」を見てもらえればと思います。 これは、視界を奥「2」まで、左右を「1」までとしたものです。この場合視界は、3×3マスで表現することができます。そして、0~2が奥、3~5が中距離、6・8が近く、となります。遠近法を使えば、近くにあれば大きく、遠くにあるほど小さく映るので、一番近い壁を「3」、中距離の壁を「2」、遠い壁を「1」の比率で考えます。 壁の描画 先ほどの図に合わせて壁を作っていきます。 0(左・奥) まずは左側の奥にある壁です。いくつかの壁は多角形になってしまうので、多角形の描
1.はじめに 今回は「スクリプト言語の組み込み」をオブジェクト指向でどうやって実装するかを解説します。 2.インタプリタパターン まず、手順としては、 スクリプトを読み込む スクリプトを解析する という手順になると思います。そういった手順に適したのが、Interpreterパターンです。 まずはクラス図です。 それぞれのクラスの役割を説明すると、スクリプトを読み込むのが「Context」クラスで、スクリプトを解析するのが「Node/TerminalNode/NonterminalNode」クラスが担当することになります。 Nodeクラスについて解説します。 なぜ、Nodeを継承して「TerminalNode/NonterminalNode」を実装するのかというと、スクリプトというのは、たいてい2つのパターンから構成されているからです。 例えば、以下のようなスクリプトを採用するとします。とり
1.はじめに ここでは、戦術SLGの作り方について説明をします。 前回は、移動範囲の求め方を紹介しましたが、今回はその応用として、コンピュータの移動アルゴリズムを紹介します。 2.基本編 まず最初は、「移動可能な範囲にプレイヤーがいる」といったシンプルなモデルで考えてみます。 最短移動距離を求める この表は、前回の最後で求めた、移動範囲の検索結果です。 黄色の部分にプレイヤーがいるとします。 人間であれば、上→上→右(攻撃範囲を考えると右は必要ない)と瞬時に答えが出ますが、コンピュータはそうはいきません。 最短距離で移動させるアルゴリズムとしては、 経路探索開始地点をプレイヤーがいる地点(黄色)とする 数値が増加する地点に移動する といった方法を用います。 探索方法は、前回の移動範囲探索処理と同じく上下左右を再帰処理で探索し、コンピュータのユニット(赤色)がある地点のとなりまで探索できれば
1.はじめに ここでは、戦術SLGの作り方について説明をします。 戦術SLGとは、将棋やチェスのように、自分のコマを動かして相手のコマを倒すゲームのことです。将棋やチェスと違うのは、コマに色々なパラメータがあることでしょう。例えば「ファイヤーエンブレム」や「オウガバトル」のようなゲームといえば 分かりやすいでしょうか。 今回の記事はここを参考にしています。 戦術SLGの移動アルゴリズム なかなか詳しく書いてあるので、勉強になります。 普通の戦術SLGでは、コマを選択したときに、どこまで移動できるのかを明るくしたりして、視覚的に分かるようにしています。今回は、その移動範囲の求め方を説明します。 2.基本編 まず最初は、 「10×10」のマップ 地形のタイプは「平地」(移動力を「1」消費する)しか存在しない コマの初期位置は(x, y) = (6, 6) コマの移動力は「3」 といったシンプル
1.はじめに 今回はゲームの設計手法について解説します(参考:ゲームクリエーターズバイブル) コレを使うのは「ゲームデザイン」完成した後の「基本設計~詳細設計」あたりになると思います。 なぜこのようなものが必要であるのかというと、細かいところをあまり考えずに作り始めると、ある程度できたところで実は面白くなかった、という事態が必ず発生します。 その場合に、急いで仕様を追加しようとすると、色々な部分に手を入れる必要がでてきます。そうやって修正をしているうちに、「あれ??動かなくなっちゃった…」ということになってしまうことがよくあります。 ※ちなみに既存の部分に手を入れる場合には、 どの部分を修正するのか?(修正範囲) どの部分に影響があるのか?(影響範囲) をじっくり検討することで、「手戻り」を防ぐことは可能です。とは言うものの、修正をしないでガーっと作れてしまった方が楽ですよね。そのためにし
■サンプルコード ちなみにサンプルはこちらです。 クォータービューサンプル [download id=”14″] ★マップチップ座標から、クォータービュー座標への変換 問題を簡単にするため、このような座標変換をすると考えます。 右回りに45度回転させる数式を以下に書いていきます。 w = チップの幅 h = チップの高さ x = マップチップ座標(X) y = マップチップ座標(Y) X = クォータービュー座標(X) Y = クォータービュー座標(Y) とします。 ■マップチップ座標からクォータービュー座標に変換する マップチップ座標からクォータービュー座標に変換する場合は、 となります。 ■クォータービュー座標からマップチップ座標に変換する クォータービュー座標からマップチップ座標に変換する場合は、 ちなみにマップチップ座標とは、マップエディタ内の座標のことです。 これは「8×8」のマ
という座標のパターンを持つとします。こうすると、その敵のスクリプトは、 move 0,16 move 1,9 move 2,4 move 3,1 move 4,0 move 5,1 move 6,4 move 7,9 move 8,16 となります。 これはこれで細かく動きを制御できていいのですが、この座標のデータを作るのが大変ですよね。 そこで、曲線の式を使います。この例でしたら、となります。 この式により、滑らかな曲線の動きを作ることができます。さらに、入力変数となるxが実数であった場合にも、こまかく動きを制御できますね。 エルミート曲線 ただ、という式のパラメータを調整するには細かくTry&Errorする必要がありますよね。それは少し面倒です。できれば直感的なパラメータを与えて曲線を得られるようにしたいですよね。 エルミート曲線なら、始点と終点を指定してその間の曲線を補完できます。
2023年10月4日 【Godot4.x】CharacterBody2Dの is_on_floor() と One wayコリジョンの使い方
分類について 記入なし:単なるグラフィック処理やサウンド再生などを持つマルチメディアライブラリ ゲームライブラリ:ゲームに特化した機能を提供するライブラリ ゲームエンジン:ゲームオブジェクトやシーン管理機能を提供するもの ゲームエンジン(ツール):ゲームエンジンに加えてGUIのエディタが付属するもの ■言語詳細 ▼HSP 私が一番最初にゲームを作っていた環境です。プログラム言語(正確にはスクリプトですが)としては非常にシンプルで分かりやすいですし、特にWeb上にチュートリアルがたくさんあるのが魅力的です。例えば、「hsp ゲーム 作り方」でGoogle検索すると、かなりの情報が見つかります。何よりも、絵を出したり音を出したりするのが、数行で記述できるのが楽ちんです。 例えば、 picload ”hoge.bmp” こう記述するだけで、”hoge.bmp”をロードして表示することができます。
ひどいチュートリアルでプレイヤーをガッカリさせる8つの方法(The Designer’s Notebook: Eight Ways To Make a Bad Tutorial)を個人的にまとめてみました続きを読むひどいチュートリアルでプレイヤーをガッカリさせる8つの方法
このページを最初にブックマークしてみませんか?
『2dgames.jp|ゲーム開発に役立つ情報をまとめています』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く