Buenas!
Hoy voy a explicar algunas de las configuraciones que Podemos definir en los archivos de mision. El ejemplo de archivo esta al final. Por ejemplo:
- La línea 21 define el nombre del Agente
- El elemento <AgentStart/> define la posición inicial del agente.
La siguiente imagen muestra como al definir un valor alto en el eje Y, pues nuestro agente muere a los pocos segundos
Otro elemento interesante es [ServerSection // ServerInitialCondition] donde podemos definir el clima del mod (línea 12). Los valores soportados son normal, clear, rain y thunder.
Las opciones son muchas, lo mejor es dedicarle un poco de tiempo a la definición de Mission (ver referencias) y conocer un poco las opciones que nos ofrece Minecraft.
Por ejemplo, en la sección [Mission // ServerSection // ServerInitialConditions // Time // StartTime] es posible definir la hora del dia en la que se iniciara la misión.
Los posibles valores se miden en base a esta tabla
- 0 = dawn
- 6000 = noon
- 18000 = midnight
<?xml version="1.0" encoding="UTF-8" standalone="no" ?> | |
<Mission xmlns="http://ProjectMalmo.microsoft.com" xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance" xsi:schemaLocation="http://ProjectMalmo.microsoft.com Mission.xsd"> | |
<About> | |
<Summary>El Bruno Sample Mission from Xml definition</Summary> | |
</About> | |
<ServerSection> | |
<ServerInitialConditions> | |
<Time> | |
<StartTime>1000</StartTime> | |
<AllowPassageOfTime>false</AllowPassageOfTime> | |
</Time> | |
<Weather>clear</Weather> | |
</ServerInitialConditions> | |
<ServerHandlers> | |
<FlatWorldGenerator generatorString="3;1*minecraft:lava,1*minecraft:bedrock,7*minecraft:dirt,1*minecraft:ice,1*minecraft:grass;2;mineshaft(chance=0.01),lake"/> | |
<ServerQuitFromTimeUp description="" timeLimitMs="10000"/> | |
<ServerQuitWhenAnyAgentFinishes description=""/> | |
</ServerHandlers> | |
</ServerSection> | |
<AgentSection mode="Survival"> | |
<Name>Valentino</Name> | |
<AgentStart> | |
<Placement pitch="0" x="0.5" y="227.0" yaw="0" z="0.5"/> | |
</AgentStart> | |
<AgentHandlers> | |
<ObservationFromFullStats/> | |
<VideoProducer want_depth="true"> | |
<Width>640</Width> | |
<Height>480</Height> | |
</VideoProducer> | |
<ObservationFromGrid> | |
<Grid name="floor3x3"> | |
<min x="-1" y="-1" z="-1"/> | |
<max x="1" y="-1" z="1"/> | |
</Grid> | |
</ObservationFromGrid> | |
<ObservationFromRay/> | |
<ObservationFromNearbyEntities> | |
<Range name="NearbyEntities" | |
xrange="10" | |
yrange="10" | |
zrange="1" | |
update_frequency="1"/> | |
</ObservationFromNearbyEntities> | |
<ContinuousMovementCommands turnSpeedDegs="180"/> | |
</AgentHandlers> | |
</AgentSection> | |
</Mission> |
Sample Project en GitHub link
Saludos @ Toronto
El Bruno
References
- El Bruno, Sample ConsoleApp to initialize missions in Minecraft using an Xml file definition
- El Bruno, Definition of Minecraft missions in Xml format
- El Bruno, Minecraft game interaction agents, missions definitions and recording with Project Malmo
- El Bruno, Learning to code with Minecraft? start with Hour of Code, MakeCode and Project Malmo
- Malmo, GitHub Home
- Malmo Mission Xml Schema
- Malmo Mission Xml Weather
- Superflat Preset Generator