Ingeniería Inversa "extrema" al clásico Tetris de Nintendo
Este espectacular artículo de ingeniería inversa que puedes ver completo en el enlace original mechanics of how Tetris works, then builds an AI to play the game, explica al detalle el mecanismo del clásico de Nintendo de 1989, Tetris. Para llevar a cabo este análisis, el autor del artículo explora a fondo y con un detalle realmente increíble, la ROM original. Como la NES estaba basada en el microprocesador MOS 6502, toca volver a desempolvar nuestros libros de nuestro querido ensamblador 6502.
El artículo detalla como los bloques (llamados "Tetriminos") son creados y como se mueven por la pantalla. También hace un especial análisis del registro llamado linear feedback shift register, el cual es importante ya que se encargaba se generar los números aleatorios.
Pero el autor no se queda en el análisis de cómo funciona el juego, también nos muestra un algoritmo para programar la IA de Tetris. Esta IA está implementada en LUA y funciona dentro de un emulado de NES llamado FCEUX NES/Famicom. Esta IA evalúa todas las posibles posiciones donde colocar cada nuevo "Tetriminio" eligiendo la mejor basándose en un criterio numérico. Y estos criterios son generados por programa de optimización llamado particle swarm optimization.
Mapa de los "puntos calientes" que utiliza la IA para analizar la posición de las piezas del juego
El código fuente de la AI está disponible y todo lo que necesitas para ejecutarla es gratuito, excepto la ROM de Tetris.
Prepara el bisturí y echa un vistazo a esta espectacular disección de un clásico.
mechanics of how Tetris works, then builds an AI to play the gameVía HackADay
Y como extra, aprovechando que es viernes y que mi gran amigo tuxotron pondrá su documental, después podéis ver este otro sobre el creador del clásico Tetris:
Buscar
Entradas Recientes
- Posts
- Reemplazando la bateria del AirTag
- OpenExpo Europe décima edición, 18 de mayo: El Epicentro de la Innovación y la Transformación Digital
- Docker Init
- Kubernetes para profesionales
- Agenda: OpenExpo Europe 2022 llega el 30 de junio en formato presencial
- Libro 'Manual de la Resilencia', de Alejandro Corletti, toda una referencia para la gestión de la seguridad en nuestros sistemas
- Mujeres hackers en ElevenPaths Radio
- Creando certificados X.509 caducados
- Generador de imágenes Docker para infosec