리버티게임:게임 메타데이터
버전: 0.55 / 최근 수정: 2023년 6월 28일
게임 메타데이터는 게임에 대한 정보를 리버티게임의 다양한 시스템이 읽을 수 있도록 모아놓은 JSON 문서입니다. 게임 메타데이터는 기본적으로 최상위 게임 문서의 하위 문서인 /game.json
에 작성됩니다. 문서 작성 이후 특수:콘텐츠모델바꾸기에서 콘텐츠 모델을 꼭 'JSON'으로 변경해주세요.
게임 메타데이터 규격은 아직 확정되지 않았습니다. 계속 논의 중이며, 언제든지 변경될 수 있습니다.
JSON 문법
- 이 부분의 본문은 리버티게임:JSON입니다.
요소
기본 정보
- genre
- 게임의 장르입니다. 배열을 사용함으로 여러 장르를 지정할 수 있습니다.
- 어드벤처: 어드벤처 게임
- 철도 교통: 철도 교통 게임(Deprecated 예정, 폐지 및 대안 논의 중)
- 도로 기행: 도로 기행 게임(Deprecated 예정, 폐지 및 대안 논의 중)
- 오픈 월드: 오픈 월드 게임(도시 생활 게임)
- 탈출: 탈출 게임
- 액션: 액션 게임
- 함정 피하기: 함정 피하기 게임
- 퍼즐: 퍼즐 게임
- 퀴즈: 퀴즈 게임
- 보드: 보드 게임
- 음악: 음악 게임
- 롤플레잉: 롤플레잉 게임
- 시뮬레이션: 시뮬레이션 게임
- 전략: 전략 게임
- 스포츠: 스포츠 게임
- 캐주얼: 캐주얼 게임
- 예언: 예언 게임
- 시간 낭비하기: 시간 낭비하기 게임
- 멀티플레이: 멀티플레이 게임
- Name
- 게임의 이름입니다. 상위 문서명과 다르게 입력할 수 있으며, 여기에 입력한 대로 게임아이콘에 보여집니다. (문자열*50, 필수)
- Summary
- 게임에 대한 한 줄짜리 짧은 설명입니다. 80자 이내로 작성해 주세요. (문자열*80, 필수)
- progress
- 게임의 완성도를 입력합니다. (숫자:정수:0~5, 필수)
- 0: 변경하지 말아야 하는 공사중인 게임입니다.
- 1: 조금 완성된 게임입니다.
- 2: 중간 정도 완성된 게임입니다.
- 3: 거의 완성된 게임입니다.
- 4: 완성되었지만 추가할 수 있는 게임입니다.
- 5: 완성되어 변경하지 말아야 하는 게임입니다.
- editpolicy
- 게임 편집의 개방성을 결정하는 게임 편집 정책입니다. 다음 중 하나를 선택할 수 있습니다. (문자열, 필수)
- variant
- 대체 제목 또는 별칭을 나타냅니다. 'name' 필드만으로 게임의 설계대로 구현할 수 없을때 사용하는 필드입니다. 만약 이 필드가 비어있으면 기본적으로 'name' 필드의 링크를 사용합니다. (문자열, 선택)
- IssueTracker
- 게임의 이슈를 보고할 수 있는 트래커에 대한 링크입니다. (문자열, 선택)
- Changelog
- 게임의 변경이력에 대한 링크입니다. (문자열, 선택)
- Description
- 게임에 대한 간단한 설명입니다. 한 문단 정도의 분량으로 최대한 간단히 작성해 주세요. (문자열*4000, 선택)
- CurrentVersion
- 현재 버전을 나타냅니다. (문자열, 선택)
- contributor
- 게임을 만드는데 크거나 작게 도움을 준 기여자(조력자)의 사용자 이름을 입력합니다. 주 기여자(author)는 입력하지 않습니다. 여러명을 입력하려는 경우 배열을 사용할 수 있습니다. 유효한 사용자 문서 이름이어야 하고,
사용자:
이름공간은 생략합니다. 만약 사용자 문서가 아닌 다른 문서를 가리키는 제작 팀의 경우 이름공간까지 포함해서 해당 문서 제목을 입력해 주세요. 기본 이름공간의 경우 그냥:
(콜론)으로 시작하면 됩니다. 틀 이름공간이 아닌 문서를 틀처럼 끼워넣을 때와 비슷합니다. (문자열:문서명|배열:문자열:문서명, 선택)
- editpolicypage
- 게임 편집 지침이나 규칙을 안내하는 문서의 제목을 작성합니다. 게임 대문(game.json의 상위 문서)을 기준으로 한 상대 경로를 사용할 수 있습니다. (문자열:문서명, 선택)
- platform
- 게임이 지원하는 플랫폼 목록입니다. 생략하면 web만 지원하는 것으로 간주됩니다. (문자열:소문자|배열:문자열:소문자, 선택)
- rating
- 각 등급 분류 기관별 등급 분류 정보를 입력합니다. (객체:{[문자열]:객체}|null, 선택)
- libertygame
- 리버티게임 자체 등급 심의의 등급 분류 정보입니다. 등급면제를 제외한 grac 등급 분류 정보가 있다면 생략해도 됩니다. (객체, 선택)
- age
- 게임 이용 등급 연령을 입력합니다. (숫자:정수|문자열, 필수)
- "test": 평가용
- "all": 전체 이용가
- 12: 12세 이용가
- 15: 15세 이용가
18: 18세 이용가(리버티게임: 등급 심의에서 삭제되어 지정 금지됨)
- date
- 게임 이용 등급을 분류한 일자를 입력합니다. (문자열:날짜, 필수)
- grac
- 게임물관리위원회(게임콘텐츠등급분류위원회 포함)의 등급 분류 정보입니다. 정식으로 등급분류나 등급면제/시험용 게임 확인을 받은 경우에만 작성하세요. (객체, 선택)
- age
- 게임 이용 등급 연령을 입력합니다. (숫자:정수|문자열, 필수)
- contentdescriptor
- 게임 내용정보를 입력합니다. (배열:문자열, 선택)
- id
- age가 "test"면 평가확인증번호를, "re"면 등급면제 확인증번호를, 그 외이면 등급분류번호를 입력합니다. (문자열, 필수)
- title
- 등급분류/시험용게임확인/등급면제확인 상 게임의 제명을 입력합니다. name과 같은 경우 입력하지 않으며, 다른 경우에만 입력합니다. (문자열, 선택)
- author
- 등급분류/시험용게임확인/등급면제확인 상 신청자를 입력합니다. (문자열, 필수)
- date
- 등급분류/시험용게임확인/등급면제확인 상 게임의 제작일자를 입력합니다. (문자열:날짜, 필수)
- construction
- 게임 공사 여부 및 기간을 입력합니다. true를 입력하거나 공사를 마치는 날짜를 년-월-일로 입력해 주세요. . (문자열:날짜|부울, 선택)
- "yyyy-mm-dd": 해당 날짜까지 공사중인 게임입니다.
- true: 공사중인 게임입니다. 기한은 마지막 편집으로부터 15일 뒤까지입니다.
- false: 공사중인 게임이 아닙니다. (기본값)
- repair
- 게임 수리 여부 및 기간을 입력합니다. true를 입력하거나 수리를 마치는 날짜를 년-월-일로 입력해 주세요. (문자열:날짜|부울, 선택)
- "yyyy-mm-dd": 해당 날짜까지 수리중인 게임입니다.
- true: 수리중인 게임입니다. 기한은 마지막 편집으로부터 15일 뒤까지입니다.
- false: 수리중인 게임이 아닙니다. (기본값)
- abandon
- 버려진 게임을 나타냅니다. (부울, 선택)
- login
- 로그인 필요 여부를 선택합니다. (문자열, 선택)
- required: 로그인한 사용자만 이용할 수 있는 게임입니다. 로그인하지 않으면 모든 기능이 사용 불가능할 때 선택하세요.
- recommended: 로그인하여 플레이할 것을 권장하는 게임입니다. 로그인하지 않으면 일부 기능이 제한될 때 선택하세요.
- unnecessary: IP 사용자도 이용할 수 있는 게임입니다. 로그인하지 않아도 모든 기능을 제한없이 사용할 수 있을 때 선택하세요. (기본값)
- saves
- 세이브 데이터가 저장되는 위치를 나타냅니다. 사용자는 $1에 표기됩니다. 형식은 확정되지 않았습니다. (배열:문자열, 예약)
- privacypolicy
- 개인 정보를 수집하는 게임의 개인 정보 취급 방침 문서를 지정합니다. 게임 대문(game.json의 상위 문서)을 기준으로 한 상대 경로를 사용할 수 있습니다. (문자열:문서명, 선택)
- created
- 게임이 만들어진 날짜를 기입합니다. (문자열:날짜)
- image
- 게임을 대표하는 이미지를 지정합니다. 리버티게임 내부에 있는 파일만 지정 할 수 있으며, 네임스페이스는 제외하고 지정합니다. 예) 파일:fishing.PNG
- featured
- 특집게임에 대한 추가 정보를 기입합니다.
- date
- 게임이 특집 게임으로 선정된 날짜를 나타냅니다. (문자열: 날짜, 필수)
- description
- 특집 게임의 추천평을 기입합니다. (문자열)
- author
- 추천평을 작성한 사용자명을 기입합니다. (문자열)
DB2 키 정보
DB2 키 정보는 gameDB
키에 입력합니다.
기본적으로 아래와 같은 구조입니다.
{
"gameDB": {
"default": {
"description": "(설명)"
},
"keys": {
"(키)": {
"description": "(설명)"
}
}
}
}
- gameDB
- (객체, 선택)
키 정보 객체
- description
- 키에 대한 설명을 입력합니다. (문자열, 필수)