狠狠撸

狠狠撸Share a Scribd company logo
CEDEC CHALLENGE
ゲームAI プログラミングコンテスト
2013 in CEDEC
国立情報学研究所 坂本一憲
東京工業大学 細野裕章
早稲田大学 小林純一
はじめに
参加者の皆様
来場者の皆様
ご参加ありがとうございます
2013/08/25 2
プログラミングコンテストブーム
? 1. 与えられた問題を短時間?正確に解く
– ACM-ICPC 国際大学対抗プログラミングコンテスト
– Google Code Jam,Facebook Hacker Cup
? 2. 与えられた条件に対して最も良いコード
– Code Golf(サイズ),IOCCC(コードの汚さ)
? 3. 人工知能(AI)を記述してゲーム上で対戦
– ACM-ICPC JavaChallenge,Samurai Coding
– CODE VS,その他囲碁や将棋などのAI対戦
– 本コンテスト! (CEDEC CHALLENGE)
2013/08/25 3
一般的なコンテストの目的
リクルーティング
2013/08/25 4
我々のコンテストの目的
ゲームとプログラミング
両方の楽しさを伝える
2013/08/25 5
我々のコンテストの目的
強敵との交流
(社会人 X 学生)
2013/08/25 6
と も
過去に開催したコンテスト
? これまでのコンテスト(主催/協力)
– ACM JavaChallenge 2009, 2010, 2012, 2013
– 早稲田楽天プログラミングコンテスト 2010
– Waseda X GREE Samurai Coding 2011
– 情報処理学会 SamurAI Coding 2012, 2013
2013/08/25 7
今回のコンテストの特徴
? JavaChallenge 2012をベースに作り直し
? インターネット上での投稿受付と対戦
– http://www.ai-comp.net/cedec2013/
? 使用可能な言語への制限がほぼ0
– C, C++, C#, D, Java, Ruby, Python, Haskell,
JavaScript, PHP, Scala, …
– ゲーム本体はScalaでOSSとして開発
2013/08/25 8
923-Aug-13
ゲーム概要
? ゲームの目的
– 所有、建造には勝利点が与えられる
– ゲーム終了時の勝利点により順位を決定
? ゲームの流れ
– 毎ターン2つの行動のどちらかを選択
? ロボットを移動しマスを所有
? 所有しているマスに基地を建造
9
1023-Aug-13
初期配置の例
10
1123-Aug-13
移動
? 毎ターン、開拓地、基地のロボットを1マスず
つ動かすことができる
? 荒地にロボットを進めると開拓地に変化
? 他プレイヤーのロボットが存在すると戦闘
– 単純に数が多いプレイヤーのロボットが勝利
– 次のスライドで戦闘ルールを説明
11
1223-Aug-13
移動に伴う戦闘
12
0
3
8
5 5
5 8
5 3
25 3
1323-Aug-13
建造
? 建造可能な条件
– 建造したい土地がプレイヤーの開拓地である
– 周囲に「資源」が一定数存在する
– 「ロボット」が一定数存在する
? 建造
– 「ロボット」を一定数消費する
– 開拓地マスから基地マスに変化する
– 建造はターンに一度だけ行える
13
1423-Aug-13
地形の一覧
14
地形の種類
所有マスから
の移動
マスへの進
入
所有マスに
建造
荒野 — ○ —
開拓地 ○ ○ ○(橋以外)
基地 ○
所有する基
地のみ
×
穴 × ○ 橋のみ
1523-Aug-13
建物の一覧 1/3
ロボット製造機 (Initial)
– 毎ターンロボット5体を生成 (建造不可)
小型ロボット製造機 (Robot Maker)
– 毎ターンロボット1体を生成
15
攻撃塔(Attack Tower)
– 図の位置の相手ロボットを
毎ターン2体減らす
1623-Aug-13
建物の一覧 2/3
掘削機 (Excavator)
– 隣接マスの資源が1増える
橋 (Bridge)
– 穴に建造できる
16
1723-Aug-13
建物の一覧3/3
家 (House)
– 特に効果を持たない
街 (Town)
– 周囲1マスの自分の開拓地を家に変更する
– 建設時に資源の数に応じた勝利点を獲得する。
17
1823-Aug-13
コンテストルール
? 準決勝
– 2試合実施して、順位
(1,2,3)の合計が小さい
チームの勝利
– 順位が決まらない場合
は追加で1試合実施
? 決勝
– 1位を2回取るチームが
現れるまで試合を実施
18
結果発表
? 準決勝グループA
– 2試合で1位が決勝進出、2位と3位が敗者復活
2013/08/25 19
予選
順位
チーム名 プレイヤー名(AI名) 言語
1 Wall_Cult Wall_Cult Java
3 B_head B_head:Colonize C#
4 R.Kuzumi Terraforming Researcher C++
結果発表
? 第1試合:準決勝グループA第1試合
– 2試合で1位が決勝進出、2位と3位が敗者復活
2013/08/25 20
結果発表
? 準決勝グループA第1試合
– 2試合で1位が決勝進出、2位と3位が敗者復活
2013/08/25 21
チーム名 第1試合
得点 順位
Wall_Cult 24 3
B_head 102 1
R.Kuzumi 65 2
結果発表
? 第2試合:準決勝グループA第2試合
– 2試合で1位が決勝進出、2位と3位が敗者復活
2013/08/25 22
結果発表
? 準決勝グループA第2試合
– 2試合で1位が決勝進出、2位と3位が敗者復活
2013/08/25 23
チーム名 第1試合 第2試合 順位
合計得点 順位 得点 順位
Wall_Cult 24 3 100 1 4
B_head 102 1 61 3 4
R.Kuzumi 65 2 98 2 4
結果発表
追加試合!!!
2013/08/25 24
結果発表
? 第3試合:準決勝グループA第3試合
– 3試合で1位が決勝進出、2位と3位が敗者復活
2013/08/25 25
結果発表
? 準決勝グループA第3試合
– 3試合で1位が決勝進出、2位と3位が敗者復活
2013/08/25 26
チーム名 第1試合 第2試合 第3試合 順位
合計得点 順位 得点 順位 得点 順位
Wall_Cult 24 3 100 1 100 1 5
B_head 102 1 61 3 37 3 7
R.Kuzumi 65 2 98 2 52 2 6
? 準決勝グループA結果
– 3試合で1位が決勝進出、2位と3位が敗者復活
結果発表
順位 チーム名
1 Wall_Cult →決勝へ
2 R.Kuzumi →敗者復活へ
3 B_head →敗者復活へ
2013/08/25 27
結果発表
? 準決勝グループB
– 2試合で1位が決勝進出、2位が敗者復活
2013/08/25 28
予選
順位
チーム名 プレイヤー名(AI名) 言語
2 todo takatora todo takatora C++
5 henteko henteko Ruby
6 ROCK ROCK C#
結果発表
? 第4試合:準決勝グループB第1試合
– 2試合で1位が決勝進出、2位が敗者復活
2013/08/25 29
結果発表
? 準決勝グループB第1試合
– 2試合で1位が決勝進出、2位が敗者復活
2013/08/25 30
チーム名 第1試合
得点 順位
todo takatora 100 1
henteko 39 3
ROCK 60 2
結果発表
? 第5試合:準決勝グループB第2試合
– 2試合で1位が決勝進出、2位が敗者復活
2013/08/25 31
結果発表
? 準決勝グループB第2試合
– 2試合で1位が決勝進出、2位が敗者復活
2013/08/25 32
チーム名 第1試合 第1試合 順位
合計得点 順位 得点 順位
todo takatora 100 1 100 1 2
henteko 39 3 28 3 6
ROCK 60 2 56 2 4
結果発表
順位 チーム名
1 todo takatora →決勝へ
2 ROCK →敗者復活へ
3 henteko →敗退
2013/08/25 33
? 準決勝グループB結果
– 2試合で1位が決勝進出、2位が敗者復活
結果発表
? 敗者復活戦
– 2試合で1位のチームが決勝進出
2013/08/25 34
予選
順位
チーム名 プレイヤー名(AI名) 備考
4 R.Kuzumi Terraforming Researcher グループA2位
6 ROCK ROCK グループB2位
3 B_head B_head:Colonize グループA3位
結果発表
? 第6試合:敗者復活戦第1試合
– 2試合で1位のチームが決勝進出
2013/08/25 35
結果発表
? 敗者復活戦第1試合
– 2試合で1位のチームが決勝進出
2013/08/25 36
チーム名 第1試合
得点 順位
R.Kuzumi 76 2
ROCK 19 3
B_head 85 1
結果発表
? 第7試合:敗者復活戦第2試合
– 2試合で1位のチームが決勝進出
2013/08/25 37
結果発表
? 敗者復活戦第2試合
– 2試合で1位のチームが決勝進出
2013/08/25 38
チーム名 第1試合 第1試合 順位
合計得点 順位 得点 順位
R.Kuzumi 76 2 57 2 4
ROCK 19 3 35 3 6
B_head 85 1 58 1 2
? 敗者復活戦 結果
? 2試合で1位のチームが決勝進出
結果発表
順位 チーム名
1 B_head →決勝へ
2 R.Kuzumi →敗退
3 ROCK →敗退
2013/08/25 39
結果発表
? 決勝戦
– 先に1位を2回取ったチームの優勝!
2013/08/25 40
予選
順位
チーム名 プレイヤー名(AI名) 備考
1 Wall_Cult Wall_Cult グループA1位
2 todo takatora todo takatora グループB1位
3 B_head B_head:Colonize 敗者復活戦1位
結果発表
? 第8試合:決勝戦第1試合
– 先に1位を2回取ったチームの優勝!
2013/08/25 41
結果発表
? 決勝戦第1試合
– 先に1位を2回取ったチームの優勝!
2013/08/25 42
チーム名 第1試合 勝数
得点 順位
Wall_Cult 34 3 0
todo takatora 100 1 1
B_head 74 2 0
結果発表
? 第9試合:決勝戦第2試合
– 先に1位を2回取ったチームの優勝!
2013/08/25 43
結果発表
? 決勝戦第2試合
– 先に1位を2回取ったチームの優勝!
2013/08/25 44
チーム名 第1試合 第2試合 勝数
得点 順位 得点 順位
Wall_Cult 34 3 101 1 1
todo takatora 100 1 65 2 1
B_head 74 2 58 3 0
結果発表
? 第10試合:決勝戦第3試合
– 先に1位を2回取ったチームの優勝!
2013/08/25 45
結果発表
? 決勝戦第3試合
– 先に1位を2回取ったチームの優勝!
2013/08/25 46
チーム名 第1試合 第2試合 第3試合 勝数
得点 順位 得点 順位 得点 順位
Wall_Cult 34 3 101 1 50 3 1
todo takatora 100 1 65 2 100 1 2
B_head 74 2 58 3 80 2 0
? 優勝は
チームです!
おめでとうございます!
2013/08/25 47
todo takatora
おわりに
ゲームとプログラミング
は楽しい!
2013/08/25 48
おわりに
ご参加誠に
ありがとうございました
開発?運営に興味がある方
ご連絡くださいm(__)m
ai-comp@googlegroups.com
2013/08/25 49

More Related Content

CEDEC?CHALLENGE ゲームAI プログラミングコンテスト 2013 in?CEDEC