행동 모델을 활용한 슈퍼 마리오 자율 테스트

이 글은 슈퍼 마리오 브라더스에서 활용되는 자율 테스팅 방법을 탐구하며, 행동 모델 접근법을 사용합니다. 이는 인간의 개입 없이 자율 플레이와 레벨 클리어를 완성하기 위한 진행 중인 시리즈의 후속편입니다. 핵심 초점은 입력 데이터의 비트를 뒤집어 게임의 반응을 테스트하기 위한 다양한 시나리오를 생성하는 돌연변이 기반 입력 생성기를 사용하는 것으로, 전통적인 테스팅을 통해 놓칠 수 있는 엣지 상황을 드러냅니다.
방법론의 코드 스니펫입니다:
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축 위치를 가진 경로를 선호하지만, 잠재적인 막다른 길로 인해 다양한 점수를 가진 경로 세트를 탐색하여 포괄적인 테스팅을 보장합니다.
이 기술은 게임 개발에 참여하는 개발자나 테스팅 자동화에 관심 있는 사람들에게 특히 유용하며, 복잡한 상태 공간의 효율적인 탐색에 대한 통찰력을 제공합니다.
📖 전체 출처 읽기: HN AI Agents
👀 See Also
在OpenClaw 2.0中使用多智能体代理对社区PR进行分类
OpenClaw 재단의 Patrick Erichsen이 OpenClaw 2.0에서 멀티플레이어 에이전트를 사용하여 커뮤니티 PR을 분류하고 검토하는 방법을 보여줍니다. 자동화는 15분마다 Discord를 확인하고, 관리자를 배정하고, 공유 에이전트 세션을 시작합니다.

AI 코딩 에이전트, 배포 단계에서 좌절: Cowork 사용자, 샌드박스·권한·컨텍스트 손실 문제 직면
Cowork로 Next.js 앱을 개발하는 한 개발자가 AI 에이전트가 코드를 성공적으로 작성했지만, 샌드박스 제한, GitHub 푸시 문제, 세션 컨텍스트 손실로 인해 배포에 실패했다고 보고합니다.

iPhone 단축어를 사용하여 OpenClaw 에이전트용 음성 인터페이스 구축하기
한 개발자가 OpenClaw 에이전트를 위한 음성 제어 인터페이스를 만들었습니다. Python 서버 엔드포인트를 구축하고, 기기에서 음성-텍스트 및 텍스트-음성 변환을 로컬로 처리하는 iPhone 단축어와 통합하여 구현했습니다.

클로드 코드, 신입 개발자가 실시간 멀티플레이어 게임을 혼자 제작할 수 있게 하다
공식 SWE 경험이 없는 신입 졸업생이 Claude Code를 사용하여 imageclash.net을 구축했습니다. 이 게임은 서버리스 GPU 자동 확장, 모바일 우선 컨트롤러 UX, R2 기반 이미지 수명 주기 관리를 갖춘 실시간 멀티플레이어 파티 게임입니다.