flappy-bird-gymnasium

flappy-bird-gymnasium 是一个基于 OpenAI Gymnasium 的环境,旨在为 Flappy Bird 游戏提供强化学习研究平台。该项目的游戏逻辑和图形实现基于 Talendar 的 flappy-bird-gym 项目

一、主要特点

1. 状态空间

环境提供两种观察选项:

(1) LIDAR 传感器读取: 基于论文 《基于运动识别的 Flappy Bird 游戏控制方法》,环境提供 180 个 LIDAR 传感器读取值。

(2) 游戏状态数值: 包括以下信息:

• 最后一个管道的水平位置

• 最后一个上方管道的垂直位置

• 最后一个下方管道的垂直位置

• 下一个管道的水平位置

• 下一个上方管道的垂直位置

• 下一个下方管道的垂直位置

• 下下个管道的水平位置

• 下下个上方管道的垂直位置

• 下下个下方管道的垂直位置

• 玩家的垂直位置

• 玩家的垂直速度

• 玩家的旋转角度

2.  动作空间

 包含两个动作:

• 0 - 不采取任何动作

• 1 - 拍动翅膀

二、奖励机制

• 每存活一帧:+0.1

• 成功通过一个管道:+1.0

• 死亡:-1.0

• 触碰屏幕顶部:-0.5

三、安装方法

使用以下命令安装 flappy-bird-gymnasium:

pip install flappy-bird-gymnasium

四、使用方法

以下是一个简单的示例,展示如何创建环境并运行一个随机策略的智能体:

import flappy_bird_gymnasium
import gymnasium as gym

# 创建环境
env = gym.make("FlappyBird-v0", render_mode="human", use_lidar=True)

# 重置环境
obs, _ = env.reset()

while True:
    # 选择动作(此处为随机选择)
    action = env.action_space.sample()

    # 执行动作
    obs, reward, terminated, _, info = env.step(action)

    # 检查游戏是否结束
    if terminated:
        break

# 关闭环境
env.close()

五、人类玩家模式

您可以通过以下命令以人类玩家模式玩游戏:

flappy_bird_gymnasium

要观看随机智能体的游戏过程,可以使用以下命令:

flappy_bird_gymnasium --mode random

此外,该项目还提供了一个使用深度 Q 网络(DQN)算法的智能体,您可以通过以下命令观看其表现:

flappy_bird_gymnasium --mode dqn

六、关于项目

该项目的源代码和详细信息可在其 GitHub 仓库中找到:

https://github.com/markub3327/flappy-bird-gymnasium

该仓库提供了关于环境的详细说明、安装指南以及使用示例,适合用于强化学习算法的开发和测试。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值