SlideShare a Scribd company logo
1 of 12
新歓展示のゲームのお話
~某落ちゲーの制作に関して~
情報工学科3年 CG2研 やけぬる(@jken_ull)
はじめに
 今回はこんなものを展示していまし
た。(都合上水曜日のみでした…)
はじめに(動画)
動画(YouTube)
https://www.youtube.com/watch?v=1Ga4HmyDX
sY
左はプレイヤー(私)、右はAI
元ネタは一体なんなんだ…。
 ドクターマリオ
 任天堂が出した落ち物ゲー
ドクターマリオに関連した作品
FC(1990),GB(1990), SFC(1998),
GC(2003(パズルコレクション)),
GBA(2004,2005(ドクターマリオ&パネルでポン)),
DS(2005(もっと脳を鍛えるDSトレーニング : 細菌撲滅)),
Wii(2008(Dr. MARIO&細菌撲滅)),
DSi(2008(ちょっとDr. MARIO)),
WiiU(2014(Dr. LUIGI&細菌撲滅))
ゲームルール
 同じ色のブロックを4つ並べると消える
 連鎖でブロックを消すと相手に邪魔ブロックを送れる
 ウィルスをすべて消したほうが勝ち
 ブロックが配置できなくなったら負け
このゲームについて
 新歓展示まで…
制作期間は半月ぐらい。AI制作は3日
 制作言語は C++ と DirectX9
 環境は Visual Studio 2013
Professional
AIの作り方について
 ゲームAIの基本的流れ
1. 状況を見る
( データを渡
す)
2. 状況から考え
る
( 計算する)
3. 良い答えを出
す
( 出力する)
AIの作り方について
e.g.) 周りのブロックの色を見る
置きたい
そこそこできるけどまだ弱そう
繋がっている
同じ色のブロック
の
数が多いものを
良いとする
周りに
(直線的に)
黄色が3つあ
る
AIの作り方について
e.g.) 数手先まで配置して良い手を選ぶ
連鎖できる手を優先する
何手か先を配置しながら探索するAI
落とそうとしているブロックや
次以降に落とすブロックを落としてみる
 すべての通りを考えれば強いやつが作れる!
なんだか強そうだ!
AIの作り方について
 しかし、
 これだと計算に時間がかかる。
 実際、AI計算が終わるまで2分以上かかることがあった
 実際使える時間は1frame(1/60sec)未満
 どうする?
 枝刈りをする(不要な場所に配置して計算するのをやめる)
 スレッドで回す(計算できる時間を伸ばす)
 乱択アルゴリズムを使う
などなど…
AIの作り方について
 135個ブロックを落とした後の状態
周りの色を見た
AI
先を見たAI始めの状態
AIの作り方について
 ゲームAIで大切なこと
ラグが起きないように計算する
e.g.) 60fpsのゲームでAI判定を1frame内で計算する場合
 最悪1/60sec(≒0.1667sec)で計算できないとラグ発生
最悪計算時間でも許容時間を超えないように組むべし
 ラグはプレイヤーにとっては不快です
弱すぎず、強すぎず
弱すぎると、プレイヤーもすぐ飽きる
チートのように強すぎると、プレイヤーの心が折れる
適当な強さでプレイヤーが遊べるのが大切!

More Related Content

Viewers also liked

言語資源と付き合う
言語資源と付き合う言語資源と付き合う
言語資源と付き合うYuya Unno
 
Jubatusの紹介@第6回さくさくテキストマイニング
Jubatusの紹介@第6回さくさくテキストマイニングJubatusの紹介@第6回さくさくテキストマイニング
Jubatusの紹介@第6回さくさくテキストマイニングYuya Unno
 
形態素解析器 MeCab の新語・固有表現辞書 mecab-ipadic-NEologd のご紹介
形態素解析器 MeCab の新語・固有表現辞書 mecab-ipadic-NEologd のご紹介形態素解析器 MeCab の新語・固有表現辞書 mecab-ipadic-NEologd のご紹介
形態素解析器 MeCab の新語・固有表現辞書 mecab-ipadic-NEologd のご紹介Toshinori Sato
 
形態素列パターンマッチャー MIURAをつくりました @DSIRNLP#6
形態素列パターンマッチャーMIURAをつくりました @DSIRNLP#6形態素列パターンマッチャーMIURAをつくりました @DSIRNLP#6
形態素列パターンマッチャー MIURAをつくりました @DSIRNLP#6Yuya Unno
 
mecab-ipadic-NEologd の効果的な使い方
mecab-ipadic-NEologd の効果的な使い方mecab-ipadic-NEologd の効果的な使い方
mecab-ipadic-NEologd の効果的な使い方Toshinori Sato
 
R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜機会学習・データビジュアライゼーション事始め〜
R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜機会学習・データビジュアライゼーション事始め〜R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜機会学習・データビジュアライゼーション事始め〜
R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜機会学習・データビジュアライゼーション事始め〜Yasuyuki Sugai
 
そろそろRStudioの話
そろそろRStudioの話そろそろRStudioの話
そろそろRStudioの話Kazuya Wada
 

Viewers also liked (9)

言語資源と付き合う
言語資源と付き合う言語資源と付き合う
言語資源と付き合う
 
Jubatusの紹介@第6回さくさくテキストマイニング
Jubatusの紹介@第6回さくさくテキストマイニングJubatusの紹介@第6回さくさくテキストマイニング
Jubatusの紹介@第6回さくさくテキストマイニング
 
形態素解析器 MeCab の新語・固有表現辞書 mecab-ipadic-NEologd のご紹介
形態素解析器 MeCab の新語・固有表現辞書 mecab-ipadic-NEologd のご紹介形態素解析器 MeCab の新語・固有表現辞書 mecab-ipadic-NEologd のご紹介
形態素解析器 MeCab の新語・固有表現辞書 mecab-ipadic-NEologd のご紹介
 
Tokyo r18
Tokyo r18Tokyo r18
Tokyo r18
 
形態素列パターンマッチャー MIURAをつくりました @DSIRNLP#6
形態素列パターンマッチャーMIURAをつくりました @DSIRNLP#6形態素列パターンマッチャーMIURAをつくりました @DSIRNLP#6
形態素列パターンマッチャー MIURAをつくりました @DSIRNLP#6
 
mecab-ipadic-NEologd の効果的な使い方
mecab-ipadic-NEologd の効果的な使い方mecab-ipadic-NEologd の効果的な使い方
mecab-ipadic-NEologd の効果的な使い方
 
R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜機会学習・データビジュアライゼーション事始め〜
R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜機会学習・データビジュアライゼーション事始め〜R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜機会学習・データビジュアライゼーション事始め〜
R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜機会学習・データビジュアライゼーション事始め〜
 
そろそろRStudioの話
そろそろRStudioの話そろそろRStudioの話
そろそろRStudioの話
 
RをAWSで使おう
RをAWSで使おうRをAWSで使おう
RをAWSで使おう
 

[第3回rogyゼミ] 新歓展示のゲームのお話