SlideShare a Scribd company logo
1 of 23
Download to read offline
ゲーム開発とデザインパター
ン
~コスト削減とクオリティの両立を目指して~
もんぐり
この勉強会の目的
• デザインパターンに親近感をもってもら
うこと
• ゲーム開発における、よりよい設計につ
いて一緒に考えてもらうこと
• ゲームの品質と開発スピードの向上に寄
与すること
ちなみに、僕はデザインパターンの専門家でもゲーム開発の専
門家でもなく、どっちも駆け出しなので、暖かくご意見ご指摘
ください!
デザインパターンとは
• Wikipediaの定義
– 過去のソフトウェア設計者が発見し編み出した設計ノウハウを蓄積
し、名前をつけ、再利用しやすいように特定の規約に従ってカタロ
グ化したものである。
• 代表的なのはGoFの23個のデザインパターン
• 一言で表すと
「直に書かずにクラスを分けろ」
ってことかなと。(個人的解釈です)
デザインパターンを学ぶメリッ
ト
• 設計の世界共通言語
– 「ここはFactoryMethodで設計してるんだ」って説明すれば、
「ああFactoryMethodね」って、すぐ話が通じるよ!
• 巨人の肩に乗る
• 品質向上(バグを作りこみにくい設計)
• メンテナンス性向上(読みやすい、修正
しやすい)
• 品質向上≒開発スピード向上
デザインパターンを学ぶメリッ
ト
デザパタ駆使した
とき
クラスの独立性が
高くなるようにだ
け気をつけた時
直にがんがん処理
を書いてる時
パフォーマンス ◯ ◯ ◯
可読性 △ ◯ ☓
クラス独立性 ◯ △ ☓
ソースを書く速度 △ △ ◯
バグ発生率の低さ ◎ ◯ ☓
トータルな開発と
メンテのコストの
低さ
◎ ◯ ☓
※独断と偏見に基づく評価です
23個も覚えきれないよ!
(独断と偏見で)厳選したパター
ンを、
適用事例とともにご紹介します!
こんな経験ないですか?
• このインスタンスはアプリ内で1個だけのはずな
のに、勝手に別の場所でも作られちゃった!
– アプリ全体のデータを保持したクラスとかの話
• → 利用者がそれと知らずに、複数インスタンス
を扱っていると、バグに気づくのが遅れると大混
乱に
イン
スタ
ンス1
イン
スタ
ンス2
利用者
更新 参照
インスタンス
は
1個だけだよね
Singleton
• 1個しか作っちゃいけないものは1個しか作れないようにして
おこう
• コンストラクタで例外投げたりAssertしたり、コンストラクタ
をprivateにしたりして、newを禁止します。
• Cocos2d-xでは、CCTextureCacheなど、キャッシュ系でよく使
われてます。CCDirectorなどの単一機能クラスもSingletonに
なってます。
class SingletonClass {
public:
static SingletonClass* getInstance();
private:
static SingletonClass* m_instance;
SingletonClass();
};
こんな経験ないですか?
• Animalクラスを継承した子クラスを作って、子によって違う処理はそれぞ
れに隠蔽するぞ!
• → 開発してるうちに、子クラスの種類がどんどん増えてきたんだが。。。
• → 大量の子クラスのヘッダを#includeしちゃってるよ! Switch-caseの
caseの数がめっちゃ多いよ!
• ビルド時間増大、依存性増大、クラスの行数が増大し、扱いにくいソース
に。。。
#include “Cat.h”
#include “Dog.h”
・・・ 100個の#include
#include ”Dragon.h”
bool Game::init() {
m_cat1 = new Cat();
m_dog1 = new Dog();
・・・
m_doragon1 = new Dragon();
return true;
};
FactoryMethod(&AbstractFactory)
• 派生クラスのどれでもインスタンス生成できるクラス
を別に作っておいて、それを使うようにしよう
• 派生クラスへの依存性をなくし、ポリモーフィズムを
駆使できます
class AnimalFactory {
public:
IFAnimal* createAnimal(ANIMAL_TYPE type);
};
IFAnimal* AnimalFactory::createAnimal(ANIMAL_TYPE type) {
switch(type) {
case CAT:
return new AnimalCat();
case DOG:
return new AnimalDog();
・・・
default:
return NULL;
}
}
こんな経験ないですか?
• 敵によって攻撃パターン(アルゴリズム)が違う。攻撃パ
ターンはそれぞれの敵クラスに実装しよう
• → 攻撃パターン変更依頼もらったけど、それぞれの敵クラ
スに処理が散らばってて、少しずつ差分があるから修正量が
半端ないよ!
• → 「敵Aの攻撃パターンを敵Bと同じやつに差し替えとい
て」って依頼もらったけど、アルゴリズムに結びつけたソー
スにしてるからほぼ全て書きなおしだ!
Strategy
• →アルゴリズムごとにクラス作って、クラス内に詳細
な処理は隠蔽し、どれも同じI/Fで使用できるようにし
ておこう
• 僕は、複数パターンのAIを使い分けるときによく使っ
ています。
class AttackAIFactory {
public:
IFAttackAI* createAttackAI(AI_TYPE type);
};
IFAttackAI* AttackAIFactory::createAttackAI(AI_TYPE type) {
switch(type) {
case VERTICAL_LASER:
return new AttackAIVerticalLaser();
・・・
default:
return NULL;
}
}
class IFAttackAI {
virtual vector<Cell> createAttackCollisionArea() = 0;
・・・
};
こんな経験ないですか?
• 状態管理はenumだね。ゲームのループで呼ばれるメ
ソッド内でSwitch文書いて、処理を分岐すればよし!
• → case数の増大、case内処理の増大。。。クラスの
行数が増えて3000行を超えますた
switch(m_state) {
case STATE_MOVING:
・・・
break;
case STATE_ATTACKING:
・・・
break;
・・・
case STATE_DEAD:
break;
default
break;
}
State
• 状態ごとにクラス作って、どれも同じI/Fで処理を起動できる
ようにしよう!
• 実際は、主クラスから、状態依存する処理だけを独立して切
り出すのはなかなか難しい印象。使えるところに使っていこ
う。
class PlayerStateFactory {
public:
IFPlayerState* createPlayerState(PLAYER_STATE state);
};
IFPlayerState* PlayerStateFactory::createAttackAI(PLAYER_STATE state) {
switch(state) {
case PLAYER_STATE_POISON:
return new PlayerStatePoison();
・・・
default:
return NULL;
}
}
class IFPlayerState {
virtual void moveTo(Point point) = 0;
・・・
};
こんな経験ないですか?
• 弾幕シューティング、弾発射時にインスタン
ス生成、画面外にいったらインスタンス解放
だ!
• →弾が多くなるとめっちゃフレームレート落
ちるんですが。。。
Flyweight
• →必要なくなったインスタンスを解放せずに
再利用すべし
• オブジェクトをプーリングするってことです
• Cocos2d-xの場合はCCTextureCacheとか
CCSpriteBatchNodeとかの仕組みは揃ってるけ
ど、まああんまり生成解放が頻繁だったら最
初からプーリング書いてもいいと思う
• サンプルコードは書くのが面倒くさいので省
略
こんな経験ないですか?
• PlayerとEnemyとStageクラスを作ったぞ!
• 3者が密接に絡みすぎて、何か一つ修正する
だけで影響範囲調査がしんどい。。。
Player
Enemy
1
Stage
Enemy
2
Mediator
• →各オブジェクトを仲介するクラスを用意し、独立な
オブジェクト同士は直接やりとりしないようにする
• Mediatorは、次回に紹介するObserverパターンと組み
合わせて、非同期処理の命令を実装するといいです
– 非同期処理の例:
• 命令:メソッド
• 結果通知:次で紹介するObserverパターンによる通知
PlayerEnemy Stage
GameManager
(デザパタって)
本当にゲーム開発の現場で
役に立つんかいな?
知り合いに聞いてみた
※このスライドは、個人情報が入ってくるので、
SlideShare版では記載を外しました。
• 個人的には、経験上、取捨選択すればおおい
に使えると思っています。
まとめ
• デザインパターンをいい感じに使えるように
なって開発スピードと品質を向上させよう!
– Singleton
– FactoryMethod
– State
– Strategy
– Flyweight
– Mediator
• 次回はObserverとMVCパターンを議論します。
参考書籍
• 検索するとわかりやすい解説サイトが出てくるのでそ
れで十分かもです。
• オブジェクト指向における再利用のためのデザインパ
ターン
– いわゆるGoF本
• リファクタリング Martin Fowler著
上の2冊は僕は読んでません!
• Java言語で学ぶデザインパターン
• Java言語で学ぶリファクタリング入門
– 結城浩さんの本です

More Related Content

What's hot

ドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かすドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かす増田 亨
 
エターナらないゲーム開発
エターナらないゲーム開発エターナらないゲーム開発
エターナらないゲーム開発Kohki Miki
 
仕様書作成のポイント_180814
仕様書作成のポイント_180814仕様書作成のポイント_180814
仕様書作成のポイント_180814Sugimoto Chizuru
 
スマートフォンゲーム企画書制作のポイント
スマートフォンゲーム企画書制作のポイントスマートフォンゲーム企画書制作のポイント
スマートフォンゲーム企画書制作のポイントTetsuya Kimura
 
MMORPGで考えるゲームデザイン(2014年改訂版)
MMORPGで考えるゲームデザイン(2014年改訂版)MMORPGで考えるゲームデザイン(2014年改訂版)
MMORPGで考えるゲームデザイン(2014年改訂版)Katsumi Mizushima
 
ゲーム企画書の書き方? ~大久保磨編~ ver.1.4.0
ゲーム企画書の書き方? ~大久保磨編~ ver.1.4.0ゲーム企画書の書き方? ~大久保磨編~ ver.1.4.0
ゲーム企画書の書き方? ~大久保磨編~ ver.1.4.0Osamu Ohkubo
 
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~UnityTechnologiesJapan002
 
UniRxでMV(R)Pパターン をやってみた
UniRxでMV(R)PパターンをやってみたUniRxでMV(R)Pパターンをやってみた
UniRxでMV(R)Pパターン をやってみたtorisoup
 
Doozy UI 使おうぜ! #unity_lt
Doozy UI 使おうぜ! #unity_ltDoozy UI 使おうぜ! #unity_lt
Doozy UI 使おうぜ! #unity_lttorisoup
 
UniRx完全に理解した
UniRx完全に理解したUniRx完全に理解した
UniRx完全に理解したtorisoup
 
MMOGで考えるゲームデザイン
MMOGで考えるゲームデザインMMOGで考えるゲームデザイン
MMOGで考えるゲームデザインKatsumi Mizushima
 
ゲーム開発とMVC
ゲーム開発とMVCゲーム開発とMVC
ゲーム開発とMVCTakashi Komada
 
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」U-dai Yokoyama
 
インタフェース完全に理解した
インタフェース完全に理解したインタフェース完全に理解した
インタフェース完全に理解したtorisoup
 
ゲームの仕様書を書こう1 仕様書作成の分業とリストの作成
ゲームの仕様書を書こう1 仕様書作成の分業とリストの作成ゲームの仕様書を書こう1 仕様書作成の分業とリストの作成
ゲームの仕様書を書こう1 仕様書作成の分業とリストの作成Sugimoto Chizuru
 
個人開発でゲーム一本完成させるまでの苦難の道のり 〜企画編〜
個人開発でゲーム一本完成させるまでの苦難の道のり 〜企画編〜個人開発でゲーム一本完成させるまでの苦難の道のり 〜企画編〜
個人開発でゲーム一本完成させるまでの苦難の道のり 〜企画編〜narumi_
 
【Unity】 Behavior TreeでAIを作る
 【Unity】 Behavior TreeでAIを作る 【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作るtorisoup
 
shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理DADA246
 

What's hot (20)

ドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かすドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かす
 
エターナらないゲーム開発
エターナらないゲーム開発エターナらないゲーム開発
エターナらないゲーム開発
 
仕様書作成のポイント_180814
仕様書作成のポイント_180814仕様書作成のポイント_180814
仕様書作成のポイント_180814
 
スマートフォンゲーム企画書制作のポイント
スマートフォンゲーム企画書制作のポイントスマートフォンゲーム企画書制作のポイント
スマートフォンゲーム企画書制作のポイント
 
MMORPGで考えるゲームデザイン(2014年改訂版)
MMORPGで考えるゲームデザイン(2014年改訂版)MMORPGで考えるゲームデザイン(2014年改訂版)
MMORPGで考えるゲームデザイン(2014年改訂版)
 
ゲーム企画書の書き方? ~大久保磨編~ ver.1.4.0
ゲーム企画書の書き方? ~大久保磨編~ ver.1.4.0ゲーム企画書の書き方? ~大久保磨編~ ver.1.4.0
ゲーム企画書の書き方? ~大久保磨編~ ver.1.4.0
 
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
 
UniRxでMV(R)Pパターン をやってみた
UniRxでMV(R)PパターンをやってみたUniRxでMV(R)Pパターンをやってみた
UniRxでMV(R)Pパターン をやってみた
 
Doozy UI 使おうぜ! #unity_lt
Doozy UI 使おうぜ! #unity_ltDoozy UI 使おうぜ! #unity_lt
Doozy UI 使おうぜ! #unity_lt
 
UniRx完全に理解した
UniRx完全に理解したUniRx完全に理解した
UniRx完全に理解した
 
MMOGで考えるゲームデザイン
MMOGで考えるゲームデザインMMOGで考えるゲームデザイン
MMOGで考えるゲームデザイン
 
ゲーム開発とMVC
ゲーム開発とMVCゲーム開発とMVC
ゲーム開発とMVC
 
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
 
インタフェース完全に理解した
インタフェース完全に理解したインタフェース完全に理解した
インタフェース完全に理解した
 
ゲームの仕様書を書こう1 仕様書作成の分業とリストの作成
ゲームの仕様書を書こう1 仕様書作成の分業とリストの作成ゲームの仕様書を書こう1 仕様書作成の分業とリストの作成
ゲームの仕様書を書こう1 仕様書作成の分業とリストの作成
 
個人開発でゲーム一本完成させるまでの苦難の道のり 〜企画編〜
個人開発でゲーム一本完成させるまでの苦難の道のり 〜企画編〜個人開発でゲーム一本完成させるまでの苦難の道のり 〜企画編〜
個人開発でゲーム一本完成させるまでの苦難の道のり 〜企画編〜
 
【Unity】 Behavior TreeでAIを作る
 【Unity】 Behavior TreeでAIを作る 【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
 
UE4のモバイル開発におけるコンテンツアップデートの話 - Chunk IDとの激闘編 -
UE4のモバイル開発におけるコンテンツアップデートの話 - Chunk IDとの激闘編 -UE4のモバイル開発におけるコンテンツアップデートの話 - Chunk IDとの激闘編 -
UE4のモバイル開発におけるコンテンツアップデートの話 - Chunk IDとの激闘編 -
 
shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理shared_ptrとゲームプログラミングでのメモリ管理
shared_ptrとゲームプログラミングでのメモリ管理
 
先進的なルックデベロップメント
先進的なルックデベロップメント先進的なルックデベロップメント
先進的なルックデベロップメント
 

Viewers also liked

ゲームオブジェクトの管理
ゲームオブジェクトの管理ゲームオブジェクトの管理
ゲームオブジェクトの管理Shota Homma
 
【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計
【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計
【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計アシアル株式会社
 
Reactive extensions入門v0.1
Reactive extensions入門v0.1Reactive extensions入門v0.1
Reactive extensions入門v0.1一希 大田
 
未来のプログラミング技術をUnityで -UniRx-
未来のプログラミング技術をUnityで -UniRx-未来のプログラミング技術をUnityで -UniRx-
未来のプログラミング技術をUnityで -UniRx-torisoup
 
Reactive Programming by UniRx for Asynchronous & Event Processing
Reactive Programming by UniRx for Asynchronous & Event ProcessingReactive Programming by UniRx for Asynchronous & Event Processing
Reactive Programming by UniRx for Asynchronous & Event ProcessingYoshifumi Kawai
 
若輩エンジニアから見たUniRxを利用したゲーム開発
若輩エンジニアから見たUniRxを利用したゲーム開発若輩エンジニアから見たUniRxを利用したゲーム開発
若輩エンジニアから見たUniRxを利用したゲーム開発Hirohito Morinaga
 

Viewers also liked (7)

ゲームオブジェクトの管理
ゲームオブジェクトの管理ゲームオブジェクトの管理
ゲームオブジェクトの管理
 
Unityで覚えるC#
Unityで覚えるC#Unityで覚えるC#
Unityで覚えるC#
 
【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計
【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計
【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計
 
Reactive extensions入門v0.1
Reactive extensions入門v0.1Reactive extensions入門v0.1
Reactive extensions入門v0.1
 
未来のプログラミング技術をUnityで -UniRx-
未来のプログラミング技術をUnityで -UniRx-未来のプログラミング技術をUnityで -UniRx-
未来のプログラミング技術をUnityで -UniRx-
 
Reactive Programming by UniRx for Asynchronous & Event Processing
Reactive Programming by UniRx for Asynchronous & Event ProcessingReactive Programming by UniRx for Asynchronous & Event Processing
Reactive Programming by UniRx for Asynchronous & Event Processing
 
若輩エンジニアから見たUniRxを利用したゲーム開発
若輩エンジニアから見たUniRxを利用したゲーム開発若輩エンジニアから見たUniRxを利用したゲーム開発
若輩エンジニアから見たUniRxを利用したゲーム開発
 

Similar to ゲーム開発とデザインパターン

A Framework for integrating software design patterns with game design framework
A Framework for integrating software design patterns with game design frameworkA Framework for integrating software design patterns with game design framework
A Framework for integrating software design patterns with game design frameworkOsakiKota
 
Xp Terakoya No04
Xp Terakoya No04Xp Terakoya No04
Xp Terakoya No04takepu
 
Developers Summit 2013【14-E-4】デザインをするときにデザイナーが考えること〜デザイナーの頭の中〜
Developers Summit 2013【14-E-4】デザインをするときにデザイナーが考えること〜デザイナーの頭の中〜Developers Summit 2013【14-E-4】デザインをするときにデザイナーが考えること〜デザイナーの頭の中〜
Developers Summit 2013【14-E-4】デザインをするときにデザイナーが考えること〜デザイナーの頭の中〜Chihiro Tomita
 
プログラムと名前にまつわる座談会
プログラムと名前にまつわる座談会プログラムと名前にまつわる座談会
プログラムと名前にまつわる座談会infinite_loop
 
Game design pattern language
Game design pattern languageGame design pattern language
Game design pattern languageYouichiro Miyake
 
デザイン仕様書(ガイド)の書き方 (初歩者用)
デザイン仕様書(ガイド)の書き方 (初歩者用)デザイン仕様書(ガイド)の書き方 (初歩者用)
デザイン仕様書(ガイド)の書き方 (初歩者用)witstudio
 
リードデザイナーってどんな人か考えてみた
リードデザイナーってどんな人か考えてみたリードデザイナーってどんな人か考えてみた
リードデザイナーってどんな人か考えてみた辰徳 井上
 
ブランド勉強会プロセス編2
ブランド勉強会プロセス編2ブランド勉強会プロセス編2
ブランド勉強会プロセス編2Soyeon Lee
 
DiGRAJ-GD 12/04/2011 大野 功二
DiGRAJ-GD 12/04/2011 大野 功二DiGRAJ-GD 12/04/2011 大野 功二
DiGRAJ-GD 12/04/2011 大野 功二Kenneth Chan
 
BPSttudy#84 アイデアをカタチにする方法
BPSttudy#84 アイデアをカタチにする方法BPSttudy#84 アイデアをカタチにする方法
BPSttudy#84 アイデアをカタチにする方法Haruo Sato
 
デザインパターン
デザインパターンデザインパターン
デザインパターンn-aoki0409
 
Game Design in Society (in Japanese)
Game Design in Society (in Japanese)Game Design in Society (in Japanese)
Game Design in Society (in Japanese)syamane
 
カードゲームで学ぶテキストエディタ
カードゲームで学ぶテキストエディタカードゲームで学ぶテキストエディタ
カードゲームで学ぶテキストエディタShougo
 
3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1  ドメイン駆動設計の基本を理解する3週連続DDDその1  ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する増田 亨
 
これからはじめるサービスデザイン
これからはじめるサービスデザインこれからはじめるサービスデザイン
これからはじめるサービスデザインConcent, Inc.
 
111204 受発注のコミュニケーションイベント資料
111204 受発注のコミュニケーションイベント資料111204 受発注のコミュニケーションイベント資料
111204 受発注のコミュニケーションイベント資料Ryohei Katayama
 
『ゲームクリエイター育成会議 オフラインミーティングVol.1 「遊びと学びの研究者に聞く、ゲームデザイナーの育て方」』に参加するにあたって自分なりに考えたこと
『ゲームクリエイター育成会議 オフラインミーティングVol.1 「遊びと学びの研究者に聞く、ゲームデザイナーの育て方」』に参加するにあたって自分なりに考えたこと『ゲームクリエイター育成会議 オフラインミーティングVol.1 「遊びと学びの研究者に聞く、ゲームデザイナーの育て方」』に参加するにあたって自分なりに考えたこと
『ゲームクリエイター育成会議 オフラインミーティングVol.1 「遊びと学びの研究者に聞く、ゲームデザイナーの育て方」』に参加するにあたって自分なりに考えたことTakashi Imagire
 
Mda framework for gcs2013
Mda framework for gcs2013Mda framework for gcs2013
Mda framework for gcs2013Kenneth Chan
 
111112 受発注のセオリーイベント資料
111112 受発注のセオリーイベント資料111112 受発注のセオリーイベント資料
111112 受発注のセオリーイベント資料Ryohei Katayama
 

Similar to ゲーム開発とデザインパターン (20)

A Framework for integrating software design patterns with game design framework
A Framework for integrating software design patterns with game design frameworkA Framework for integrating software design patterns with game design framework
A Framework for integrating software design patterns with game design framework
 
Xp Terakoya No04
Xp Terakoya No04Xp Terakoya No04
Xp Terakoya No04
 
Dc3 profile 1
Dc3 profile 1Dc3 profile 1
Dc3 profile 1
 
Developers Summit 2013【14-E-4】デザインをするときにデザイナーが考えること〜デザイナーの頭の中〜
Developers Summit 2013【14-E-4】デザインをするときにデザイナーが考えること〜デザイナーの頭の中〜Developers Summit 2013【14-E-4】デザインをするときにデザイナーが考えること〜デザイナーの頭の中〜
Developers Summit 2013【14-E-4】デザインをするときにデザイナーが考えること〜デザイナーの頭の中〜
 
プログラムと名前にまつわる座談会
プログラムと名前にまつわる座談会プログラムと名前にまつわる座談会
プログラムと名前にまつわる座談会
 
Game design pattern language
Game design pattern languageGame design pattern language
Game design pattern language
 
デザイン仕様書(ガイド)の書き方 (初歩者用)
デザイン仕様書(ガイド)の書き方 (初歩者用)デザイン仕様書(ガイド)の書き方 (初歩者用)
デザイン仕様書(ガイド)の書き方 (初歩者用)
 
リードデザイナーってどんな人か考えてみた
リードデザイナーってどんな人か考えてみたリードデザイナーってどんな人か考えてみた
リードデザイナーってどんな人か考えてみた
 
ブランド勉強会プロセス編2
ブランド勉強会プロセス編2ブランド勉強会プロセス編2
ブランド勉強会プロセス編2
 
DiGRAJ-GD 12/04/2011 大野 功二
DiGRAJ-GD 12/04/2011 大野 功二DiGRAJ-GD 12/04/2011 大野 功二
DiGRAJ-GD 12/04/2011 大野 功二
 
BPSttudy#84 アイデアをカタチにする方法
BPSttudy#84 アイデアをカタチにする方法BPSttudy#84 アイデアをカタチにする方法
BPSttudy#84 アイデアをカタチにする方法
 
デザインパターン
デザインパターンデザインパターン
デザインパターン
 
Game Design in Society (in Japanese)
Game Design in Society (in Japanese)Game Design in Society (in Japanese)
Game Design in Society (in Japanese)
 
カードゲームで学ぶテキストエディタ
カードゲームで学ぶテキストエディタカードゲームで学ぶテキストエディタ
カードゲームで学ぶテキストエディタ
 
3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1  ドメイン駆動設計の基本を理解する3週連続DDDその1  ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する
 
これからはじめるサービスデザイン
これからはじめるサービスデザインこれからはじめるサービスデザイン
これからはじめるサービスデザイン
 
111204 受発注のコミュニケーションイベント資料
111204 受発注のコミュニケーションイベント資料111204 受発注のコミュニケーションイベント資料
111204 受発注のコミュニケーションイベント資料
 
『ゲームクリエイター育成会議 オフラインミーティングVol.1 「遊びと学びの研究者に聞く、ゲームデザイナーの育て方」』に参加するにあたって自分なりに考えたこと
『ゲームクリエイター育成会議 オフラインミーティングVol.1 「遊びと学びの研究者に聞く、ゲームデザイナーの育て方」』に参加するにあたって自分なりに考えたこと『ゲームクリエイター育成会議 オフラインミーティングVol.1 「遊びと学びの研究者に聞く、ゲームデザイナーの育て方」』に参加するにあたって自分なりに考えたこと
『ゲームクリエイター育成会議 オフラインミーティングVol.1 「遊びと学びの研究者に聞く、ゲームデザイナーの育て方」』に参加するにあたって自分なりに考えたこと
 
Mda framework for gcs2013
Mda framework for gcs2013Mda framework for gcs2013
Mda framework for gcs2013
 
111112 受発注のセオリーイベント資料
111112 受発注のセオリーイベント資料111112 受発注のセオリーイベント資料
111112 受発注のセオリーイベント資料
 

ゲーム開発とデザインパターン