美文网首页
FaceBook开源强化学习新环境NetHack

FaceBook开源强化学习新环境NetHack

作者: 小小何先生 | 来源:发表于2020-05-06 17:15 被阅读0次
    The NetHack Learning Environment (NLE)

    NetHack游戏简介

    这款游戏非常容易让你上瘾。你可能需要花费一生的时间来掌握它。许多人玩了几十年也没有通关

    NetHack的前身是Rogue游戏,主要流行于上世纪80年代,主要在大学生中流行,但是当时游戏源码并未公布,因此由一群不同国家的开发者通过网络交流开发了NetHack这款游戏。

    1987年7月28日,Mike Stephenson发行了原始NetHack。直到1989年,同样在7月发行的3.0版本,开始凝聚了一班人组成开发团队。NetHack是开源软件,今时今日,成为了其中一款最古老而仍在活跃开发的游戏,由于是开源软件,所以很多调试和新内容开发工作都会有同样身为玩家的志愿者参与。

    FaceBook开源环境

    The NetHack Learning Environment (NLE) 采用的ASCII字符组成图形界面,代表不同的角色、物品。旨在提供一个强化学习接口,促进深度强化学习算法研究。与Atari游戏相比,其动作空间巨大,与环境的交互也更加复杂,更偏向一种策略游戏

    NetHack Gym Environment

    NetHack游戏玩法

    玩家需要选择自己所扮演的角色并指定性别、种族、职业和阵营,或者选择让系统随机产生一个角色。游戏者可以扮演经典奇幻角色,比如骑士、野蛮人、巫师、游侠、女武神、僧侣和武士,也可以选择一些比较少见的角色,诸如考古学家、游客和洞穴人。玩家的角色和阵营决定了其在游戏中需要侍奉的神灵。

    玩家的目标就是在地下城的最底层获取Yendor的项链并将其供奉给自己的神灵。作为回报,角色会成为不朽的半神。此外,一系列的支线任务也必须完成,其中包括各职业所特有的任务。

    游戏开始的时候,玩家通常会有一只宠物伴随,一般是小猫或者小狗,但骑士会有一匹马以及一副马鞍。

    游戏中的大部分怪物都可以用魔法或喂食等方式转化为宠物。

    NetHack的地下城大约总共有50层,其中大多数都是玩家进入时随机生成的。所有层基本上都有一个向上或向下的通道(包括楼梯、梯子、陷阱或者其他形式)、一些用走廊连接起来的房间,房间里面可能有祭坛、商店、喷泉、陷阱甚至水槽。一些比较特别的层有固定的形式。游戏有几个分支路线,包括一个推箱子游戏和弗拉德之塔。

    初步使用

    NLE依赖Python版本3.7及以上,还依赖libzmq和flatbuffers这两个包,使用conda命令安装起来也是非常方便:

    $ conda create -n nle python=3.7
    $ conda activate nle
    $ conda install zeromq flatbuffers
    $ pip install nle
    

    其它终端的更详细的安装介绍参考其官方介绍:https://github.com/facebookresearch/nle/

    与Gym类似,python调用如下:

    >>> import gym
    >>> import nle
    >>> env = gym.make("NetHackScore-v0")
    >>> env.reset()  # each reset generates a new dungeon
    >>> env.step(1)  # move agent '@' north
    >>> env.render()
    

    更多学习资料

    相关文章

      网友评论

          本文标题:FaceBook开源强化学习新环境NetHack

          本文链接:https://www.haomeiwen.com/subject/hsgwghtx.html