-
Notifications
You must be signed in to change notification settings - Fork 528
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
Instructions for Adding New Games/States #33
Comments
First, as savestate formats are volatile, you need to use the right version of the Genesis Plus GX libretro core: https://github.com/libretro/Genesis-Plus-GX/tree/f66bcb1e780acdcced95a05e04550bb8a91c1850 -- you can just copy the .dll from retro/cores to wherever your libretro frontend (e.g. RetroArch) looks for cores. Second, we are working on providing instructions on doing all of this in depth, but it won't be ready for a few weeks. |
This works. Thanks so much! |
hi @endrift! UPD: I finally get it work, but with strange artefacts: UPD: finally, it works! I started all over again and it worked. Looks like I had a corrupted rom. |
How to install your own Game and States in Retro:Note that these instructions are written for version 0.5.4 of retro and are thus likely to break as the repo changes and becomes more stable
You should now be able to run the example Agent script: https://github.com/openai/retro/blob/master/examples/random_agent.py by passing in the name of your game (E.g. “StreetFighterII-Genesis” and (potentially) the state name “MyState”). Some of these steps are likely not needed, but I put them here because I don’t want to bother trying out what is and what isn’t important. |
Hi @MaxStrange I tried to do that but failed at saving the states. Even tried to save a new state to an already playable game(Streets of Rage). How do ou save the state? Tried: Also tried to change name after gzip. Did i make any noticable mistake? Random_agent runs for about 8 frames |
Odd that it works for 8 frames and not just not at all. You are certain you are using the right .dll or .so? If the state can be loaded (before gzipping) into RetroArch using the same shared lib that this repo is using, it should work fine. Are you confident that the .dll/.so you are using in RetroArch is the same one that your installed retro is using? Another thing to worry about is that you may need to define a 'done' in the scenario.json, which will likely involve digging around in the RAM of your target game (I recommend BizHawk for this). |
I copied the .dll from Gym-Retro to retro/cores and managed to get the game running in Retro. It runs well, but I guess I will have to dig through the RAM to define "done". Any idea how can I learn to do that with BizHawk? |
This link has some pointers, but honestly the BizHawk toolset for this purpose is top-notch. Just download the BizHawk emulator, run the ROM in it, then tools->Ram Search. Play around with it to get the hang of it. Things to note:
|
It worked! You explained very well, going to put a "Special thanks to MaxStrange" on my project. Thanks for helping a newbie! |
Official instructions are now on the https://github.com/openai/retro/tree/develop branch. Check https://github.com/openai/retro/blob/develop/IntegratorsGuide.md |
Great instruction!!! Thanks!!
UPD: These directories become available after first run on RetroArch. |
Unfortunately, I have issue with loading saved state. I've tested it and it works in RetroArch. But when I start learning process it runs game from the beginning and ignoring my new state. |
I have the same problem as the previous post |
Still nobody can help?) |
Thanks for the instruction. btw, same as all you guys, I also have an issue with loading state via
|
Issue summary
There is no documentation that I can find that explains how to add new games or new states.
By copying the site-packages/retro/data/SonicTheHedgehog-Genesis folder structure with a different ROM, I can get that ROM to show up as a game choice in retro.
The README file in this repo explains that states are just emulator states, but gzipped. But when I use Genesis Plus GX to save state and then gzip and copy that state into the folder I created above, the state can get loaded but it does not seem to work.
For example, when using SonicTheHedgehog-Genesis and saving a state in the GreenHillZone-Act1 stage, and then gzipping and putting that state into the SonicTheHedgehog-Genesis folder, I can load the state, but an agent cannot seem to control it.
Details on the emulator core used (and version) and steps taken to produce a working state file would be much appreciated for those trying to add new games or states to retro.
System information
The text was updated successfully, but these errors were encountered: