Автономное тестирование Super Mario с использованием моделей поведения

Статья углубляется в методы автономного тестирования, используемые в Super Mario Bros., применяя подход с моделью поведения. Это продолжение текущей серии, направленной на совершенствование автономной игры и прохождение уровней без человеческого вмешательства. Основное внимание уделяется использованию генератора ввода на основе мутаций, который изменяет биты во входных данных, создавая разнообразные сценарии для тестирования реакции игры, выявляя крайние ситуации, которые могут оставаться незамеченными при традиционном тестировании.
Вот фрагмент кода из методологии:
import mario
import random
def generate_input(starting_byte, flip_probability, input_length):
input = []
next_byte = starting_byte
for _ in range(input_length):
for j in range(8):
if random.random() < flip_probability:
next_byte ^= (1 << j)
input.append(next_byte)
return input
Этот подход разработан для имитации реалистичного игрового процесса, позволяя определенным клавишам оставаться нажатым на протяжении нескольких кадров, подобно тому, как игроки удерживают 'движение вправо', нажимая 'прыжок'. Поддерживается коллекция путей, представленных последовательностями ввода, которые затем выборочно воспроизводятся для нахождения оптимального маршрута через игру. Простая функция приспособленности отдает предпочтение путям с наибольшей позицией по оси X, но из-за потенциальных тупиков исследуется разнообразный набор путей с различными оценками, чтобы обеспечить всестороннее тестирование.
Эта техника особенно полезна для разработчиков, участвующих в разработке игр, или для тех, кто интересуется автоматизацией тестирования, предоставляя insights для эффективного исследования сложных пространств состояний.
📖 Читать полный источник: HN AI Agents
👀 Смотрите также

Локальный Qwen3-0.6B INT8 в качестве основы для эмбеддингов в системе искусственной памяти
Разработчик реализовал Qwen3-0.6B, квантованный в INT8 через ONNX Runtime, в качестве локальной модели эмбеддингов для системы жизненного цикла памяти ИИ, достигнув 12 мс пакетного вывода на CPU с 1024-мерными векторами и порогом косинусного сходства 0.75 для семантической связанности.

Пользователь развернул ИИ-ассистента 'Элвис' на VPS для задач управления проектами.
Разработчик потратил три дня на настройку ИИ-ассистента под названием 'Элвис' на Linux VPS, интегрировав его с Microsoft Teams, JIRA, Asana и почтовыми системами. Ассистент успешно справлялся с задачами управления проектами, включая чтение писем, извлечение требований, обновление запросов на изменения и координацию с членами команды.

Индивидуальный разработчик создает инструмент анализа данных по визам H-1B с помощью кода Claude
Разработчик создал H1B.Guru — бесплатный инструмент, обрабатывающий более 800 тысяч записей H-1B и PERM Министерства труда США, используя Claude Code для всего стека — от ETL-пайплайна до развертывания в продакшене.
Hermes против OpenClaw: бенчмарк на реальной работе закончился уроком о памяти
Пользователь сравнил Hermes и OpenClaw на реальных задачах, обнаружив схожую производительность, но явная память OpenClaw победила после того, как Hermes превратил случайный комплимент в ошибочное правило.