I just recently found a very interesting site. Some people implemented super mario in Java, and then held a competition for who could write the best mario AI:
A great example of one of the top AIs is here:
This AI follows the mouse on screen, while keeping mario alive.
This website and video got me thinking: Wouldn’t it be great if we could have such a competition for street fighter? It would be really interesting to see who can write the best Ken AI, or the best Zangief AI. Can players beat the best Ryu AI? What happens when the best Ryu AI plays the best Chun Li AI? I think this would be fun and interesting. So I thought I’d bring this up here since we have some talented devs (cannons, damdai, others) that might have ideas on how to get started.
Off the top of my head, the best place to get started would be the ST rom. We’d want to expose an interface with game state. At a bare minimum: health of each player, meter of each player, and time. Ideally we’d also get: players attack hitboxes, players vulernable hitboxes, and states like is_airborne, is_blockstun, etc…
How could we go about exposing these interfaces? Perhaps player health, player meter, and game time is always stored in the same location in memory and that can be scanned?
Any ideas on how to go about this? Thought? Comment? Suggestions?