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

49
CEDEC CHALLENGE ゲームAI プログラミングコンテスト 2013 in CEDEC 国立情報学研究所 坂本一憲 東京工業大学 細野裕章 早稲田大学 小林純一

description

CEDEC 2013 の「CEDEC CHALLENGE ゲームAI プログラミングコンテスト 2013 in CEDEC」にて発表したスライドです。 http://cedec.cesa.or.jp/2013/program/ENG/9027.html

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

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

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

2013 in CEDEC

国立情報学研究所 坂本一憲

東京工業大学 細野裕章

早稲田大学 小林純一

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

はじめに

参加者の皆様 来場者の皆様

ご参加ありがとうございます

2013/08/25 2

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

プログラミングコンテストブーム

• 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

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

一般的なコンテストの目的

リクルーティング

2013/08/25 4

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

我々のコンテストの目的

ゲームとプログラミング 両方の楽しさを伝える

2013/08/25 5

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

我々のコンテストの目的

強敵との交流 (社会人 X 学生)

2013/08/25 6

と も

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

過去に開催したコンテスト

• これまでのコンテスト(主催/協力)

– ACM JavaChallenge 2009, 2010, 2012, 2013

–早稲田楽天プログラミングコンテスト 2010

– Waseda X GREE Samurai Coding 2011

–情報処理学会 SamurAI Coding 2012, 2013

2013/08/25 7

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

今回のコンテストの特徴

• 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

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

9 23-Aug-13

ゲーム概要

• ゲームの目的

– 所有、建造には勝利点が与えられる

–ゲーム終了時の勝利点により順位を決定

• ゲームの流れ

– 毎ターン2つの行動のどちらかを選択

• ロボットを移動しマスを所有

• 所有しているマスに基地を建造

9

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

10 23-Aug-13

初期配置の例

10

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

11 23-Aug-13

移動

• 毎ターン、開拓地、基地のロボットを1マスずつ動かすことができる

• 荒地にロボットを進めると開拓地に変化

• 他プレイヤーのロボットが存在すると戦闘

–単純に数が多いプレイヤーのロボットが勝利

–次のスライドで戦闘ルールを説明

11

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

12 23-Aug-13

移動に伴う戦闘

12

0

3

8

5

5

5

8

5

3

2 5

3

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

13 23-Aug-13

建造

• 建造可能な条件

– 建造したい土地がプレイヤーの開拓地である

– 周囲に「資源」が一定数存在する

– 「ロボット」が一定数存在する

• 建造

– 「ロボット」を一定数消費する

– 開拓地マスから基地マスに変化する

– 建造はターンに一度だけ行える

13

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

14 23-Aug-13

地形の一覧

14

地形の種類 所有マスからの移動

マスへの進入

所有マスに建造

荒野 — ○ —

開拓地 ○ ○ ○(橋以外)

基地 ○ 所有する基地のみ

×

穴 × ○ 橋のみ

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

15 23-Aug-13

建物の一覧 1/3

ロボット製造機 (Initial)

–毎ターンロボット5体を生成 (建造不可)

小型ロボット製造機 (Robot Maker)

–毎ターンロボット1体を生成

15

攻撃塔(Attack Tower)

–図の位置の相手ロボットを

毎ターン2体減らす

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

16 23-Aug-13

建物の一覧 2/3

掘削機 (Excavator)

–隣接マスの資源が1増える

橋 (Bridge)

–穴に建造できる

16

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

17 23-Aug-13

建物の一覧3/3

家 (House)

–特に効果を持たない

街 (Town)

–周囲1マスの自分の開拓地を家に変更する

–建設時に資源の数に応じた勝利点を獲得する。

17

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

18 23-Aug-13

コンテストルール

• 準決勝

– 2試合実施して、順位(1,2,3)の合計が小さいチームの勝利

–順位が決まらない場合は追加で1試合実施

• 決勝

– 1位を2回取るチームが現れるまで試合を実施

18

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

結果発表

• 準決勝グループ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++

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

結果発表

• 第1試合:準決勝グループA第1試合

– 2試合で1位が決勝進出、2位と3位が敗者復活

2013/08/25 20

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

結果発表

• 準決勝グループA第1試合

– 2試合で1位が決勝進出、2位と3位が敗者復活

2013/08/25 21

チーム名

第1試合 得点 順位

Wall_Cult 24 3

B_head 102 1

R.Kuzumi 65 2

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

結果発表

• 第2試合:準決勝グループA第2試合

– 2試合で1位が決勝進出、2位と3位が敗者復活

2013/08/25 22

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

結果発表

• 準決勝グループ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

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

結果発表

追加試合!!!

2013/08/25 24

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

結果発表

• 第3試合:準決勝グループA第3試合

– 3試合で1位が決勝進出、2位と3位が敗者復活

2013/08/25 25

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

結果発表

• 準決勝グループ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

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

• 準決勝グループA結果

– 3試合で1位が決勝進出、2位と3位が敗者復活

結果発表

順位 チーム名

1 Wall_Cult →決勝へ

2 R.Kuzumi →敗者復活へ

3 B_head →敗者復活へ

2013/08/25 27

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

結果発表

• 準決勝グループB

– 2試合で1位が決勝進出、2位が敗者復活

2013/08/25 28

予選 順位

チーム名 プレイヤー名(AI名) 言語

2 todo takatora todo takatora C++

5 henteko henteko Ruby

6 ROCK ROCK C#

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

結果発表

• 第4試合:準決勝グループB第1試合

– 2試合で1位が決勝進出、2位が敗者復活

2013/08/25 29

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

結果発表

• 準決勝グループB第1試合

– 2試合で1位が決勝進出、2位が敗者復活

2013/08/25 30

チーム名

第1試合 得点 順位

todo takatora 100 1

henteko 39 3

ROCK 60 2

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

結果発表

• 第5試合:準決勝グループB第2試合

– 2試合で1位が決勝進出、2位が敗者復活

2013/08/25 31

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

結果発表

• 準決勝グループ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

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

結果発表

順位 チーム名

1 todo takatora →決勝へ

2 ROCK →敗者復活へ

3 henteko →敗退

2013/08/25 33

• 準決勝グループB結果

– 2試合で1位が決勝進出、2位が敗者復活

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

結果発表

• 敗者復活戦

– 2試合で1位のチームが決勝進出

2013/08/25 34

予選 順位

チーム名 プレイヤー名(AI名) 備考

4 R.Kuzumi Terraforming Researcher グループA2位

6 ROCK ROCK グループB2位

3 B_head B_head:Colonize グループA3位

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

結果発表

• 第6試合:敗者復活戦第1試合

– 2試合で1位のチームが決勝進出

2013/08/25 35

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

結果発表

• 敗者復活戦第1試合

– 2試合で1位のチームが決勝進出

2013/08/25 36

チーム名

第1試合 得点 順位

R.Kuzumi 76 2

ROCK 19 3

B_head 85 1

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

結果発表

• 第7試合:敗者復活戦第2試合

– 2試合で1位のチームが決勝進出

2013/08/25 37

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

結果発表

• 敗者復活戦第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

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

• 敗者復活戦 結果

• 2試合で1位のチームが決勝進出

結果発表

順位 チーム名

1 B_head →決勝へ

2 R.Kuzumi →敗退

3 ROCK →敗退

2013/08/25 39

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

結果発表

• 決勝戦

–先に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位

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

結果発表

• 第8試合:決勝戦第1試合

–先に1位を2回取ったチームの優勝!

2013/08/25 41

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

結果発表

• 決勝戦第1試合

–先に1位を2回取ったチームの優勝!

2013/08/25 42

チーム名

第1試合 勝数 得点 順位

Wall_Cult 34 3 0

todo takatora 100 1 1

B_head 74 2 0

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

結果発表

• 第9試合:決勝戦第2試合

–先に1位を2回取ったチームの優勝!

2013/08/25 43

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

結果発表

• 決勝戦第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

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

結果発表

• 第10試合:決勝戦第3試合

–先に1位を2回取ったチームの優勝!

2013/08/25 45

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

結果発表

• 決勝戦第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

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

• 優勝は

チームです!

おめでとうございます!

2013/08/25 47

todo takatora

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

おわりに

ゲームとプログラミング は楽しい!

2013/08/25 48

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

おわりに

ご参加誠に ありがとうございました

開発・運営に興味がある方

ご連絡くださいm(__)m

[email protected] 2013/08/25 49