minerllabs / minerl

MineRL Competition for Sample Efficient Reinforcement Learning - Python Package
http://minerl.io/docs/
Other
685 stars 154 forks source link

How to get more `obs` information from `env.step()`? #755

Open GF-Huang opened 6 months ago

GF-Huang commented 6 months ago

Just like MineDojo OBSERVATION SPACE:

Our observation space mainly includes nine parts: (1) egocentric RGB frames, (2) equipment, (3) inventory, (4) inventory change, (5) voxels (surrounding blocks), (6) life statistics, (7) location statistics, (8) nearby tools, and (9) damage source. We elaborate the privileged lidar observation in Privileged Observations.

I want to make custom reward function, so I need above obs information, but I prefer to MineRL's action space which more like human.

Is there any easy way to get more obs information without modify the Java source code?

Miffyli commented 6 months ago

Hey. Unfortunately not there are no easy ways to modify the Java code to give this information. However you could look at other projects that cite MineDojo paper if any of them did this, e.g. JARVIS-1. As far as I understood they might have an environment that is a combination of MineDojo and the MineRL-v1.0.

KarolisRam commented 6 months ago

check the info part returned by acting in the HumanSurvival env, it has at least some of the things you're looking for - coordinates, inventory and some more. Some of them (like life) are returned, but don't actually work though the last time I checked.