5 ms·
The key to making an fighting game AI API interesting is enforcing the same reaction delays humans have, from decision making to input, which is roughly 250-300
by and0 10y ago
The key to making an fighting game AI API interesting is enforcing the same reaction delays humans have, from decision making to input, which is roughly 250-300ms, if I remember correctly (your nervous system from brain to fingers has pretty high latency).
That delay time is what well-made fighting games are designed and balanced around. If you forced the AI to create inputs that would get processed however many milliseconds later they would actually have to start predicting their opponents, seeking hit confirms, etc.
If you don't enforce any sort of delay, making an unbeatable AI should be trivial.
- lsaferite 10y agoI was just contemplating a fighting game AI that actually had to use computer vision to process the game framebuffer and work off of what it can see as well.
- chillindude829 10y agoHasn't this been done already? IIRC there have been some machine learning AIs that use raw pixels as observations.
- animal531 10y agoIn this case I think it is an easy thing to implement. Currently the system seems to pick up any moves you do immediately, e.g. a fireball, and then chooses a script based on that + the extra factors. One could just alter this process and insert a timed delay before this move becomes visible to the AI and it chooses a new yoke response. You could also increase this time as AI skill goes down, although at e.g. 500ms it will begin to seem to a human as if the AI is dumb, reacting to things 250ms in the past. At this point you'd probably get a more playable and good looking AI by 1. adding more variance per delay, based on the skill level 2. having it fail a vision by inserting random moves into its perceived list (for example it think you're going to jump kick when you're only jumping) 3. by occasionally randomly deleting vision items, which will make it miss things that the player is doing