gym-GluttonousSnake

本项目基于daishengdong的Games游戏包中的GluttonousSnake

我们使用gym环境对贪吃蛇游戏进行了封装和重新开发,目前已经开发完成四个项目:

  • Glu-v0 传统贪吃蛇(3个动作)
  • Glu-v1 传统贪吃蛇无边框(4个动作)
  • Glu-v2 贪吃蛇大作战(4向移动版)
  • Glu-v3 贪吃蛇大作战(360°移动版)

Requirements

  • python3
  • keras
  • gym
  • pygame

Install

cd ~/gym-GluttonousSnake
pip3 install -e .

Run

cd ~/gym-GluttonousSnake/example

传统贪吃蛇

python3 rand.py

贪吃蛇大作战简版

python3 multi_rand.py

贪吃蛇大作战完全版

python3 multi2_rand.py

更新日志

20181217

1.重新整理环境编号,见readme
2.更新readme信息

20181216

1.更新Glu-v3 2.新增naturedqn版本 3.修改DQN部分初始化参数,使训练初始化更稳定

20181215

1.更新Glu-v0
2.修改DQN部分参数,并首次训练成功
3.新增Glu-v3为Glu-v0的无边框版
4.修改Glu-v0为三动作版本
5.新增dqn_test

20181211

1.修改Glu-v0界面尺寸及reward
2.修改Glu-v0相应的DQN为连续四帧
3.修改plot函数,同时打印reward和score
4.修改DQN中keras为channel_first
5.修改DQN部分参数

20181210

1.修改Glu-v0界面尺寸及reward
2.修改Glu-v0食物生成逻辑,改为任意时间仅一枚食物
3.修改Glu-v0转向逻辑,蛇不会向自身相反方向前进,减少死亡次数
4.调整Glu-v0的图像与pygame界面一致,在DQN中加入输出实时图片功能
5.修改DQN部分参数

20181207

1.增加了新的环境——贪吃蛇大作战完全版(Glu-v2)
2.优化了Glu-v1的代码架构,提升代码的稳定性
3.新环境中蛇头更加拟真化,蛇节改为圆形
4.按惯例推出了Glu-v2的原始代码和测试文件multi2_rand.py

20181205

1.增加了新的环境——贪吃蛇大作战
2.修复原环境中图片帧慢一个回合的bug
3.移除之前环境中的get_step()方法,采用环境自动计数
4.添加针对两种环境的随机(手动)策略,以便于测试环境,默认为手动操作
5.添加未封装的原始游戏文件(在game文件夹)
6.移除原环境中的img属性