게임 내 디버깅 도구

Cataclysm: Bright Nights는 모더와 개발자가 JSON 콘텐츠를 테스트하고 디버그하는 데 도움이 되는 다양한 게임 내 디버깅 도구를 제공합니다.

디버그 메뉴 접근하기

디버그 메뉴에 접근하려면:

  1. 게임 실행
  2. ESC 키를 눌러 옵션 메뉴 열기
  3. "디버그 메뉴" 선택 (또는 a 키 누르기)

또는 ~ 키를 눌러 디버그 메뉴에 직접 접근할 수도 있습니다.

참고: 디버그 메뉴는 실험적 빌드에서 기본적으로 활성화되어 있습니다. 안정 버전에서는 게임 옵션에서 활성화해야 할 수 있습니다.

디버그 메뉴 카테고리

정보 (Info)

게임 상태 및 엔티티에 대한 정보를 보는 도구:

도구 설명
게임 상태 정보 현재 게임 상태, 날씨, 시간 등을 표시합니다.
지형 정보 커서 위치의 지형 정보를 표시합니다.
아이템 정보 아이템에 대한 상세 정보를 표시합니다.
몬스터 정보 몬스터 통계 및 AI 상태를 표시합니다.
NPC 정보 NPC 통계, 태도, 대화 옵션을 표시합니다.
차량 정보 차량 파트, 연료, 손상 상태를 표시합니다.

생성 (Spawning)

게임에 엔티티를 생성하는 도구:

도구 설명
아이템 생성 (i) ID로 아이템을 생성합니다.
몬스터 생성 (m) ID로 몬스터를 생성합니다.
차량 생성 (v) ID로 차량을 생성합니다.
NPC 생성 (n) NPC를 생성합니다.
지형 설정 특정 타일의 지형을 변경합니다.
가구 설정 특정 타일에 가구를 배치합니다.

플레이어 (Player)

플레이어 캐릭터를 수정하는 도구:

도구 설명
돌연변이 부여 플레이어에게 돌연변이를 추가합니다.
특성 부여 플레이어에게 특성을 추가합니다.
스킬 설정 플레이어 스킬 레벨을 설정합니다.
통증 설정 플레이어 통증 레벨을 설정합니다.
건강 설정 플레이어 건강 레벨을 설정합니다.
사기 설정 플레이어 사기 레벨을 설정합니다.
완전 치료 모든 상처, 통증, 상태 효과를 제거합니다.

텔레포트 (Teleport)

도구 설명
단거리 텔레포트 지도의 특정 위치로 텔레포트합니다.
장거리 텔레포트 오버맵의 특정 위치로 텔레포트합니다.
Z-레벨 변경 위 또는 아래 Z-레벨로 이동합니다.

게임 (Game)

게임 상태를 수정하는 도구:

도구 설명
시간 변경 현재 게임 시간을 설정합니다.
날씨 변경 현재 날씨를 설정합니다.
조명 변경 조명 레벨을 수정합니다.
맵 재생성 현재 맵을 재생성합니다.
오버맵 표시 전체 오버맵을 공개합니다.

제작 (Crafting)

도구 설명
모든 레시피 배우기 모든 제작 레시피를 배웁니다.
즉시 제작 시간이나 자원 없이 즉시 아이템을 제작합니다.

모딩에 유용한 도구

ID로 아이템 생성하기

JSON에서 정의한 아이템을 테스트하려면:

  1. 디버그 메뉴 열기 (ESC → 디버그 메뉴 또는 ~)
  2. "아이템 생성" (i) 선택
  3. 아이템 ID 입력 (예: my_custom_sword)
  4. 수량 입력
  5. Enter 키로 확인

아이템이 인벤토리에 생성됩니다.

몬스터 테스트하기

맞춤 몬스터를 테스트하려면:

  1. 디버그 메뉴 열기
  2. "몬스터 생성" (m) 선택
  3. 몬스터 ID 입력 (예: mon_my_custom_zombie)
  4. 플레이어 근처에 생성

레시피 테스트하기

제작 레시피를 테스트하려면:

  1. 디버그 메뉴에서 "모든 레시피 배우기" 사용
  2. 제작 메뉴 열기 (&)
  3. 레시피 검색
  4. "즉시 제작"을 사용하여 구성 요소 없이 테스트

돌연변이 테스트하기

맞춤 돌연변이를 테스트하려면:

  1. 디버그 메뉴 열기
  2. "돌연변이 부여" 선택
  3. 돌연변이 ID 입력 (예: WINGS)
  4. 효과 확인

지형 및 가구 테스트하기

맞춤 지형이나 가구를 테스트하려면:

  1. 디버그 메뉴 열기
  2. "지형 설정" 또는 "가구 설정" 선택
  3. 설정할 타일로 커서 이동
  4. 지형/가구 ID 입력
  5. 외모 및 동작 확인

디버그 로그

디버그 로그는 JSON 로딩 문제 및 런타임 오류를 진단하는 데 유용합니다.

디버그 로그 보기

디버그 로그는 다음 위치에 저장됩니다:

  • 리눅스/맥: ~/.cataclysm-bn/debug.log
  • 윈도우: %USERPROFILE%\cataclysm-bn\debug.log

또는 디버그 메뉴에서:

  1. 디버그 메뉴 열기
  2. "정보" → "디버그 로그 보기"

일반적인 디버그 메시지

메시지 타입 설명
ERROR 게임 로딩을 방지하는 중요한 문제.
WARNING 문제가 될 수 있는 잠재적 문제.
INFO 정보 메시지.
DEBUG 상세한 디버그 정보.

JSON 오류 디버깅 팁

JSON 로딩 오류를 디버깅할 때:

  1. 로그 확인: debug.log 파일에서 오류 메시지를 확인하세요.
  2. 구문 검증: JSON 구문이 유효한지 확인하세요 (쉼표, 중괄호, 인용 부호 확인).
  3. ID 검증: 모든 참조된 ID가 존재하는지 확인하세요.
  4. 타입 검증: 값 타입이 올바른지 확인하세요 (문자열, 정수, 배열 등).
  5. 격리 테스트: 문제 있는 정의를 별도의 파일로 격리하여 테스트하세요.

모드 테스트 워크플로우

  1. JSON 파일 작성
  2. 게임 시작
  3. 로딩 오류 확인 (debug.log)
  4. 디버그 메뉴를 사용하여 콘텐츠 생성
  5. 게임에서 동작 테스트
  6. 필요시 JSON 조정
  7. 게임 다시 시작 및 반복

일반적인 문제

문제 해결 방법
아이템이 생성되지 않음 ID 철자 및 JSON 로딩 확인.
몬스터가 잘못 동작함 몬스터 정의 및 AI 설정 확인.
레시피가 표시되지 않음 레시피 요구사항 및 카테고리 확인.
돌연변이가 효과 없음 돌연변이 정의 및 효과 확인.
지형이 잘못 표시됨 지형 정의 및 타일셋 매핑 확인.

추가 디버그 명령

일부 고급 디버그 명령은 메뉴가 아닌 명령줄을 통해 접근할 수 있습니다:

  • lua - Lua 콘솔 열기 (Lua 스크립팅이 활성화된 경우)
  • python - Python 콘솔 열기 (Python 스크립팅이 활성화된 경우)

성능 디버깅

성능 문제를 디버깅하려면:

  1. 디버그 메뉴에서 "디버그 표시 켜기" 활성화
  2. 화면에 FPS 및 틱 시간 확인
  3. 성능 병목 현상 유발 요인 식별
  4. JSON 콘텐츠를 적절히 최적화

안전한 디버깅

디버깅할 때:

  • 백업 저장: 테스트 전에 항상 저장 파일 백업
  • 별도 세계: 테스트용 별도 게임 세계 사용
  • 조심스럽게 생성: 너무 많은 엔티티를 생성하면 게임이 느려질 수 있음
  • 크래시 확인: 불안정한 콘텐츠는 크래시를 유발할 수 있음

참고사항

  • 디버그 도구는 일반 게임플레이용이 아님
  • 일부 디버그 작업은 저장 파일을 손상시킬 수 있음
  • 디버그 기능은 게임 버전에 따라 변경될 수 있음
  • 항상 디버깅을 위해 최신 실험적 빌드 사용