背景
2012年,Google赞助的人工智能比赛。比赛虽然结束了,但是还可以在本机跑。德国人获得了冠军,官网首页有最后比赛的回放。
-->官方传送门<--
大致规则
场景
比赛使用蚂蚁作为背景,地图上有water(水)、ant(蚂蚁)、hill(蚁巢)、food(食物)、land(陆地)。
规则
- 蚂蚁从蚁巢出生
- 蚂蚁可行走在陆地上
- 蚂蚁无法穿越水
- 己方蚂蚁收集到食物后会从巢穴出生新的己方蚂蚁
- 无论己方还是敌方蚂蚁,相撞后会消失
- 与敌方蚂蚁保持一格距离时会自动攻击
- 走到敌方洞穴后,洞穴即被摧毁
只能描述下大致规则,关于如何让进攻更有优势等,详细的还是看官方传送门
游戏目的
杀死所有的敌方蚂蚁或占领敌方蚁巢即为胜利。
起步
选择你的语言
使用你习惯的编程语言,下载对应的starter packages
每种语言会有一个两个主要文件,以ruby为例,会有ants.rb
和MyBot.rb
两个文件。
-
ant.rb
提供游戏的主要接口 -
MyBot.rb
是需要参赛者实现逻辑的文件
下载tools
下载windows版本或Linux/MacOS版本的tools
tools提供比赛全部功能,包括回放、对战地图、模拟Bot。tools需要python2.7.X和jdk作为支持。
按照以下放置文件
下载的starter_packages和tools按以下目录保存
$> mkdir aichallenge
$> cd aichallenge
$> ls
ants.rb MyBot.rb tools
测试环境是否设置成功
在aichallenge目录下执行命令./tools/play_one_game.sh
。如果成功,屏幕输出以下内容
running for 500 turns
ant_count c_turns climb? cutoff food r_turn ranking_bots s_alive s_hills score w_turn winning
turn 0 stats: [1,1,1,1,0] 0 [1,1,1,1] - 20 0 None [1,1,1,1] [1,1,1,1] [1,1,1,1] 0 None
turn 1 stats: [1,1,1,1,0] 0 [1,1,1,1] - 20 1 [0,0,0,0] [1,1,1,1] [1,1,1,1] [1,1,1,1] 1 [0,1,2,3]
turn 2 stats: [1,1,1,1,0] 0 [1,1,1,1] - 24 1 [0,0,0,0] [1,1,1,1] [1,1,1,1] [1,1,1,1] 1 [0,1,2,3]
turn 3 stats: [1,1,1,1,0] 0 [1,1,1,1] - 24 1 [0,0,0,0] [1,1,1,1] [1,1,1,1] [1,1,1,1] 1 [0,1,2,3]
turn 4 stats: [1,1,1,1,0] 0 [1,1,1,1] - 22 1 [0,0,0,0] [1,1,1,1] [1,1,1,1] [1,1,1,1] 1 [0,1,2,3]
turn 5 stats: [2,1,2,1,0] 0 [1,1,1,1] - 22 1 [0,0,0,0] [1,1,1,1] [1,1,1,1] [1,1,1,1] 1 [0,1,2,3]
...
创建自己的ruby游戏启动脚本
后期测试就使用该脚本
tutorial.sh
python tools/playgame.py "ruby MyBot.rb" "python tools/sample_bots/python/HunterBot.py" --map_file tools/maps/example/tutorial1.map --log_dir game_logs --turns 60 --scenario --food none --player_seed 7 --verbose -e