系统: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 款游戏可以制作。
如何将这些游戏导入到我的复古中?
我有一个假设:有些游戏导入成功,但retor的list_game无法列出它,所以我想弄清楚哪个游戏已导入但未列出。
当我手动导入这些游戏时,我发现ROM中的许多游戏具有相同的名称,例如“Robotank”有3个名称,这就是为什么我导入了167个游戏,但列表中只有59个。因为ROM里有同样的游戏。 我使用这个ROM:https://www.atarimania.com/rom_collection_archive_atari_2600_roms.html