피드로 돌아가기
Pac-Man: A 16KB Masterpiece Every Dev Should Study
Dev.toDev.to
AI/ML

16KB 메모리와 3.072MHz 제약 속에서 구현한 고효율 상태 기반 AI 설계

Pac-Man: A 16KB Masterpiece Every Dev Should Study

Jean Klebert de A Modesto2026년 5월 15일2intermediate

Context

Zilog Z80 프로세서의 극심한 연산 능력 한계와 16KB라는 매우 협소한 메모리 공간 내에서 복잡한 게임 로직을 구현해야 하는 제약 상황.

Technical Solution

  • 단순한 Tile-targeting 규칙을 활용하여 고비용 연산 없이 고유한 Ghost AI Personality를 구현한 벡터 기반 타겟팅 설계
  • Blinky의 직접 추격, Pinky의 4타일 앞 예측 이동, Inky의 Blinky-PacMan 연결 벡터 계산, Clyde의 거리 기반 퇴각 로직을 통한 행동 다양성 확보
  • 고정 내부 타이머를 활용한 State Machine 설계를 통해 추격과 휴식 모드를 교차시켜 UX의 Tension Curve를 제어하는 페이싱 메커니즘 적용
  • 8-bit byte 카운터를 이용한 레벨 관리 시스템 설계로 메모리 사용 최적화
  • 하드웨어 제약 내에서 복잡한 알고리즘 대신 순수 논리와 행동 설계 중심의 아키텍처 지향

- 복잡한 지능형 동작 구현 시 무거운 알고리즘 대신 단순한 수학적 규칙의 조합을 통한 Emergent Behavior 검토 - 시스템의 긴장도나 사용자 경험 제어를 위해 단순 타이머 기반의 State Machine 도입 고려 - 8-bit 등 제한된 데이터 타입 사용 시 Integer Overflow 발생 가능성에 대한 경계값 검증 수행 - 리소스 증설 전 현재의 비즈니스 로직을 단순화하여 효율을 극대화할 수 있는 설계적 대안 탐색

원문 읽기