Comments (3)
Ah, my thought is that you're running the environment without refining the action space (which is required as of 3.0.0 due to a new emulator in the back-end). Assuming you're looking for the standard action space similar to what is in 2.3.1 (not exactly the same), you'd need to refine your template to include a BinarySpaceToDiscreteSpaceEnv
wrapper from the nes_py.wrappers
package and pass in the SIMPLE_MOVEMENT
action list from gym_super_mario_bros.actions
:
from nes_py.wrappers import BinarySpaceToDiscreteSpaceEnv
import gym_super_mario_bros
from gym_super_mario_bros.actions import SIMPLE_MOVEMENT
env = gym_super_mario_bros.make('SuperMarioBros-v0')
env = BinarySpaceToDiscreteSpaceEnv(env, SIMPLE_MOVEMENT)
done = True
for step in range(5000):
if done:
state = env.reset()
state, reward, done, info = env.step(env.action_space.sample())
env.render()
env.close()
This is because the nes_py
emulator allows the full range of 256 discrete actions on an NES joypad by default, and thus requires tuning to more realistic action spaces.
gym_super_mario_bros.actions
defines three action lists (though you're welcome to create your own):
Name | Movement |
---|---|
RIGHT_ONLY |
the agent can only run/walk/jump right |
SIMPLE_MOVEMENT |
the agent can do everything from: right only, walk left, and jump in place |
COMPLEX_MOVEMENT |
the agent can do everything from: simple movement, run/walk/jump left, and press down (enter pipes). |
Hopefully this addresses your issue!
NOTE 3.0.0 has a serious bug as noted in #49, proceed at your own risk with this version. Might be best to wait until #49 is resolved - in 3.0.1 - to move up from 2.3.1. Hopefully that bug will be addressed sometime this week / week-end.
from gym-super-mario-bros.
Allright good to know, thank you for your fast reply!
You should probably document this, since it took me several hours to find out that it was an issue which only happened in the latest Version ;)
from gym-super-mario-bros.
Sorry for the confusion! I had meant to fix that bug much earlier, but got locked up with some work projects. However, I believe I have resolved the bug as of versions 3.0.3. Feel free to upgrade now, as >v3 uses a new back-end that is much much faster and should cut down training time considerably. Closing this issue as I believe it is resolved.
from gym-super-mario-bros.
Related Issues (20)
- Can't install on M1 MacBook? HOT 4
- exception: access violation reading 0x000000000003C208 HOT 3
- Kindly ask how to produce augmented roms? HOT 1
- SuperMarioBros-v3 environment color conflicts HOT 2
- just got many errors at gym_super_mario_bros HOT 1
- x_pos value unexpectedly drops while it shoud be increasing (Mario still moving to the right) HOT 2
- KeyError: 'render_modes' raised by gym_super_mario_bros.make('SuperMarioBros-v0') HOT 4
- Sample screenshot from random state HOT 1
- `unexpected keyword argument 'stages'` when I want to play the game with keyboard HOT 5
- Incorrect number of arguments from call to env.step(action) HOT 5
- Which action can make the little man jump up to the hightest green pip in the first world? HOT 1
- how to get the mario's position in the rended picture HOT 1
- error while trying to install nes-py HOT 1
- osError after updating python
- Why there doesn't have a function that could set Mario to a certain x-position?
- How to play all stages in `SuperMarioBros-v0` but using models trained in separate stages? HOT 1
- Update step function in nes_env.py HOT 3
- CMD code problem
- env has already been closed
- Random (or predefined) Mario initial position in stage
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gym-super-mario-bros.