サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
画力アップ
2dgames.jp
※当サイトは、アフィリエイトプログラムにより商品をご紹介しているため、記事内に広告を含むことがあります。 これらのリンクをクリックしてお買い物をすることで、このサイトを支援することができます。
素材の説明TilemapTest +-- assets: 各種リソース | +-- fence.png: 柵の画像 | +-- player.png: プレイヤー画像 | +-- switch_gimmick.png: スイッチギミック画像 | +-- tile_set.png: タイルセット画像 | +-- src: シーンとスクリプト | +-- Common.gd: 共通スクリプト | +-- FenceGimmick.tscn: 柵ギミックシーン | +-- Player.gd: プレイヤースクリプト | +-- Player.tscn: プレイヤーシーン | +-- SwitchGimmick.gd: スイッチギミックスクリプト | +-- SwitchGimmick.tscn: スイッチギミックシーン | +-- Main.gd: メインシーンスクリプト +-- Main.ts
1.はじめに 有限状態機械とは、 複数の「状態」を持ち、その「状態」により「振る舞い」が決定される抽象的な機械 のことです。 具体的な例を挙げると、パックマンのモンスターがそれに該当します。 モンスターは、 移動 追跡 逃避 3つの「状態」を持ちます。 そして、これらに対応して、 ランダムに歩き回る パックマンを追いかける (パワーエサを取ると)パックマンから逃げ回る という「振る舞い」を行います。 また、有限状態機械はキャラだけでなく、シーンにも適用することができます。 例えば、タイトルシーンに以下の「状態」を持たせます。 初期化 フェードイン メイン スタートボタン押下 フェードアウト 終了 さてはて、このような有限状態機械を使うと何が嬉しいのかというと、 分かりやすい 実装しやすい デバッグしやすい(状態が明確なため) ということがあるためです。 逆にデメリットは、状態遷移をJump
Game A Weekとは、一週間で1つゲームを作って、ゲーム開発者の経験値を上げる方法として、オランダのインディー系デベロッパー「Vlambeer」のRami Ismail氏が提唱したものです。 Gamasutra: Rami Ismail's Blog – Game A Week: Getting Experienced At Failure Rami Ismail氏は「Vlambeer」の共同設立者であるJan Willem氏が圧倒的なゲーム開発・ゲームデザインをする力を持っており、それは「数百ものプロトタイプを作り、失敗を繰り返しながら経験を積んだ」からだということに気がつきました。そして、それを実践するための方法の1つとして「Game A Week」を提唱しました。 ■定義 Rami Ismail氏が提唱する「Game A Week」の定義は以下のとおりです。 1. 毎週ゲームを
Spineとは Spineとは2Dアニメーションを作成するためのツールです。ボーンを入れることで人体のような複雑な動きをさせることも可能です。 公式サイト : Spine ゲーム用 2D アニメーション ソフトウェア 対応プラットフォームの多さが圧巻で、Cocos2D / Unityはもちろんのことマイナーな環境(GameMaker:Studioなど)でも動作するのが魅力ではないかと思います。 画面レイアウトの説明 簡単に画面レイアウトを説明します メニュー : ここをクリックするとプロジェクトの保存やエクスポートができます モード切り替え : 「SETUP」と「ANIMATION」の2つのモードを切り替えます Treeビュー : 配置する画像データやボーン構造の管理をします 簡単なアニメーションを作る 今回は簡単な拡大アニメーションを作ってみます。使用する画像は以下のものを使います。 画
この記事は、ゲームデザイナーのカイル・ゲイブラー氏(「グーの惑星」などを開発。ゲームプロトタイピングについてのプロフェッショナル)が、Global Game Jam 第1回(2009)で行った基調講演の内容を個人的にまとめたものです。 なお、日本語訳がついた動画が YouTube にアップロードされていて、この記事はそれを参考にしています Click here to view the embedded video. 48時間内にゲームを作る意味 厳しい時間内にゲームを作るやりかたは、斬新なゲーム体験をつくりだすのに一番いい方法です。 例えば、ゲームジャムから生まれた作品としては、 Audiosurf(音楽ファイルを読み込ませて、その音楽に合わせてステージが自動生成されるパズルレースゲーム。メタスコア:85点) このゲームはTune Racerという7日間で作ったプロトタイプをもとにしていま
GameMaker:Studioでタワーディフェンスを作るためのチュートリアルとなるKindle本を書きました。 今回の表紙イラストも、漫画家の炎堂たつや先生に描いてもらっています。ありがたやー。 本のタイトルは「タワーディフェンスのつくりかた GameMaker:Studio編」です。 内容は、GameMaker:Studioでタワーディフェンスを丸々1本作るという、今までにない試み(たぶん)の内容となりました。詳細に手順を記載していますので、手順通りに進めることで誰でもタワーディフェンスを作ることができます。 ■対象読者 誰でも作れる……、というのが本書の売りですが、GameMaker:Studioの基本的な機能やGMLについて、ある程度の理解や慣れは必要です。そのため対象読者は「Unity中級者以上」とさせていただきます。具体的には以下の条件を満たしている必要があります。 GameM
Unityでタワーディフェンスを作るためのチュートリアルとなるKindle本を書きました。 今回の表紙イラストも、漫画家の炎堂たつや先生に描いてもらいました。いつも素晴らしいイラストをありがとうございます! 本のタイトルは「タワーディフェンスのつくりかた Unity5.0編」です。 内容は、Unityでタワーディフェンスを丸々1本作るという、今までにない試み(たぶん)の内容となりました。詳細に手順を記載していますので、手順通りに進めることで誰でもタワーディフェンスを作ることができます。 ■対象読者 誰でも作れる……、というのが本書の売りですが、Unityの2D機能について、ある程度の理解や慣れは必要です。そのため、対象読者は「Unity中級者以上」とさせていただきます。具体的には以下の条件を満たしている必要があります。 Unityの基本的な操作を理解している Unityの2D機能の基本的な
Rapid Game Prototyping: Tips for Programmers http://gamasutra.com/blogs/HermanTulleken/20140119/208901/Rapid_Game_Prototyping_Tips_for_Programmers.php を翻訳した記事となります。 ━━━━━━━━━━━━━━━━ 2013年11月、私と2人の同僚は30ものゲームを作成しました。私は以前にもいくつかのゲームのプロトタイピングを作っていますが、このような短期間で非常に多くのゲームを作ったことは、私に新しい洞察を与えました。 この記事では、TIPSという形式で、これらの観察を集めました。 プロトタイプを記述するより一般的な視点については、 「7日間でゲームプロトタイプする方法(How to Prototype a Game in Under 7 D
ローグライクの定義をまとめてみました。 ローグライクの定義には大きくわけて2つの解釈があります。それは「PDL」と「ベルリン解釈」です。 PDL PDLとは、ローグライクのコアな要素である「Procedual(自動生成)」と「Death(死)」、「Labyrinth(迷宮)」の頭文字をとったものです。以下の図は、ローグライクライクゲームをPDLとベルリン解釈で比較したものです。 すべてのゲームがPDLの要素を満たしており、PDLを満たしていると「ローグ性が強い」と言えます。 ベルリン解釈 ベルリン解釈というのは、「ローグライクはこんな要素が必要だよね」ということを話し合って決めた定義だそうです。 Berlin Interpretation このページの内容を翻訳してみました。 ■一般原則 ローグライクゲームはゲームジャンルの1つです。単なるローグのような、という意味ではありません。ローグラ
━━━━━━━━━━━━━━━ ■(※2015/6/19追記)バージョンアップを行い、増ページしました。以下の記事が追加されています。 Chapter4 2Dゲームを作るときに知っておきたいコンポーネント・クラス Chapter5 uGUI入門 サポート掲示板のURLを追記 ■(※2015/10/15追記) 第一版を購入された方へのご連絡 改訂版の入手方法は、お手数となりますが、以下のページなどを参考に手動で更新が必要となります。 http://petite-lettre.com/blog/archives/1301 これは、2013年あたりから自動更新の審査基準が厳しくなったためで、本に大きな不具合がない限り自動更新の審査が通らなくなったためとなります。 ■(※2015/10/15追記) 3Dサウンドの設定について シューティング作成のチュートリアルで「3Dサウンドの設定を無効にする」と
ひどいチュートリアルでプレイヤーをガッカリさせる8つの方法(The Designer’s Notebook: Eight Ways To Make a Bad Tutorial)を個人的にまとめてみました http://www.gamasutra.com/view/feature/6406/the_designers_notebook_eight_.php はじめに 近年のゲームは大型化・複雑化に伴い、ルールや操作が難しいものとなりました。そのためチュートリアルでゲームのルールや操作を学ぶことが不可欠となっています。しかしチュートリアルを理解させようとするあまり、それが楽しくないゲームが増えてしまっているのも事実です。そんなガッカリさせられるチュートリアルのポイントは以下の8つです。 チュートリアルを強制しろ たくさん読ませろ わかりにくい説明にしろ 手順を省略せよ 失敗時は多くの罰を与え
自動生成(プロシージャル)コンテンツをゲームで使うときの5つのヒント(5 tips for using procedurally-generated content in your game)を個人的にまとめた記事です http://www.gamasutra.com/view/news/181853/5_tips_for_using_procedurallygenerated_content_in_your_game.php 重要なポイントは以下の5つです。 ランダムに頼り過ぎない ランダム性の理不尽さを緩和する 偏りを意図的に入れる デバッグ機能を充実させる 別の何かと組み合わせる ①ランダムに頼り過ぎない すべてを自動生成にするのは必ずしも最良とは限りません。ゲームメカニクスに適合する部分に絞って自動生成を行います。例えば通常は固定コンテンツのレベルを用意し、ゲームプレイに影響に出な
「5 ways to be a successful indie developer」(インディーズゲーム開発で成功する5つの方法)を個人的にまとめた記事となります。 http://gamasutra.com/view/news/173091/5_ways_to_be_a_successful_indie_developer.php インディーズゲームのシーンで成功するための5つの重要なポイントは以下となります。 一人だけで作るな 自分の強みに注力せよ 小さなゲームをたくさん作って経験を積め 大手パブリッシャーがやらないことをやれ 作ったゲームの良い点は次に引き継ぎ、悪い点は改善せよ これらについて、個人的な意見も加えてより詳しく説明をしていきます。 ①一人だけで作るな ゲームは少人数で作ると尖ったゲームになりやすいです。しかし一人だけで作ると、理解できない複雑なルール、分かりにくいゲーム
■これは何? ゲームプログラムしていて、気が付いたことを書き留めておくものです。 ■当たり判定 ▼当たり判定は「円」で充分 「円」による判定は、汎用的で、直感的に分りやすいためバグも出にくく、コストパフォーマンスが高いです。なにか特別な理由がある(地形との当たり判定とかニードル(縦長の弾)など)以外は、「円」で判定を行ったほうが良いみたいです。 ▼衝突応答は、複数回に分けて判定を行うとうまくいく 例えば、地形にぶつかった場合押し戻す、という処理を実装する場合、XY方向の判定をまとめて行うのではなく、 X方向に移動、ぶつかってたら押し戻し Y方向に移動、ぶつかってたら押し戻し というように、2回に分けて判定を行うと、うまくいきます。 ▼移動速度が速くて、通り抜けが起こる場合 以下のどちらかの方法を取ります。 通り抜けが起きない移動量になるよう、制限をかける 通り抜けが起きない移動量になるよう
はじめに 今回はデザインパターンのStateパターンを使って、シーンの遷移を実装してみようと思います。 ゲームには、 タイトル モードセレクト メインゲーム 結果 などのシーンがあります。それらのシーンの遷移をオブジェクト指向で実現する方法を解説します。 シーンクラス まず基底となるISceneクラスを定義します。 /** * シーン基底クラス */ class IScene { public: IScene(); virtual ~IScene(); virtual void Render() = 0; // シーンの描画 }; virtual void Render() = 0; っていうのが、仮想関数の宣言で、この宣言によりISceneは仮想クラスになります。 そしてこれを継承して、各シーンクラスを実装します。 /** * タイトルシーン(タイトル画面) */ class CScen
概要 スコアとは何であるかを考察するページです スコアとは スコアは「プレイ」を「数字」で評価するものです。 たとえば、 敵を倒した→「おお、いいね。100点あげましょう」 ボスを倒した→「凄い! よく倒せたね。じゃあ、1000点あげましょう」 というように「敵を倒した/ボスを倒した」という「プレイ」を「点数」で評価します。 評価とは、プレイヤーを褒め称えることです。良いゲームは、プレイヤーを褒めることが上手で、プレイヤーに「もっと褒められたい」と思わせ、次回へのプレイ動機(リプレイ価値)を上昇することができます。 リプレイ価値を上昇させると、プレイ回数を増やすことができるため、ゲームの寿命を長くすることができます。 スコアのタイプ スコアには、 即時評価 一括評価 の2つのタイプがあります 即時評価 アクションを起こすたびに、それをスコアとして評価する方法です。 敵を倒した アイテムを取
プログラム環境 ゲームライブラリ UnityやCocos2Dも検討したのですが、結局はHaxe+OpenFLで動作するゲームライブラリ「HaxeFlixel」を使うことにしました。 HaxeFlixelのインストール方法 Macでのゲームライブラリは他にも色々あるので、好きな言語が使える環境を選ぶといいですね。 IDE Haxeを使用することとなり消去法でIntellij IDEAを選択しましたが、各種ショートカットキーやGithub連携など便利な機能がたくさんあって、意外に使えることが分かり結構気に入っています。 Intellij IDEA でも、Xcodeが使える環境であればXcodeを使うのが無難な気もしています。 エディタ テキストエディタ Macでは、Sublime Text 2をメインで使っています。 長い間、秀丸を使っていたので慣れるのが大変でしたが、Package Cont
Common Game Prototyping Pitfalls http://www.lostgarden.com/2005/08/common-game-prototyping-pitfalls.html を翻訳した記事となります。 ━━━━━━━━━━━━━━━━ 私はゲームのプロトタイプの利点と処理を記述した以前の記事で、いくつかの時間を費やしてきました。あなたが、より革新的なゲームの仕組みを作り、早期に悪いコンセプトを取り除き、最終的な製品は高い習慣性によるものであることを確認するのに役立つはずです。どんな良い手法にも欠点があるのと同様に、プロトタイプにも成熟した開発者にとっていくつかの注目すべき落とし穴と欠点があります。 どのようにしてプロトタイプを成功させることができるのか―― あなたのプログラマーは、DirectX9のクールなエンジンを作るのに8ヶ月、それ以外に4ヶ月かかり
1.はじめに 今回はリバーシの作り方を解説します。 リバーシは、プログラム初心者でも簡単に作れるわりに、盤面の扱い・CPUの思考ルーチンなどにこだわれば、凝ったプログラムができる、なかなか面白い題材です。 2.盤面の設計 まず、リバーシの盤面の設計をします。クラス図としてはこんな感じです。 石であるStoneクラスを見てみます。属性としては、とりあえず「色」の属性があれば充分です。(サンプルのように、ひっくり返した場合に飛び跳ねるような処理を行いたい場合には、座標の情報などが必要になります) 他に、スタティックな属性として、 BLACK NONE WHITE WALL というものを持っています。 ポイントは、BLACKが「-1」でWHITE「1」となっているところです。これは、reverseメソッドなどで石を反転させる場合、-1をかけるだけでよいため、このようにしています。 もう一つのポイ
UnityとGameMakerを比較している情報をネット上から集めてまとめてみました。 ■Unity 2D or Gamemaker?(Unity 2D か Gamemakerか?) http://forum.unity3d.com/threads/217069-Unity-2D-or-Gamemaker ・underlordgc (質問者) 皆さんこんにちは。私はUnityと2Dの学習をするけど、Unity2Dの代わりにGamemakerを使おうかと考えているんだ。私の究極の目標はローグライクゲームを作ることだ(それがゲーム作りを学ぶのに良いかどうかわからないけど)。 Gamemakerで2Dゲームを作るときのメリットや、Unityでないとできないことがあれば教えてほしいと思う。 ・J. A. Whye 私の友人はGamemakerでとてもクールなゲームを作っている。それを見てGMは本物
ここでは私が使っている効果音作成ソフトを紹介します。 ■KanaWave これは、「どかーん」とか「ぴー」とか、文字を入力するだけで効果音を作成できるツールです。 KanaWaveの詳細情報 : Vector ソフトを探す! 言葉で指定するというのは、非常に直感的でイメージしやすいので、素晴らしいツールですね。ただ、使いやすい分、自由度が低いので、何回か使ってみると、どうしても似たような音になっちゃいます。そうしたら「SWave」を使ってみるといいと思います。 ■SWave 波形を入力して効果音を作成するソフトです。 Swaveの詳細情報 : Vector ソフトを探す! 波形の仕組みや、音程などのパラメータ指定など、いくつか理解しないと、何がなんだか分かりませんが、それだけ自由度が高いので、自分だけの音を作りたい人に是非ともオススメします。 ちなみに、こちらにSWaveの使い方をまとめて
Excelでのデータ管理方法について解説します。 Excelでデータ管理をすると、 表形式のデータを管理しやすい(データの挿入・削除が容易) セルに色をつけて、目印をつけやすい 数式を使って、条件式をあらかじめ計算できる(プログラム側のチェックコードが削減できる) などのメリットが得られます。 単なる設定ファイルであればINIファイルやYAMLが有利ですが、RPG・SLGのような巨大なデータベースを扱うゲームではExcelが便利です。(本当に巨大なデータベースを使うMMORPGのようなジャンルでは、Oracleのようなリレーショナルデータベースを使うべきですけど…) 表形式のデータを使うゲーム 表形式のデータを使うようなゲームをリストアップしてみます。 RPGの敵テーブル RPGのアイテムテーブル SLGのユニットパラメータ ステージ情報管理 例えば、RPGのアイテムテーブルの例です。 特
多関節を実現する方法は、 CCD法 インバースキネマティクス(IK) などの方法があるみたいです。 シューティングゲームアルゴリズムマニアックス(Cmagazine)にIKでの実装方法がのっているのでIKでやってみます。 インバースキネマティクスとは? 末端部分の位置を先に決めて、 その関節の末端位置を実現するための 親となる関節の角度を簡易的に逆計算する手法 とのことです。(Wikipediaより) 多関節の目的 例えば、触手みたいなものを作るとします。 丸いのを関節とします。「根元」は壁に固定されています。 で、やりたいのは、「先端」をプレイヤーめがけて移動させる方法です。 ここで、「先端」をそのままプレイヤーに移動させてしまうと、関節と関節の間の距離が離れてしまいます。まあ、触手であれば、それでもいいのですが、これが人間(か何かの生物)の場合、不自然に腕が伸びてしまい、リアリティがな
CEDEC2010のハマるゲームルール構築を個人的にまとめた内容です ■アクションパズルのメリット ローコストでプレイバリューの高いゲームを作れる(→乱数による自動生成でレベルが作れる) ハードスペックに依存しないゲーム性(→マルチプラットフォーム展開が可能) 容量が少なくて済み、ダウンロード販売に向いている(→長く売れ続けることも可能) ■アクションパズルを作るための4つのポイント ▼1.死の恐怖 死の恐怖を感じされるメタファーをビジュアルで表現する 生の喜びを感じさせるメタファーを用意する ▼2.生理的快感 感覚的な要素 → 幼児向け玩具の挙動が参考になる 大連鎖 → 見た目に分かりやすく、大きな解放感が得られるもの ▼3.展開バリエーション プレイするたびに配置が変化し、展開が変わる ネット対戦もバリエーションの1つ ▼4.カオスの秩序化 乱数によってカオス化した配置状況をプレイヤー
これを元に説明をしたいと思います。 ▼追跡型 プレイヤーを愚直に追いかけるタイプです。 このタイプは、単純ながらもゲーム的にかなり有効だったりします。 それは、 「耐久力が高い」または「数が多い」場合にゴリ押しできる というメリットがあるからです。 例えば、ピンクスウィーツのステージ4では、プレイヤーを誘導する耐久力の高い敵や、高速で大量に発射される誘導弾が飛び交うため、何も考えずローズクラッカーを連発しているだけでは、すぐにやられてしまいます。 ただ、追跡型は行動パターンを読みやすいため、 待ち伏せ をされるとあっさりやられてしまいます。 また、 狙った場所に誘導しやすい ということもあります。(つまり、ピンクスウィーツの例では、攻略するには敵をうまく誘導する必要がある) 実装方法は簡単です。 プレイヤー座標から敵座標を引いて(P’)、 P1(プレイヤー座標)-P2(敵座標)=P' P’
1.はじめに ここでは、テトリスの作成方法について説明します。テトリスは、説明するまでもないですが落ちゲーの代名詞ですね。テトリスが出た後の数年間は落ちゲーブームを作り、今や定番のジャンルとなっています。 何が新しかったかというと、下に落下するまでの時間内に考える、というリアルタイム性を導入したことで、シンプルなルールでも、奥深いゲームを表現することが可能になった…、という、当時としては革新的なゲームでした。 落ちゲーの元祖であるテトリスの作り方を知っておくことで、他の落ちゲーを作るときに、色々と役に立つと思います。 2.データ領域を作成する テトリスは、通常「10×20」の領域にブロックを配置します。 ということで、「10×20」の2次元配列のデータ領域が必要となります。 壁を作成する ただし、単純に「10×20」ですと、ブロックを左右または下に動かした場合、 ブロックを回転をした場合な
更新履歴 2014.7.25 : 文章がおかしいので色々修正。Openする条件の説明が分かりにくいので修正 2014.7.25 : 高速化のヒントを追記 (2015/1/21 追記) Qiitaにより詳しい実装方法を書きました。こちらのほうがわかりやすいと思います。 よくわかるA*(A-star)アルゴリズム (Unity2Dのサンプルコードつき) – Qiita 1.はじめに ここではA*アルゴリズムによる経路探索を解説します。 A*を使うと何が嬉しいのかというと、上のように、開始点と終了点の間に「障害物」が存在する場合でも、最も効率の良い経路が探索できます。 これに対して、例えばブレゼンハムの線分描画アルゴリズムでは、障害物があった場合に、障害物に引っかかって動かなくなってしまいます。 逆に欠点としてA*アルゴリズムは、比較的効率の良い探索を行いますが、やや重い処理となってしまうので、
次のページ
このページを最初にブックマークしてみませんか?
『2dgames.jp|ゲーム開発に役立つ情報をまとめています』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く