Los N-gramos son populares aquí. La idea básica es mantener una lista de movimientos que el jugador ha realizado. Luego puedes, dados los últimos N movimientos del jugador, calcular el porcentaje de probabilidad de cuál será su próximo movimiento.
Tu juego debe tener una base de datos de contadores y bloques efectivos para cada movimiento.
Para los modos ofensivos en la IA, aún puedes modelar jugadores básicos para determinar qué ataques ha tenido más problemas para bloquear o contrarrestar, y reutilizarlos.
Para la dificultad de IA, simplemente reduce la IA en niveles más fáciles. El peor modo de IA podría invertir opciones (es decir, si sabe que el jugador generalmente bloquea los golpes, tiene un canal más alto que uno más bajo para lanzar un golpe). El modo de mayor dificultad usaría el algoritmo no discapacitado, y es probable que le gane al jugador.
Si buscas hacer que el juego sea más divertido, también te recomiendo agregar personalidad a la IA. Algunos personajes pueden burlarse más, algunos pueden ser más defensivos que ofensivos, etc. Los jugadores disfrutan de poder atribuir inteligencia humana a los personajes de IA.