Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Importing Atari Games with python -m retro.import #53

Closed
simoninithomas opened this issue Jun 9, 2018 · 35 comments
Closed

Importing Atari Games with python -m retro.import #53

simoninithomas opened this issue Jun 9, 2018 · 35 comments

Comments

@simoninithomas
Copy link

simoninithomas commented Jun 9, 2018

Issue summary

Hello, 😄

I want to import Atari Space Invaders rom to retro.
My rom name is "SpaceInvaders-Atari2600.a26" the same name as presented in the list of possible roms playable in retro and the correct format (.a26)

However, when I want to import this rom to my retro environment using python -m retro.import. I receive this message:

Importing 1 potential games...
Imported 0 games

So I tried to import it manually in Anaconda3\envs\gameplai\Lib\site-packages\retro\data\SpaceInvaders-Atari2600 by copy and paste the rom.

But it didn't work:

FileNotFoundError: Game not found: SpaceInvaders-Atari2600. Did you make sure to import the ROM?

Do you know what should I do to fix this? I have only this problem when I try to import Atari games

Again, this new library is awesome thanks for your work! 👏👏👏

System information

  • Windows 10
  • Python 3.6.4
  • Retro 0.5.3
@simoninithomas simoninithomas changed the title Importing Atari Game with python -m retro.import Importing Atari Games with python -m retro.import Jun 11, 2018
@simoninithomas
Copy link
Author

I found why 🎉. it's because you need the good version of the rom, however with Atari 2600 you have tons of different versions (PAL, NTSC, Hack, Non hack) etc.

** If you have the same problem, be sure to download the good version of the rom 😄**

I close the issue

@MaximusWudy
Copy link

Hi Thomas,

      It's amazing that I am studying your tutorial right now and encounter the same problem! Could you please be more specific about which ROM is a good version. Or could you please attach the ROM file into your github folder?

     I really appreciate your tutorial and look forward to more in the future. Thank you!

Maximus

@simoninithomas
Copy link
Author

simoninithomas commented Jun 23, 2018

Hello @MaximusWudy , thanks for your message 😊

Effectively, you need to import the roms.

I found the roms here http://www.atarimania.com/rom_collection_archive_atari_2600_roms.html, by the way you will not need to rename the files.

You just need to go to the folder were you unzipped your roms and write python -m retro.import . (don't forget the point)

Then, when the roms are imported you will be able to use Atari Space invaders (restart you jupyter notebook).

If you have other questions feel free to ask!

Have a great day,

@MaximusWudy
Copy link

Thank you very much! It amazingly worked. And for more people who have the same issue. Here is a detailed tutorial:

  1. Download zip file from http://www.atarimania.com/rom_collection_archive_atari_2600_roms.html
  2. Open Roms.rar > ROMS.rar and find Space Invaders (1980) XXXXXX
  3. Extract all matches (there are 5 of them) into your destin folder
  4. python -m retro.import . (don't forget the point)
  5. One of them worked! And continue with the amazing tutorial here: https://github.com/simoninithomas/Deep_reinforcement_learning_Course/blob/master/DQN/Space%20Invaders/DQN%20Atari%20Space%20Invaders.ipynb

@Urinx
Copy link

Urinx commented Jun 29, 2018

Thanks @MaximusWudy , I am also studying simoninithomas's tutorial and search for the Atari game rom and finally find this.

@seshuthota
Copy link

Hi, I was also facing same issue. But when i tried to do "python -m retro.import . (don't forget the point)" i was getting Importing 0 potential games, imported 0 games. Can you tell me what i am doing wrong?

@simoninithomas
Copy link
Author

Hi, @seshuthota what game you're trying to import ?

@seshuthota
Copy link

I was trying to import Space Invaders. First i downloaded file from this page http://www.atarimania.com/rom_collection_archive_atari_2600_roms.html

I extracted and inside ROMS folder i found 5 files naming Space Inavders and i copied them to this path
Anaconda3\Lib\site-packages\retro\data\SpaceInvaders-Atari2600 and in the command prompt i tried this command "python -m retro.import" but it is printing "Importing 0 potential games, Imported 0 games". What did i do wrong here?
Did i got the wrong files? i have attached the files that i was copying.
SpaceInavdersGameFiles.zip

@simoninithomas
Copy link
Author

Hi,
Simply unzip the total archive in a folder go to this folder and type python -m retro.import . (dont forget that point !!!)

@bbartling
Copy link

Hi Im struggling with this same thing.. I even tried this process 2 times:

  1. I downloaded these files as posted above http://www.atarimania.com/rom_collection_archive_atari_2600_roms.html
  2. Copied the roms.rar download file to my desktop and right click extract in Linux Mint v18
  3. I have Anaconda 3.6 installed and then right click open in terminal on the new extracted folder python -m retro.import

Importing 0 potential games, imported 0 games

Can someone tell me what I am doing wrong???

@endrift
Copy link
Contributor

endrift commented Oct 18, 2018

You need to add . at the end of the script. It needs a directory name. (I've just pushed changes that let it use files and will search the current directory if no arguments are passed but this isn't in the stable build.)

@bbartling
Copy link

Ok I see now what someone else was attempting to state above in the posts with a .

I added this into my terminal command python -m retro.import . and now I can see a
Importing 4 potential games, imported 0 games

And I still have the same error trying to run Thomas's code :( Any ideas? Thank you...

@samiulextreem
Copy link

you guys need to specify the path you put your files.then run the terminal command.for me it is like python -m retro.import C:\Users\GHOST\Documents\AI_tensorflow\Lib\site-packages\gym_retro-0.6.0.dist-info

hope this helps

@HemaZ
Copy link

HemaZ commented Jan 4, 2019

For Google Colab Notebooks do the following.

! wget http://www.atarimania.com/roms/Roms.rar && unrar x Roms.rar && unzip Roms/ROMS.zip
! pip3 install gym-retro
! python3 -m retro.import ROMS/

@samersallam
Copy link

Very important note:
If the ROM has a .bin extension, rename it to have the correct extension for that system.

.md: Sega Genesis (also known as Mega Drive)
.sfc: Super Nintendo Entertainment System (also known as Super Famicom)
.nes: Nintendo Entertainment System (also known as Famicom)
.a26: Atari 2600
.gb: Nintendo Game Boy
.gba: Nintendo Game Boy Advance
.gbc: Nintendo Game Boy Color
.gg: Sega Game Gear
.pce: NEC TurboGrafx-16 (also known as PC Engine)
.sms: Sega Master System

https://github.com/openai/retro#rom-extensions

@RinshannKaihou
Copy link

Hi @bbartling I'm facing the same issue.

(tensorflow) D:\Anaconda3\Lib\site-packages\retro\data\SpaceInvaders-Atari2600>python -m retro.import . Importing 4 potential games... Imported 0 games

Have you found the reason?

@bbartling
Copy link

@RinshannKaihou no I have not...

@sunnyswag
Copy link

sunnyswag commented Mar 20, 2019

you need cd to fold ....../Roms/ROMS ,and then do the following:

pip3 install gym-retro
python3 -m retro.import

@RinshannKaihou

@angeldroth
Copy link

@RinshannKaihou for me, the solution was using the 1983 space invaders version: "Space Invaders (1983) (CCE) (C-820).bin" NOT any of the 1980 versions. If you copy all 5 space invader titles it reads:

Importing 5 potential games...
Importing SpaceInvaders-Atari2600
Imported 1 games

@iamycee
Copy link

iamycee commented Jun 29, 2019

@simoninithomas Can't we just use gym?
import gym
env = gym.make('SpaceInvaders-v0')

Is there a difference in the gym-retro and gym environments?

@nikhilkaparthi
Copy link

nikhilkaparthi commented Oct 25, 2019

I see no module named retro. Could someone please help

@LucasColas
Copy link

For Google Colab Notebooks do the following.

! wget http://www.atarimania.com/roms/Roms.rar && unrar x Roms.rar && unzip Roms/ROMS.zip
! pip3 install gym-retro
! python3 -m retro.import ROMS/

Didn't work for me...

@MoranReznik
Copy link

For Google Colab Notebooks do the following.

! wget http://www.atarimania.com/roms/Roms.rar && unrar x Roms.rar && unzip Roms/ROMS.zip
! pip3 install gym-retro
! python3 -m retro.import ROMS/

didnt work for me on google colab... dont know what to do.

@MoranReznik
Copy link

Hi,
Simply unzip the total archive in a folder go to this folder and type python -m retro.import . (dont forget that point !!!)

when you say "dont forget the point", do you mean the point between "retro" and "import", and the point after "import" is just for closing the sentence, or do you mean not forgetting the point after "import"? also, shouldn't we specify a path?

@endrift
Copy link
Contributor

endrift commented Jul 3, 2020

The point after import. That is the path.

@dleacock
Copy link

dleacock commented Jul 5, 2020

This is how I solved it.

  1. Downloaded Atari ROMs from here
  2. Extracted to any place. Opened and found "Space Invaders (1983) (CCE) (C-820).bin".
  3. Extracted the file in the same directory as my python script.
  4. python -m retro.import . in the same location where I would run the script.

@adityakusupati
Copy link

Hi,

Thanks for the solution. Any idea what is the license for these ROMs? Stella is on GNU and Retro is on MIT licenses, but I am not sure about the ROMs. I have seen people use these ROMs for publications but I haven't seen the licenses in their codebases.

Any help would be great

@endrift
Copy link
Contributor

endrift commented Sep 12, 2020

There is no license. I'm pretty sure it's copyright infringement to download and distribute them. However, for a good many of them there isn't a real risk due to the IP being old enough that no one really cares or they're in limbo. For newer games it's rougher, which is why when I made the Retro Contest, I promoted the use of ROMs you could buy on Steam without legal concerns.

@adityakusupati
Copy link

Thanks a lot. This helps 👍

@alexeytopolnitskiy
Copy link

For those who struggle to use it in colab:

  1. !wget http://www.atarimania.com/roms/Roms.rar
    Make sure that Roms.rar appeared in files
  2. !unrar x /content/Roms.rar
    There are must be 2 zip archives: ROMS.zip and HC ROMS.zip
  3. !unzip /content/ROMS.zip
    ROMS folder must appear
  4. !pip install gym-retro
    Install retro package
  5. !python3 -m retro.import ROMS/
    Import environments
  6. env = retro.make(game="SpaceInvaders-Atari2600")
    Create environment!

Снимок экрана 2020-10-31 в 23 10 44

@wolfsinem
Copy link

For Google Colab Notebooks do the following.

! wget http://www.atarimania.com/roms/Roms.rar && unrar x Roms.rar && unzip Roms/ROMS.zip
! pip3 install gym-retro
! python3 -m retro.import ROMS/

Change link to http://www.atarimania.com/rom_collection_archive_atari_2600_roms.html . Worked for me

@SAB-6
Copy link

SAB-6 commented Jun 15, 2021

This might help someone working in colab; creating a new directory works for me

! wget http://www.atarimania.com/roms/Roms.rar && unrar x Roms.rar 
!mkdir <new_dir>
!unzip Roms/ROMS.zip -d <new_dir>
! pip install gym-retro
!python3 -m retro.import <new_dir>/ROMS/

@haneensalameh66
Copy link

! wget http://www.atarimania.com/roms/Roms.rar && unrar x Roms.rar && unzip Roms/ROMS.zip
! pip3 install gym-retro
! python3 -m retro.import ROMS/

hey, did you manage to solve this issue with colab ?

@SAB-6
Copy link

SAB-6 commented May 18, 2022

This might help someone working in colab; creating a new directory works for me

! wget http://www.atarimania.com/roms/Roms.rar && unrar x Roms.rar 
!mkdir <new_dir>
!unzip Roms/ROMS.zip -d <new_dir>
! pip install gym-retro
!python3 -m retro.import <new_dir>/ROMS/

This works for me

@haneensalameh66
Copy link

! wget http://www.atarimania.com/roms/Roms.rar && unrar x Roms.rar
!mkdir <new_dir>
!unzip Roms/ROMS.zip -d <new_dir>
! pip install gym-retro
!python3 -m retro.import <new_dir>/ROMS/

unfortunately, it didn't work for me. i had this error message : FileNotFoundError: Game not found: SpaceInvaders-Atari2600. Did you make sure to import the ROM?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests