MarduINO - AI learns to play on an NES

MarduINO - AI learns to play on an NES

    

MarduINO - AI learns to play on an NES

Marduino is an AI that plays Super Mario Bros. on an NES.

MarduINO learns to play by himself with a modified NES controller. First, it finds a sequence of inputs to archive the end of the level, by optimizing a target function, also known as efficiency.

Environment’s simulation

header.PNG

Mario’s IA plays multiples runs in an emulator, with help of Fceux, Lua, and Python. Begining from a sequence of random joypad inputs, it uses an evolutionary algorithm to modify this sequence, thus optimizing efficiency and finally, achieving the sequence of entries that allow reaching the end of the level.

efficiency.png

R.O.B

A modified NES controller is used to play on a real NES. This was achieved by translating the inputs sequence with the best performance to an Arduino language, and interfacing with NES’s controller chip (4021).

4021.png

M1.png M1_top.png

Videos