Таким же образом можно запрограммировать ботов и для других игр?
Естественно. Нужно знать логику игры и реагировать на изменения в памяти и т. п. Вообще, это в первую очередь для отладки, там уже есть скрипт для отображения спрайтов, а я делал перемещение персонажа мышкой (просто положение мыши записывал в положение в RAM) для быстрого прохождения уровня

Можно общаться с внешними программами, поэтому возможно добавление, например, вибрации (хотя она реализована через читы в RetroArch).
В этой игре одинаковые уровни (я только первые несколько видел), поэтому определил зоны, где можно прыгать, у хороших ботах была бы реализована общая стратегия с принятием решения. В других играх будет сложнее, например, чтобы перепрыгнуть правильно платформу пришлось бы рассчитывать положение, высоту прыжка и т. п. Здесь же даже прыжок неуправляемый.
Поддержка Lua скриптов есть у других эмуляторов, например BizHawk, но там функции другие, конечно.