#VS2017 – Agentes de interacción con el juego, misiones y grabación en #Minecraft con #ProjectMalmo

Buenas!

Voy a escribir algunos posts sobre Project Malmo, Minecraft y Visual Studio 2017. Como todavía no tengo muy en claro el orden en el que hare los mismos, los iré escribiendo y actualizando sobre la marcha.

Pues bien, una vez que tenemos instalados todos los prerrequisitos y Apps necesarias para poder trabajar con Visual Studio 2017 y Minecraft, es momento de comenzar a comprender algunos conceptos básicos sobre como programar contra el juego.

Todo comienza con la creación de un AgentHost() que es el objeto principal para realizar la comunicación de comandos entre una .Net App y Minecraft. Lo siguiente que debemos realizar es definir el entorno en el que queremos interactuar, a esto lo definimos como una misión con el objeto MissionSpec(). Un par de detalles importantes aquí es que podemos definir la duración de la misma y la resolución con la que queremos trabajar (líneas 17 y 18).

Si además queremos tener una grabación de cada uno de los pasos que se realizan en nuestro juego, además de varios logs de ejecución, podemos utilizar un objeto del tipo MissionRecordSpec() para esto. El único paso necesario en este punto es comenzar la misión (líneas 21 a 27) donde podremos ver algo similar a lo siguiente

2017 11 08 Malmo 01

Un par de detalles a tener en cuenta cuando el juego está en ejecución

  • Minecraft debe cargar el entorno de juego, con lo que debemos esperar a que el mismo este habilitado. Un ejemplo sobre cómo hacer esto se puede ver en las líneas 29 a 38
  • También es importante controlar el tiempo en el que la misión este en ejecución. Líneas 41 a 48

Sample Source Code

Saludos @ Toronto

El Bruno

References

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s