Upgrade to Pro — share decks privately, control downloads, hide ads and more …

東方ゲームAIの技術史

ide_an
April 09, 2017
940

 東方ゲームAIの技術史

2017/04/08 バカゼミ発表資料(@ide_an)

ide_an

April 09, 2017
Tweet

Transcript

  1. 現在までの東方ゲームAI • STG • 2009/06 永夜抄AI(sizukuisi) • 2010/04 永夜抄AI(Gandalph) •

    2011/06? Touhoubot Project • 2011/12 ダブルスポイラーAI(trial-run) • 2012/04 地霊殿AI(ide_an) • 2013/11 TouhouPlayer(feinomenon) • 2014/03 紅魔郷AI(aki33524) • 2014/04 花AI塚(ide_an) • 2015/09? AI_touhou(nobu-knellfox) • 2016/02 紺珠伝AI(imenurok) • 2016/03 紅魔郷AI(td2sk) • 2016/05 紺珠伝AI(ntddk) • 2016/05 TouhouCV(Netdex) • 格闘ゲー • 2005/11 th075Booster(vjyK8Yp05c) • 2008/12 th105_ai(sweetie) • 2009/09 th123_ai(sweetie) • 2013/08 th135_ai(sweetie)
  2. 原作 STG AI 格闘ゲー AI 2002 紅魔郷 2003 妖々夢 2004

    萃夢想、永夜抄 2005 花映塚、文花帖 th075Booster(vjyK8Yp05c) 2006 2007 風神録 2008 緋想天、地霊殿 th105_ai(sweetie) 2009 星蓮船、非想天則 永夜抄AI(sizukuisi) th123_ai(sweetie) 2010 ダブルスポイラー、妖精大戦争 永夜抄AI(Gandalph) 2011 神霊廟 Touhoubot Project ダブスポAI(trial-run) 2012 地霊殿AI(ide_an) 2013 心綺楼、輝針城 TouhouPlayer(feinomenon) th135_ai(sweetie) 2014 弾幕アマノジャク 紅魔郷AI(aki33524) 花AI塚(ide_an) 2015 深秘録、紺珠伝 AI_touhou(nobu-knellfox) 2016 紺珠伝AI(imenurok) 紅魔郷AI(td2sk) 紺珠伝AI(ntddk) TouhouCV(Netdex) ※赤字は格闘ゲー
  3. ゲームAIの分類軸 • 2つの分類軸がある • ルールベース or 学習ベース • 固定あるいはスクリプトで記述したルールに従って動く •

    ステートマシン、スクリプトなど • プレイデータを食って、いい感じの動作を獲得する • ニューラルネットワーク、強化学習、遺伝的アルゴリズムなど • ゲーム状態の取得方法 • ゲームの内部状態(メモリ)に直接アクセスする • 正確な情報が手に入るが、汎用性が低い。あとなんかズルい • ゲーム画面を画像処理して取得する • 汎用性が高いが、パフォーマンスと精度がネック 人間と同じ土俵じゃない・・・
  4. 原作 STG AI 格闘ゲー AI 2002 紅魔郷 2003 妖々夢 2004

    萃夢想、永夜抄 2005 花映塚、文花帖 th075Booster(vjyK8Yp05c) 2006 2007 風神録 2008 緋想天、地霊殿 th105_ai(sweetie) 2009 星蓮船、非想天則 永夜抄AI(sizukuisi) th123_ai(sweetie) 2010 ダブルスポイラー、妖精大戦争 永夜抄AI(Gandalph) 2011 神霊廟 Touhoubot Project ダブルスポイラーAI(trial-run) 2012 地霊殿AI(ide_an) 2013 心綺楼、輝針城 TouhouPlayer(feinomenon) th135_ai(sweetie) 2014 弾幕アマノジャク 紅魔郷AI(aki33524) 花AI塚(ide_an) 2015 深秘録、紺珠伝 AI_touhou(nobu-knellfox) 2016 紺珠伝AI(imenurok) 紅魔郷AI(td2sk) 紺珠伝AI(ntddk) TouhouCV(Netdex) ルールベース vs 学習ベース オーパーツ感ある いずれもDeepLearning + 強化学習の組み合わせ。 DQN(2013)の影響を受けている。 ライブラリはだいたいChainer。
  5. 原作 STG AI 格闘ゲー AI 2002 紅魔郷 2003 妖々夢 2004

    萃夢想、永夜抄 2005 花映塚、文花帖 th075Booster(vjyK8Yp05c) 2006 2007 風神録 2008 緋想天、地霊殿 th105_ai(sweetie) 2009 星蓮船、非想天則 永夜抄AI(sizukuisi) th123_ai(sweetie) 2010 ダブルスポイラー、妖精大戦争 永夜抄AI(Gandalph) 2011 神霊廟 Touhoubot Project ダブルスポイラーAI(trial-run) 2012 地霊殿AI(ide_an) 2013 心綺楼、輝針城 TouhouPlayer(feinomenon) th135_ai(sweetie) 2014 弾幕アマノジャク 紅魔郷AI(aki33524) 花AI塚(ide_an) 2015 深秘録、紺珠伝 AI_touhou(nobu-knellfox) 2016 紺珠伝AI(imenurok) 紅魔郷AI(td2sk) 紺珠伝AI(ntddk) TouhouCV(Netdex) 内部状態直アクセス vs 画像処理 画像処理にはOpenCVやPILがよく用いられる。 DeepLearningの場合、Pythonで実装することが 多いため、PILが使われやすい
  6. 原作 STG AI 格闘ゲー AI 2002 紅魔郷 2003 妖々夢 2004

    萃夢想、永夜抄 2005 花映塚、文花帖 th075Booster(vjyK8Yp05c) 2006 2007 風神録 2008 緋想天、地霊殿 th105_ai(sweetie) 2009 星蓮船、非想天則 永夜抄AI(sizukuisi) th123_ai(sweetie) 2010 ダブルスポイラー、妖精大戦争 永夜抄AI(Gandalph) 2011 神霊廟 Touhoubot Project ダブルスポイラーAI(trial-run) 2012 地霊殿AI(ide_an) 2013 心綺楼、輝針城 TouhouPlayer(feinomenon) th135_ai(sweetie) 2014 弾幕アマノジャク 紅魔郷AI(aki33524) 花AI塚(ide_an) 2015 深秘録、紺珠伝 AI_touhou(nobu-knellfox) 2016 紺珠伝AI(imenurok) 紅魔郷AI(td2sk) 紺珠伝AI(ntddk) TouhouCV(Netdex) ※赤字は格闘ゲー
  7. 原作 STG AI 格闘ゲー AI 2002 紅魔郷 2003 妖々夢 2004

    萃夢想、永夜抄 2005 花映塚、文花帖 th075Booster(vjyK8Yp05c) 2006 2007 風神録 2008 緋想天、地霊殿 th105_ai(sweetie) 2009 星蓮船、非想天則 永夜抄AI(sizukuisi) th123_ai(sweetie) 2010 ダブルスポイラー、妖精大戦争 永夜抄AI(Gandalph) 2011 神霊廟 Touhoubot Project ダブルスポイラーAI(trial-run) 2012 地霊殿AI(ide_an) 2013 心綺楼、輝針城 TouhouPlayer(feinomenon) th135_ai(sweetie) 2014 弾幕アマノジャク 紅魔郷AI(aki33524) 花AI塚(ide_an) 2015 深秘録、紺珠伝 AI_touhou(nobu-knellfox) 2016 紺珠伝AI(imenurok) 紅魔郷AI(td2sk) 紺珠伝AI(ntddk) TouhouCV(Netdex) ※赤字は格闘ゲー 空白の7年
  8. なぜ「空白」か? • ニーズが弱かった • AIが作られても公開され、広まるに至らない • 一人プレイSTGだとAI製作者がAIのプレイを見てニヤニヤするだけで終わりがち・・・ • 格闘ゲーでは対戦相手としてのAIニーズがあった •

    花映塚にもありそうだが・・・(後述) • 東方ファンコミュニティの規模が(現在と比較すると)小さかった • ニコ動によるコミュニティ拡大が2007~2008の間に起きている • コミュニティが大きくなりAIを作る人が増えると、ニーズが弱くてもあえて公開 する人が現れるのではないか?
  9. まとめ • 東方AIをめぐる歴史は意外と厚い • 大まかな技術トレンドが見れるレベルの蓄積がある • 狭いコミュニティでも、技術をめぐる社会現象を観測できる • ニーズを満たす技術があると、同じニーズを満たす技術は現れにくい •

    コミュニティの規模によって、↑の状況は変わりうる TASコミュニティや東方以外のコミュニティの関係とかも知りたいんですが、どこ探せばいいですかね・・・ あと2007~のコミュニティの変化は構造の変化も起きていて、その影響もある気がするのですがどうなんですかね・・・
  10. Appendix: 格闘ゲーAI • th075Booster (vjyK8Yp05c) • http://wiki.mizuumi.net/w/Immaterial_and_Missing_Power/th075booster • 開発者回顧録 https://www26.atwiki.jp/th075c/pages/20.html

    • Archive http://web.archive.org/web/20090122055540/http://www.crystal.rm.st/njm4559/r_board/r _board.cgi • 現在はrollCaster (mauve)に組み込まれている • th105_ai(のちにth123_ai) (sweetie) • http://resemblances.click3.org/product_list/index.cgi/detail/52 • th135_ai (sweetie) • http://resemblances.click3.org/product_list/index.cgi/detail/54 • 学習ベース緋想天AI構想 (作者不明) • その後実現したのかは不明。sweetie氏および緋行跡のsakra_yukikaze氏とは別人。 • http://jbbs.shitaraba.net/bbs/read_archive.cgi/game/44334/1211630896/#627
  11. Appendix: STG AI( - 2013) • 永夜抄AI (sizukuisi) • http://www.nicovideo.jp/watch/sm7270634

    • 永夜抄AI (Gandalph) • https://www.youtube.com/watch?v=4wKmtWpcHnA • ダブルスポイラーAI (trial-run) • http://trial-run.net/archives/2235 • Touhoubot Project (Adepht and Tsar Ioann XIII) • http://thbot.kt15.ru/ • 地霊殿AI (ide_an) • http://www.usamimi.info/~ide/programe/touhouai/ • TouhouPlayer (feinomenon) • https://github.com/feinomenon/TouhouPlayer
  12. Appendix: STG AI(2014 - ) • 紅魔郷AI (aki33524) • https://www.slideshare.net/aki33524/ai-32089294

    • プレイ動画 http://www.nicovideo.jp/watch/sm23043946 • 花AI塚 (ide_an) • http://www.usamimi.info/~ide/programe/touhouai/ • AI_touhou (nobu-knellfox) • https://github.com/nobu-knellfox/AI_touhou • 紺珠伝AI (imenurok) • http://qiita.com/imenurok/items/c6aa868107091cfa509c • 紅魔郷AI (td2sk) • http://www.nicovideo.jp/watch/sm28442889 • 紺珠伝AI (ntddk) • https://ntddk.booth.pm/items/245254 • プレイ動画 https://www.youtube.com/watch?v=KcnvVepob2o • TouhouCV (Netdex) • https://github.com/Netdex/TouhouCV
  13. Appendix: ネット対戦関連 • 萃夢想におけるネット対戦 • 2005/11 th075_net (AVC)が初出 • https://www.logsoku.com/r/2ch.net/download/1134810788/#135

    • 2006/02にth075Caster (vjyK8Yp05c)が登場。こちらが主流に • http://jbbs.shitaraba.net/bbs/read_archive.cgi/computer/6306/1133436189/#980 • 2009/12にth075Caster派生のrollCaster(mauve)が登場。現在の主流 • http://wiki.mizuumi.net/w/Immaterial_and_Missing_Power/Rollcaster • 花映塚におけるネット対戦 • 2005/10 花映塚ver 1.50aでネット対戦対応 • 2007/05 Adonisの前身となる通信高速化パッチが登場 • http://jbbs.shitaraba.net/bbs/read_archive.cgi/computer/6306/1176031607/#31 • 2007/07 Adonis (swmpLV/75E)が登場。以降はこちらが主流 • http://jbbs.shitaraba.net/bbs/read_archive.cgi/computer/6306/1176031607/#641