无法使用所有(或大部分)健身房复古游戏

问题描述 投票:0回答:1

我的工作环境

系统:ubuntu 18.04

版本:python 3.6/3.7/3.8(3个环境结果相同),gym 0.25.2,gym-retro 0.8.0

我做得怎么样?

我按照本指南安装gym-retro。我成功运行了示例游戏。

我遇到了问题?

首先,我从网上导入了一些ROM,例如128正弦点,但我无法导入它: 当我执行的时候

python -m retro.import Anthrox\ -\ Sine-dot\ Demo\ \(PD\).smc

结果是:

Imported 0 games

上方文字图片

还有Atari游戏(超过1000个游戏),我只能成功导入不超过200个游戏,但我可以使env不超过100个游戏。

我执行了:

python -m retro.import .

结果是:

Importing DemonAttack-Atari2600
.
.
Importing Pong-Atari2600
Imported 167 games

我写这个脚本是为了获取游戏状态来判断是否可以制作这个环境:

import retro

game_list = retro.data.list_games()

def main():
    cnt = 0
    for game_name in game_list:
        try:
            env = retro.make(game=game_name)
        except Exception as e:
            print(game_name, ": ", "no")
        else:
            cnt+=1
            env.close()
            print(game_name, ": ", "yes")
    print("all: ", cnt)

if __name__ == "__main__":
    main()

结果是:

...
YarsRevenge-Atari2600 :  yes
YoukaiClub-Nes :  no
YoukaiDouchuuki-Nes :  no
YoungIndianaJonesChronicles-Nes :  no
Zanac-Nes :  no
Zaxxon-Atari2600 :  yes
ZeroTheKamikazeSquirrel-Genesis :  no
ZeroTheKamikazeSquirrel-Snes :  no
ZeroWing-Genesis :  no
ZombiesAteMyNeighbors-Snes :  no
ZoolNinjaOfTheNthDimension-Genesis :  no
ZoolNinjaOfTheNthDimension-Sms :  no
ZoolNinjaOfTheNthDimension-Snes :  no
all:  63

更新信息,所有例外情况是:

Game not found: xxxxxxxx. Did you make sure to import the ROM?

发现只有 63 款游戏可以制作。

我想问的问题!!!

如何将这些游戏导入到我的复古中?

python reinforcement-learning openai-gym
1个回答
0
投票

我知道为什么!!!

我有一个假设:有些游戏导入成功,但retor的list_game无法列出它,所以我想弄清楚哪个游戏已导入但未列出。

当我手动导入这些游戏时,我发现ROM中的许多游戏具有相同的名称,例如“Robotank”有3个名称,这就是为什么我导入了167个游戏,但列表中只有59个。因为ROM里有同样的游戏。 我使用这个ROM:https://www.atarimania.com/rom_collection_archive_atari_2600_roms.html

© www.soinside.com 2019 - 2024. All rights reserved.