Git Product home page Git Product logo

minecraft-ai's Introduction

Minecraft AI

Cómo empezar

Disclaimers

Antes de empezar a trastear con este proyecto, ten en cuenta un par de cosas:

  • Únicamente se ha testeado este código en Mac, por lo que puede que no funcione en otros sistemas operativos como Windows o Linux. Siéntete libre de adaptarlo si lo necesitas.
  • Este código se ha hecho por diversión/aprendizaje y puede que haya cosas que no funcionen como se espera. Si encuentras un error, puedes abrir un issue aquí en GitHub o enviarme un mensaje a mis RRSS (@yasminacodes) para que lo revise.
  • Para poder hacer que la IA juegue y se entrene, necesitas tener alguna versión de Minecraft instalada en tu dispositivo.
  • Actualmente, el código no está preparado para utilizar un modelo pre-entrenado, solamente para entrenar nuevos modelos.
  • El programa espera que mientras que la IA esté jugando no se toque el ratón ni el teclado, ni se cierre o minimice la ventana del Minecraft, por lo que no podrás utilizar tu pc mientras estés ejecutando este código (puedes pararlo en cualquier momento).

Librerías

Este proyecto utiliza Python 3 (testeado con la 3.9.6) utiliza las siguientes librerías:

  • opencv-python
  • numpy
  • tensorflow
  • keyboard
  • pyautogui
  • random2
  • pytesseract
  • imutils
  • Pillow
  • tk
  • pyobjc-framework-Quartz
  • pyobjc-framework-Cocoa

Para instalarlas, es recomendable que inicies un entorno virtual de python. Puedes hacerlo ejecutando el siguiente código en un terminal:

pip3 install virtualenv # para instalar el paquete  
cd carpeta/del/proyecto/  # para ir a la carpeta del proyecto
python3 -m venv nombre_del_entorno # para crear el entorno virtual  
source nombre_del_entorno/bin/activate #para activar el entorno virtual  

Para instalar las librerías, utiliza el archivo requirements.txt: pip3 install -r requirements.txt

Programa

Una vez que tengas todas las librerías instaladas y con el entorno virtual lanzado (en caso de que lo hayas creado), simplemente ejecuta el archivo main escribiendo en un terminal:

cd carpeta/del/proyecto/
sudo python3 main.py # El código necesita permisos para temas de accesibilidad, como capturar la pantalla o utilizar el teclado/ratón

Tras lanzar el programa, tardará unos momentos en configurar los parámetros iniciales del modelo y, después, emitirá un mensaje indicando que se debe seleccionar la ventana que vamos a capturar, en este caso la del Minecraft con la partida ya abierta (hacemos click encima de la ventana con el ratón para seleccionarla) y pulsamos la tecla c en nuestro teclado para que el programa empiece a capturar frames.

A partir de aquí, no debemos cerrar ni minimizar la ventana del minecraft ni tocar el teclado/ratón hasta que el programa termine. Si queremos cerrar el programa de forma anticipada, podemos hacerlo seleccionando el terminal en el que se haya lanzado y pulsando CTRL+C.

Un ko-fi? :)

Espero que el proyecto te resulte interesante! Si es así y te gustaría colaborar para que pueda seguir compartiendo proyectos como este, puedes regalarme un cafecito: ko-fi.com/yasminacodes

minecraft-ai's People

Contributors

yasminacodes avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.