I just recently learned about MAME's LUA capabilities and I would like to conduct a deep reinforcement learning project. I'd like to attempt to create an AI agent for the Tekken arcade games that can be emulated by MAME (1,2,3,TAG).
The LUA engine has many helpful methods to help me exact game state information every timestep , by what I've seen, like reading memory and register locations as well as screen pixel values and even drawing an interface on screen. There are also methods to give action commands to the emulator, I believe.
I can't find much documentation on the LUA engine, but I'll need some way to have my LUA script communicate with a Python AI agent. LUA Socket seems to do the job, which allows me to pass data to sockets for the Python program to receive and then send one of the possible actions back to the script. I'm not sure if LUA libraries can be combined with MAME's LUA engine.
The other thing I'd need is a way to find the game's memory cells that holds useful information about the game's state like players chosen, remaining health, score, time remaining etc.. Not sure if something like cheat engine can help me or if MAME has some tool for finding memory locations.
Thanks in advance!