먼저 .env.example을 참고해서 프로젝트 루트에 .env 파일을 만듭니다.
REPLAY_PREFIX=AREPLAY_PREFIX는 저장 파일 이름 앞에 붙는 식별자입니다. A부터 Z까지 알파벳 대문자 한 글자 중 하나를 고르면 됩니다.
outputs/manual_play/random-data 폴더에 리플레이 기록을 저장하면서 플레이하는 명령어:
uv run -m advanced_lunar_lander play --config configs/env/default_solar_system_random.toml --record-experience outputs/manual_play/random-datapygame 창이 닫힌 뒤, 종료 원인이 stable이면 터미널에서 이번 에피소드의 효율성을 입력받습니다.
효율성 값은 1, 0, -1 중 하나만 입력할 수 있습니다.
종료 원인이 stable이 아니면 효율성은 입력받지 않고, 종료 원인만 파일 이름에 들어갑니다.
저장 파일은 선택한 폴더 아래의 포맷별 하위 폴더에 나뉘어 저장됩니다.
outputs/manual_play/random-data/
csv/A15133850_stable_1.csv
jsonl/A15133850_stable_1.jsonl
npz/A15133850_stable_1.npz
recording_summary.json
recording_summary.json은 새 기록이 저장될 때마다 자동으로 갱신됩니다. 이 파일에는 현재 저장 폴더 안의 전체 데이터 개수, 종료 원인별 개수, 그리고 stable 데이터의 효율성 1, 0, -1별 개수가 들어갑니다.
예시:
{
"total_count": 5,
"label_counts": {
"hull_contact": 1,
"stable": 3,
"timeout": 1
},
"stable_efficiency_counts": {
"1": 1,
"0": 1,
"-1": 1
},
"updated_at": "2026-05-16_22-34-24"
}리플레이를 재생해보는 명령어:
uv run -m advanced_lunar_lander replay --replay outputs/manual_play/random-data/npz/A15133850_stable_1.npz