픽셀로그: 마인크래프트 기반 인지 연구를 위한 고성능 게임플레이 로깅 프레임워크
초록
픽셀로그는 Spigot 서버에 적용되는 플러그인으로, 20 Hz 이상의 가변 주기로 플레이어의 위치, 상태, 이벤트 등을 실시간으로 수집하고 JSON 형태로 저장한다. 인간·AI 모두를 대상으로 다중 사용자 환경에서 세밀한 행동 데이터를 확보함으로써 전통적인 실험실 기반 인지 평가의 한계를 극복한다.
상세 분석
픽셀로그는 기존 Minecraft 기반 연구 도구가 AI 에이전트 중심이었던 점을 보완하여 인간 행동 추적에 최적화된 하이브리드 로깅 방식을 채택한다. 핵심 설계는 네 계층으로 구분된다. 첫째, MainController가 Spigot 플러그인 생명주기를 관리하고, 플레이어 접속 시 PixelPlayer 객체를 생성해 데이터 격리를 보장한다. 둘째, Logger는 다중 주기의 PlayerStatePoller를 스케줄러에 등록해 고주파(10‑20 Hz)와 저주파(≤1 Hz) 데이터를 동시에 수집한다. 셋째, PlayerEventListener를 통해 블록 배치, 아이템 사용, 전투 등 이산 이벤트를 실시간으로 캡처한다. 넷째, Assembler가 폴링과 이벤트 스트림을 시간 순서대로 병합해 구조화된 JSON 로그를 생성한다.
성능 측면에서 스레드‑안전 큐를 활용한 분산 로깅 구조는 동시 접속자가 증가해도 병목 현상을 최소화한다. 또한, JSON 스키마는 좌표, 체력, 인벤토리, 월드 속성 등 30여 개 이상의 필드를 포함해 후처리 파이프라인(예: Python pandas, R, TensorFlow)과 원활히 연동된다. 전송 모듈을 통해 TCP 기반 실시간 스트리밍도 가능해 클라우드 분석 환경과의 통합이 용이하다.
관련 연구인 Project Malmo와 MineDojo는 주로 강화학습 에이전트의 관찰 공간을 제공하지만, 데이터 수집 주기가 낮고 인간 행동에 대한 정밀도가 부족하다. 픽셀로그는 이러한 한계를 극복하고, 다중 사용자 세션 관리와 세밀한 시간 해상도를 동시에 제공한다는 점에서 차별화된다.
한계로는 Spigot 1.20.4에 종속된 구현으로 버전 업그레이드 시 호환성 검증이 필요하고, 로그 파일이 로컬에 저장되기 때문에 대규모 실험에서는 스토리지 관리가 추가 과제가 된다. 또한, 현재는 게임 내 행동만을 기록하므로 생리학적 신호(예: 심박수, 눈 움직임)와의 동기화는 별도 장비가 필요하다.
향후 연구에서는 플러그인 내에서 실시간 데이터 전처리와 이상 탐지를 수행하고, 외부 데이터 스트림과의 시계열 정렬을 자동화하는 모듈을 추가함으로써 인지 모델링 파이프라인을 더욱 통합할 수 있다.
댓글 및 학술 토론
Loading comments...
의견 남기기