Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Jul 15 10:15
    Howuhh commented #896
  • Jul 06 12:33
    martkartasev commented #876
  • Jul 06 12:33
    martkartasev commented #876
  • Jun 23 03:32
    t3dodson closed #910
  • Jun 23 03:32
    t3dodson commented #910
  • Jun 20 11:01
    debian-user-france1 edited #912
  • Jun 20 11:01
    debian-user-france1 opened #912
  • Jun 20 10:36
    debian-user-france1 edited #911
  • Jun 20 10:36
    debian-user-france1 opened #911
  • Jun 18 09:42
    t3dodson commented #910
  • Jun 18 09:35
    t3dodson commented #910
  • Jun 18 09:15
    t3dodson opened #910
  • Jun 01 22:40
    saadiqks closed #909
  • May 05 13:37
    CocoTheOwner commented #547
  • May 04 15:47
    AlessandroSigna commented #547
  • Apr 23 05:28
    saadiqks opened #909
  • Apr 19 06:22
    dpaetzel commented #905
  • Apr 18 18:42
    rosejn commented #905
  • Apr 09 05:25
    ForrestZeng1 commented #907
  • Apr 07 07:52
    morg0th edited #908
Zherui-Liu
@Zherui-Liu
I've install malmo in my windows10 system by "pip3 install malmo"
And I can also import malmo in python
image.png
image.png
Zherui-Liu
@Zherui-Liu
OMG~I fix it. THANKS
Andre Kramer
@AndKram
@seanysull You can ask for depth observations from a video producer.
PlatinumNinja72
@PlatinumNinja72
Hello all,
I'm looking to base my own evolution simulation on the Malmo project base, but I need to know a few things before setting out:
Firstly, due to the continuous nature of my simulation I would need to be able to add new agents during the simulation that may not be defined before the start. Is the AgentSelection definition too rigid for this to occur?
PlatinumNinja72
@PlatinumNinja72
Second, if it turns out that you must define every agent at the time of initialization, must all clients be connected before the environment can begin? If I were to define 20 clients, but only use 15 at the beginning of the simulation, would I be able to introduce the rest at a later date?
Thank you in advance!
Andre Kramer
@AndKram
@PlatinumNinja72 Currently all the agents are declared in the mission XML (as you observe) and the mission startup waits for all of them to turn up. I'd also add that the agents are relatively heavy weight as each requires an instance of Minecraft to be running and failures result in missions ending so having as many as 20 agents could be somewhat problematic.
Isak Falk
@IsakFalk

Hello, I'm trying to launch a malmo gym environment from a headless server. I've tried to install various xorg packages and currently are trying to instantiate a monitor emulator (I think) with the command Xvfb :1 -screen 0 800x600x16 & but when trying to instantiate a gym environment (MineRLNavigateDense-v0) I get the following error

java.lang.ExceptionInInitializerError
    at net.minecraft.client.Minecraft.setWindowIcon(Minecraft.java:670)
    at net.minecraft.client.Minecraft.init(Minecraft.java:467)
    at net.minecraft.client.Minecraft.run(Minecraft.java:387)
    at net.minecraft.client.main.Main.main(Main.java:118)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97)
    at GradleStart.main(GradleStart.java:26)
Caused by: java.lang.RuntimeException: org.lwjgl.LWJGLException: Could not open X display connection

After this, the python throws an error and says

RuntimeError: ERROR! MineRL could not detect an X Server, Monitor, or Virtual Monitor! 

In order to run minerl environments WITHOUT A HEAD use a software renderer such as 'xvfb':
        xvfb-run python3 <your_script.py>
    ! NOTE: xvfb conflicts with NVIDIA-drivers! 
    ! To run headless MineRL on a system with NVIDIA-drivers, please start a 
    ! vnc server of your choosing and then `export DISPLAY=:<insert ur vnc server #>

If you're receiving this error and there is a monitor attached, make sure your current displayvariable is set correctly: 
         DISPLAY=:0 python3 <your_script.py>
    ! NOTE: For this to work your account must be logged on the physical monitor.

If none of these steps work, please complain in the discord!
If all else fails, JUST PUT THIS IN A DOCKER CONTAINER! :)

But I'm trying to get this to work through a docker image which serves a jupyter notebook (since we are doing a tutorial on RL). Does anyone have any idea on how to make the docker image start an x-server correctly?

I'm a bit over my head with this, so sorry if the solution is simple.

Andre Kramer
@AndKram
@IsakFalk You might want to look at the docker examples in https://github.com/microsoft/malmo/tree/master/scripts/docker. There's one (https://github.com/microsoft/malmo/tree/master/scripts/docker) that installs VNC so that you can view it remotely. There are instructions how to run and connect to it near the end of https://github.com/Microsoft/malmo/blob/master/scripts/python-wheel/README.md.
Isak Falk
@IsakFalk
@AndKram Thanks Andre, I found the repo and it's working now.
Conman03
@Conman03
how do you run the xml files?
Andre Kramer
@AndKram
Which xml files do you mean?
TJian
@tjtanaa
Could I know is there a way to retrieve the size of the Minecraft World created? I would like to reproduce the whole world as a symbolic view similar to what has been done in the Microsoft Malmo: ai-challenge:PigChase in the environment. However, the world that I would like to visualize is larger and the world size is unknown.
Shreyas Lad
@PenetratingShot
Well the default world size is known
Thiago Martins
@tmartinx
Hey guys! I'm trying both Minecraft and Malmo for the first time ever! I think that I have everything installed, I can run python3 tutorial_1.py and see the agent "doing nothing". Then, I followed "3 Get moving" from Tutorial.pdf, the agent does move but, there is an error: "Error: AgentHost::sendCommand : commands connection is not open. Is the mission running?", is it normal?
I added the "move lines" within the while world_state.is_mission_running: loop.
I'm also seeing that this chat is kinda empty... Is there a more active channel?
Thiago Martins
@tmartinx
tutorial_6.py is awesome!!! LOL
Shreyas Lad
@PenetratingShot
ok
saeeddev
@sa-js
Richsl
@Richsl

What's the deal with Malmo vs MalmoEnv? The github readme suggests that MalmoEnv " will most likely be the preferred way to develop with Malmo Minecraft going forward." So I should follow on from MalmoEnv examples when starting new? Is MalmoEnv like Malmo v2.0? I'm want to do a more rules based AI, not reinforcement OpenAI. So if I use Malmo I can get an observation grid using something like
msg = world_state.observations[-1].text
observations = json.loads(msg)
grid = observations.get(u'floor3x3', 0)

But in MalmoEnv it uses obs = comms.recv_message(self.client_socket) and then obs = obs.reshape((self.height, self.width, self.depth)).astype(np.uint8) to return a long array as the observations, I can't find any examples of how to parse this array so that my agent can know what blocks are around it. I feel like I might be missing something fundamental about how Malmo and MalmoEnv work together.

DavidLegg
@DavidLegg

Hi everyone! I ran into the issue with bedrock being destroyed by discrete movement commands, as mentioned in David Bignell's post from Jan. 2018:

To get back to your original question - making certain blocks indestructible - in theory, players in survival mode can't break bedrock blocks, so you could use bedrock for your indestructible blocks...

Just wondering: Have there been any updates on this behavior? Maybe a flag I could set rather than the continuous-attack workaround he mentioned?

I have an agent that's learning how to dig, and manages to dig out of the world on a regular basis...
Jesse English
@jesseenglish_gitlab
Hi all - I'm new to malmo and am trying to sort out what command to issue to the agent to have it press a button that it is facing. It seems like the discrete command "use 1" should be the right one (when there is nothing in the agent's hand), but it doesn't seem to have any effect. If I take control of the agent and right-click the mouse, the in-game button is pressed as expected. Does anyone know what the correct command to send should be for this effect? Thanks!
James Boggs
@JBoggsy
The Minecraft server seems to be broken for me, since it sends every byte it receives from comms.py to the SAX XML Parser. I replied to an existing issue on the topic here: https://github.com/microsoft/malmo/issues/848#issuecomment-554037484. I would definitely appreciate some help on the matter, though it seems like the devs have pretty much abandoned this.
Jason
@liulhs
Hi! I'm new to malmo and I want to provide my agent with splash damage potion for a combat game, but all I can find in the XML Schema are regular potions. How can get a specific kind of potion for my agent, can I do it through the InventoryItem section in the XML file? Thanks!
hongminy
@hongminy
Hi there. I'm quite new at using this platform so this question is likely very easy. I'm working on an end of term project for my AI class... I need to reference the Damage Taken by my agent. My damageTaken value does not reset to 0 when a new mission starts, it is the value from last mission so I tried to call clear() at the beginning of the mission but it does not work. Any one know how to reset observations?
Joseph Kready
@Josephkready
@Richsl Have you looked at part 9 of the tutorial.pdf? https://microsoft.github.io/malmo/0.17.0/Python_Examples/Tutorial.pdf
Nishanth J Kumar
@NishanthJKumar
@seanysull_gitlab I had the exact same issue you described (i.e, the 'boost_python' static library was not found. I changed the CMakeLists.txt to 'python3' (because this was indeed what the libraries were named as it turns out, just as Andre said), and it built. Most of the tests from ctest seem to be passing just fine (in fact, only tests 7 and 8 failed), but it seems that things work fine in general. I used a newly-created Conda env with Python 3.6 and am able to run the tutorials from install/Python_Examples just fine.
AtomProgramm
@AtomProgramm
Hi, I'm new to malmo.If it’s not difficult, tell me how to activate spawn mobs as in normal survival?
Tasos Tai
@maotaitas
Hello, is there a way to give an agent reward only if facing and touching the block? I thought about AgentQuitFromReachingPosition (to quit when around block and facing it), however the Marker doesn't take yaw as argument.
Akshay Sharma
@akshay-sharma1995
Hey, I am new to Malmo. I am looking for some mods for Malmo which allows me to change colors or texture of blocks on a per block or group of block basis rather than changing the appearance throughout the world. Can someone point me to such a mod, or some way to do that in Malmo. Thanks.
Jesse English
@jesseenglish_gitlab
Hi all - does anyone know how (or if it is possible) to use ObservationFromGrid and to obtain color information on relevant blocks (e.g., to get more detail than just "wool", such as "pink wool")? I see that color information is in the schema, but I'm not sure how to extract that from the observation. Thanks!
Vidhi Jain
@vidhiJain
Hi, I am not getting commands like "move 1" in Malmo where the agent is specified with DiscreteMovementCommands and the mission is loaded from a saved world in Minecraft. Has anyone encountered this before? Initially, I thought that the time span for this is too less to observe change in block coordinates, so I ran the same action ~100 times in a for loop, but in vain. Any ideas on how to fix this?
The commands like "turn 1" and "turn -1" work fine by producing 90 degrees rotation clockwise or counterclockwise respectively.
Tasos Tai
@maotaitas
@vidhiJain your starting position should be in the middle of the block. e.g 30.5 instead of 30.
Vidhi Jain
@vidhiJain
@maotaitas sounds good, thank you!
tytty89
@tytty89
Hey has anyone had any success running multi-agent environments with Malmo0.36?
Jonathan Balloch
@balloch
Hey all, is there any way to get specifically the list of entities that are currently in view? Right now I am simply calculating what is in view by using the agent world pose, assuming the camera parameters, and then backing out what is probably in view based on the world coordinates for the entities in the schema, but it is rather unstable (including a lot of entities that aren't in view, missing ones that are, etc)
any ideas?
@tytty89 yes, it should work. don't forget to spawn as many game instances as there are agents. Try the "MultiMaze" example. its pretty straightforward
tytty89
@tytty89
@balloch Thanks, I've run two game instances but when I run the second agent using "python multimaze --role 1", Both Minecraft screens go blank white and become unresponsive.
kct456
@kct456
@balloch I would be interested in knowing if there is a way to extract information about entities in view. Currently, I am training a nn on labeled images of the ender dragon. However, the dark sky of the ender makes it difficult for the model to actually recognize the dragon itself. Being able to directly extract what entities are in view would make it much easier. If you weren’t able to find that option, you might have to do the same: check out Darknet YOLO
Jonathan Balloch
@balloch
@kct456 Oh very cool! my code is just hot garbage and not fully functional at this point because this is for a secondary feature of my approach, hence why I am asking (and if anyone else has a cleaner solution of how to get entities in the view cone I'm all ears). That being said, I don't know if you could get pixel locations for the ender dragon. I think the best that the entity data can give you is a bounding cuboid, or maybe even just pose. Can anyone else validate this?
tytty89
@tytty89
I have been able to run the two_digger example fine, but two clients for MultiMaze becomes unresponsive when adding the second client. Does anyone have an idea what the problem could be?
Rohan R Paleja
@rohanpaleja27
@tytty89 they should automatically launch to different ports but if they aren't, that can cause an issue.
I am trying to program some agent behaviors (chop nearest tree etc.). Anyone know a good repo with robust functions that have these capabilities?