Coder Social home page Coder Social logo

gungeon_bot's Introduction

gungeon_bot

Bot con el cual pretendo pasar el juego Enter The Gungeon.

Ejemplo extracción caract

Funcionamiento

  1. Se genera una pantalla virtual donde inicia el juego y enviar acciones.
  2. Se extraen capturas de pantallas.
  3. Diversos procesos independientes capturan diversas características
  4. Un proceso limpia posibles errores dado los valores en el tiempo
  5. Dado el estado actual generar una acción.
  6. La acción es enviada mediante la librería pyautogui.

Específicos:

Pantalla virtual

Para evitar congelar la pantalla actual y facilitar la prueba del sistema se utiliza una pantalla virtual. Esto es posible mediante xvfb el cual permite generar pantallas virtuales. Luego manejando la variable de entorno DISPLAY se puede enviar procesos a esa pantalla. Es posible visualizar e interactuar con esta pantalla mediante vnc o dejarla en background para mayor desempeño.

Capturas de pantalla

Existen diversas formas de conseguir capturas de pantalla, pero la mayoría son demasiado lentas para esta aplicación. Por lo tanto fue necesario interactuar directamente con X11 mediante las librerías en C++. Mediante este método se logran extraccion de imagenes a tasa de 100 fps.

Extraccion de caracteristicas

Para las características estáticas (vidas, balas, ubicación mira) se utilizan técnicas clásicas de procesos de imagenes. Se toma un trozo del patrón a buscar y luego se usa esta para convolucionar con la entrada, las áreas con respuesta mayor a 0.8 se consideran como candidatos.

Este método no funciona con los personajes los cuales tienen diversas animaciones. Para detectar a estos se utiliza una red convolucional entrenada para ubicar posibles enemigos. Mayores detalles en clf_images.

Rectificación en el tiempo (TODO)

Para la rectificación en el tiempo se utiliza los valores en el tiempo y se utiliza RANSAC.

Cálculo de acciones

TODO

gungeon_bot's People

Contributors

aferral avatar

Stargazers

 avatar Mauricio Romero avatar

Watchers

James Cloos avatar  avatar

Forkers

r2d2m

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.