리버티게임:게임 메타데이터: 두 판 사이의 차이

리버티게임(개발), 모두가 만들어가는 자유로운 게임
둘러보기로 이동 검색으로 이동
imported>Hsl0
편집 요약 없음
imported>Hsl0
10번째 줄: 10번째 줄:
; name: 게임의 이름입니다. 상위 문서명과 다르게 입력할 수 있으며, 여기에 입력한 대로 게임아이콘에 보여집니다. (문자열:*50, '''필수''')
; name: 게임의 이름입니다. 상위 문서명과 다르게 입력할 수 있으며, 여기에 입력한 대로 게임아이콘에 보여집니다. (문자열:*50, '''필수''')


; author: 게임의 소유자, 또는 주 기여자의 사용자 이름을 입력합니다. 다시 말해, 여러분의 사용자 이름을 입력하면 되겠습니다. 여러명이 제작한 합작 게임의 경우 배열을 사용할 수 있습니다. 유효한 사용자 문서 이름이어야 하고, <code>사용자:</code> 이름공간은 생략합니다. 만약 사용자 문서가 아닌 다른 문서를 가리키는 제작 팀의 경우 이름공간까지 포함해서 해당 문서 제목을 입력해 주세요. 이름공간이 없을 경우 그냥 <code>:</code>(콜론)으로 시작하면 됩니다. 틀 이름공간이 아닌 문서를 틀처럼 끼워넣을 때와 비슷합니다. (문자열:문서명|배열:문자열:문서명, '''필수''')
; author: 게임의 소유자, 또는 주 기여자의 사용자 이름을 입력합니다. 다시 말해, 여러분의 사용자 이름을 입력하면 되겠습니다. 여러명이 제작한 합작 게임의 경우 배열을 사용할 수 있습니다. 유효한 사용자 문서 이름이어야 하고, <code>사용자:</code> 이름공간은 생략합니다. 만약 사용자 문서가 아닌 다른 문서를 가리키는 제작 팀의 경우 이름공간까지 포함해서 해당 문서 제목을 입력해 주세요. 기본 이름공간의 경우 그냥 <code>:</code>(콜론)으로 시작하면 됩니다. 틀 이름공간이 아닌 문서를 틀처럼 끼워넣을 때와 비슷합니다. (문자열:문서명|배열:문자열:문서명, '''필수''')


; summary: 게임에 대한 한 줄짜리 짧은 설명입니다. 80자 이내로 작성해 주세요. (문자열:*80, '''필수''')
; summary: 게임에 대한 한 줄짜리 짧은 설명입니다. 80자 이내로 작성해 주세요. (문자열:*80, '''필수''')
16번째 줄: 16번째 줄:
; description: 게임에 대한 간단한 설명입니다. 한 문단 정도의 분량으로 최대한 간단히 작성해 주세요. (문자열:*4000, 선택)
; description: 게임에 대한 간단한 설명입니다. 한 문단 정도의 분량으로 최대한 간단히 작성해 주세요. (문자열:*4000, 선택)


; contributor: 게임을 만드는데 크거나 작게 도움을 준 기여자(조력자)의 사용자 이름을 입력합니다. 주 기여자(author)는 입력하지 않습니다. (문자열:문서명|배열:문자열:문서명, 선택)
; contributor: 게임을 만드는데 크거나 작게 도움을 준 기여자(조력자)의 사용자 이름을 입력합니다. 주 기여자(author)는 입력하지 않습니다. 여러명을 입력하려는 경우 배열을 사용할 수 있습니다. 유효한 사용자 문서 이름이어야 하고, <code>사용자:</code> 이름공간은 생략합니다. 만약 사용자 문서가 아닌 다른 문서를 가리키는 제작 팀의 경우 이름공간까지 포함해서 해당 문서 제목을 입력해 주세요. 기본 이름공간의 경우 그냥 <code>:</code>(콜론)으로 시작하면 됩니다. 틀 이름공간이 아닌 문서를 틀처럼 끼워넣을 때와 비슷합니다. (문자열:문서명|배열:문자열:문서명, 선택)


; genre: 게임의 장르입니다. 여러 장르에 해당될 경우 배열을 사용할 수 있습니다. 장르 코드명은 아래와 같습니다. (문자열:소문자*3|배열:문자열:소문자*3, '''필수''')
; genre: 게임의 장르입니다. 여러 장르에 해당될 경우 배열을 사용할 수 있습니다. 장르 코드명은 아래와 같습니다. (문자열:소문자*3|배열:문자열:소문자*3, '''필수''')
54번째 줄: 54번째 줄:


; platform: 게임이 지원하는 플랫폼 목록입니다. 생략하면 web만 지원하는 것으로 간주됩니다. (문자열:소문자|배열:문자열:소문자, 선택)
; platform: 게임이 지원하는 플랫폼 목록입니다. 생략하면 web만 지원하는 것으로 간주됩니다. (문자열:소문자|배열:문자열:소문자, 선택)
:* web: [[파일:Feather-location-globe.svg|16px|웹]] 웹 (무설치)
:* web: [[파일:Feather-location-globe.svg|16px|웹]] 웹 (무설치) (기본값)
:* windows: [[파일:Windows logo - 2021 (Black).svg|16px|윈도우]] 윈도우 (설치)
:* windows: [[파일:Windows logo - 2021 (Black).svg|16px|윈도우]] 윈도우 (설치)
:* linux: [[파일:Tux Mono.svg|16px|리눅스]] 리눅스 (설치)
:* linux: [[파일:Tux Mono.svg|16px|리눅스]] 리눅스 (설치)
63번째 줄: 63번째 줄:


; rating: 각 등급 분류 기관별 등급 분류 정보를 입력합니다. (객체:{[문자열]:[[#게임 이용 등급 정보|게임 이용 등급 정보]]}|null, 선택)
; rating: 각 등급 분류 기관별 등급 분류 정보를 입력합니다. (객체:{[문자열]:[[#게임 이용 등급 정보|게임 이용 등급 정보]]}|null, 선택)
:* null: [[파일:GRAC Square Template.svg|16px|게임 제작자가 이용가 등급 판정을 하지 않았습니다]] 미분류
:* null: [[파일:GRAC Square Template.svg|16px|게임 제작자가 이용가 등급 판정을 하지 않았습니다]] 미분류 (기본값)
:; libertygame: [[리버티게임:등급 심의|리버티게임 자체 등급 심의]]의 등급 분류 정보입니다. 등급면제를 제외한 grac 등급 분류 정보가 있다면 생략해도 됩니다. (객체:[[#게임 이용 등급 정보|게임 이용 등급 정보]], 선택)
:; libertygame: [[리버티게임:등급 심의|리버티게임 자체 등급 심의]]의 등급 분류 정보입니다. 등급면제를 제외한 grac 등급 분류 정보가 있다면 생략해도 됩니다. (객체:[[#게임 이용 등급 정보|게임 이용 등급 정보]], 선택)
::; age: 게임 이용 등급 연령을 입력합니다. (숫자:정수|문자열, '''필수''')
::; age: 게임 이용 등급 연령을 입력합니다. (숫자:정수|문자열, '''필수''')
89번째 줄: 89번째 줄:
:::* gambling: [[파일:GRAC Gambling (사행성).svg|16px|사행성]] 사행성
:::* gambling: [[파일:GRAC Gambling (사행성).svg|16px|사행성]] 사행성
::; id: age가 "test"면 평가확인증번호를, "re"면 등급면제 확인증번호를, 그 외이면 등급분류번호를 입력합니다. (문자열, '''필수''')
::; id: age가 "test"면 평가확인증번호를, "re"면 등급면제 확인증번호를, 그 외이면 등급분류번호를 입력합니다. (문자열, '''필수''')
:::* (GC-)CC-''xx''-''yymmdd''-''nnn'': 등급분류번호
:::* ''yyyy''-''nnnn'': [[파일:GRAC Test Square.svg|16px|평가용]] 평가확인증번호
:::* ''yyyy''-RE''nnnn'': [[파일:GRAC Rating Exempted Square.svg|16px|등급면제]] 등급면제 확인증번호
::; title: 등급분류/시험용게임확인/등급면제확인 상 게임의 제명을 입력합니다. name과 같은 경우 입력하지 않으며, 다른 경우에만 입력합니다. (문자열, 선택)
::; title: 등급분류/시험용게임확인/등급면제확인 상 게임의 제명을 입력합니다. name과 같은 경우 입력하지 않으며, 다른 경우에만 입력합니다. (문자열, 선택)
::; author: 등급분류/시험용게임확인/등급면제확인 상 신청자를 입력합니다. (문자열, '''필수''')
::; author: 등급분류/시험용게임확인/등급면제확인 상 신청자를 입력합니다. (문자열, '''필수''')
94번째 줄: 97번째 줄:
::; date: 등급분류/시험용게임확인/등급면제확인 상 게임의 제작일자를 입력합니다. (문자열:날짜, '''필수''')
::; date: 등급분류/시험용게임확인/등급면제확인 상 게임의 제작일자를 입력합니다. (문자열:날짜, '''필수''')


; construction: 게임 공사 여부 및 기간을 입력합니다. true를 입력하거나 공사를 마치는 날짜를 년-월-일로 입력해 주세요. 날짜를 입력하지 않을 경우 기한은 마지막 편집으로부터 15일 뒤로 간주됩니다. (문자열:날짜|부울, 선택)
; construction: 게임 공사 여부 및 기간을 입력합니다. true를 입력하거나 공사를 마치는 날짜를 년-월-일로 입력해 주세요. . (문자열:날짜|부울, 선택)
:* "''yyyy''-''mm''-''dd''": 해당 날짜까지 공사중인 게임입니다.
:* true: 공사중인 게임입니다. 기한은 마지막 편집으로부터 15일 뒤까지입니다.
:* false: 공사중인 게임이 아닙니다. (기본값)


; repair: 게임 수리 여부 및 기간을 입력합니다. true를 입력하거나 수리를 마치는 날짜를 년-월-일로 입력해 주세요. 날짜를 입력하지 않을 경우 기한은 마지막 편집으로부터 15일 뒤로 간주됩니다. (문자열:날짜|부울, 선택)
; repair: 게임 수리 여부 및 기간을 입력합니다. true를 입력하거나 수리를 마치는 날짜를 년-월-일로 입력해 주세요. (문자열:날짜|부울, 선택)
:* "''yyyy''-''mm''-''dd''": 해당 날짜까지 수리중인 게임입니다.
:* true: 수리중인 게임입니다. 기한은 마지막 편집으로부터 15일 뒤까지입니다.
:* false: 수리중인 게임이 아닙니다. (기본값)


; abandon: 버려진 게임을 나타냅니다. (부울, 선택)
; abandon: 버려진 게임을 나타냅니다. (부울, 선택)
:* true: [[파일:Crystal Clear app logout.png|17px|버려진 게임]] 버려진 게임입니다.
:* true: [[파일:Crystal Clear app logout.png|17px|버려진 게임]] 버려진 게임입니다.
:* false: 버려진 게임이 아닙니다.
:* false: 버려진 게임이 아닙니다. (기본값)


; login: 로그인 필요 여부를 선택합니다. (문자열, 선택)
; login: 로그인 필요 여부를 선택합니다. (문자열, 선택)
:* required: 로그인한 사용자만 이용할 수 있는 게임입니다. 로그인하지 않으면 모든 기능이 사용 불가능할 때 선택하세요.
:* required: 로그인한 사용자만 이용할 수 있는 게임입니다. 로그인하지 않으면 모든 기능이 사용 불가능할 때 선택하세요.
:* recommended: 로그인하여 플레이할 것을 권장하는 게임입니다. 로그인하지 않으면 일부 기능이 제한될 때 선택하세요.
:* recommended: 로그인하여 플레이할 것을 권장하는 게임입니다. 로그인하지 않으면 일부 기능이 제한될 때 선택하세요.
:* unnecessary: IP 사용자도 이용할 수 있는 게임입니다. 로그인하지 않아도 모든 기능을 제한없이 사용할 수 있을 때 선택하세요.
:* unnecessary: IP 사용자도 이용할 수 있는 게임입니다. 로그인하지 않아도 모든 기능을 제한없이 사용할 수 있을 때 선택하세요. (기본값)


; saves: 세이브 데이터가 저장되는 위치를 나타냅니다. 형식은 확정되지 않았습니다. (배열:문자열, 예약)
; saves: 세이브 데이터가 저장되는 위치를 나타냅니다. 형식은 확정되지 않았습니다. (배열:문자열, 예약)

2023년 4월 7일 (금) 23:46 판

버전: 0.7 / 최근 수정: 2023년 4월 7일항목 추가, 항목 형식 변경 등 유의미한 수정이 있을 때만 갱신되며, 단순 설명 편집은 포함하지 않습니다.

게임 메타데이터는 게임에 대한 정보를 리버티게임의 다양한 시스템이 읽을 수 있도록 모아놓은 JSON 문서입니다. 게임 메타데이터는 기본적으로 최상위 게임 문서의 하위 문서인 /game.json(게임이름)/game.json에 작성됩니다. 게임 메타데이터 규격은 아직 확정되지 않았습니다. 계속 논의 중이며, 언제든지 변경될 수 있습니다.

JSON 문법

이 부분의 본문은 리버티게임:JSON입니다.

요소

기본 정보

name
게임의 이름입니다. 상위 문서명과 다르게 입력할 수 있으며, 여기에 입력한 대로 게임아이콘에 보여집니다. (문자열:*50, 필수)
author
게임의 소유자, 또는 주 기여자의 사용자 이름을 입력합니다. 다시 말해, 여러분의 사용자 이름을 입력하면 되겠습니다. 여러명이 제작한 합작 게임의 경우 배열을 사용할 수 있습니다. 유효한 사용자 문서 이름이어야 하고, 사용자: 이름공간은 생략합니다. 만약 사용자 문서가 아닌 다른 문서를 가리키는 제작 팀의 경우 이름공간까지 포함해서 해당 문서 제목을 입력해 주세요. 기본 이름공간의 경우 그냥 :(콜론)으로 시작하면 됩니다. 틀 이름공간이 아닌 문서를 틀처럼 끼워넣을 때와 비슷합니다. (문자열:문서명|배열:문자열:문서명, 필수)
summary
게임에 대한 한 줄짜리 짧은 설명입니다. 80자 이내로 작성해 주세요. (문자열:*80, 필수)
description
게임에 대한 간단한 설명입니다. 한 문단 정도의 분량으로 최대한 간단히 작성해 주세요. (문자열:*4000, 선택)
contributor
게임을 만드는데 크거나 작게 도움을 준 기여자(조력자)의 사용자 이름을 입력합니다. 주 기여자(author)는 입력하지 않습니다. 여러명을 입력하려는 경우 배열을 사용할 수 있습니다. 유효한 사용자 문서 이름이어야 하고, 사용자: 이름공간은 생략합니다. 만약 사용자 문서가 아닌 다른 문서를 가리키는 제작 팀의 경우 이름공간까지 포함해서 해당 문서 제목을 입력해 주세요. 기본 이름공간의 경우 그냥 :(콜론)으로 시작하면 됩니다. 틀 이름공간이 아닌 문서를 틀처럼 끼워넣을 때와 비슷합니다. (문자열:문서명|배열:문자열:문서명, 선택)
genre
게임의 장르입니다. 여러 장르에 해당될 경우 배열을 사용할 수 있습니다. 장르 코드명은 아래와 같습니다. (문자열:소문자*3|배열:문자열:소문자*3, 필수)
  • adv: 어드벤처 게임
  • liv: 도시·마을 생활 게임
  • ral: 철도교통 게임
  • rod: 도로교통 게임
  • esc: 탈출 게임
  • nax: 낚시 게임
  • act: 액션 게임
  • sht: 슈팅 게임
  • puz: 퍼즐 게임
  • qiz: 퀴즈 게임
  • brd: 보드 게임
  • mus: 음악 게임
  • mlt: 멀티플레이 게임
  • cpn: 캠페인 게임
  • prd: 예언 게임
  • rnd: 랜덤 게임
  • wst: 시간 낭비하기
  • mag: 통합 게임
progress
게임의 완성도를 입력합니다. (숫자:정수:0~5, 필수)
  • 0: 변경하지 말아야 하는 공사중인 게임 변경하지 말아야 하는 공사중인 게임입니다.
  • 1: 조금 완성된 게임 조금 완성된 게임입니다.
  • 2: 중간 정도 완성된 게임 중간 정도 완성된 게임입니다.
  • 3: 거의 완성된 게임 거의 완성된 게임입니다.
  • 4: 완성되었지만 추가할 수 있는 게임 완성되었지만 추가할 수 있는 게임입니다.
  • 5: 완성되어 변경하지 말아야 하는 게임 완성되어 변경하지 말아야 하는 게임입니다.
editpolicy
게임 편집의 개방성을 결정하는 게임 편집 정책입니다. 다음 중 하나를 선택할 수 있습니다. (문자열, 필수)
  • open: 편집 가능 모두에게 편집이 개방되었습니다.
  • limited: 규칙에 따라 편집 가능 규칙에 따라 일부만 편집할 수 있습니다.
  • closed: 편집 금지 제작자 이외의 편집이 제한됩니다.
editpolicypage
게임 편집 지침이나 규칙을 안내하는 문서의 제목을 작성합니다. 게임 대문(game.json의 상위 문서)을 기준으로 한 상대 경로를 사용할 수 있습니다. (문자열:문서명, 선택)
platform
게임이 지원하는 플랫폼 목록입니다. 생략하면 web만 지원하는 것으로 간주됩니다. (문자열:소문자|배열:문자열:소문자, 선택)
  • web: 웹 웹 (무설치) (기본값)
  • windows: 윈도우 윈도우 (설치)
  • linux: 리눅스 리눅스 (설치)
  • macos: 맥 OS 맥 OS (설치)
  • android: 안드로이드 안드로이드 (설치)
  • ios: iOS iOS (설치)
  • other: 기타 기타
rating
각 등급 분류 기관별 등급 분류 정보를 입력합니다. (객체:{[문자열]:게임 이용 등급 정보}|null, 선택)
  • null: 게임 제작자가 이용가 등급 판정을 하지 않았습니다 미분류 (기본값)
libertygame
리버티게임 자체 등급 심의의 등급 분류 정보입니다. 등급면제를 제외한 grac 등급 분류 정보가 있다면 생략해도 됩니다. (객체:게임 이용 등급 정보, 선택)
age
게임 이용 등급 연령을 입력합니다. (숫자:정수|문자열, 필수)
  • "test": 평가하고 있는 중입니다 평가용
  • "all": 전체 이용가 전체 이용가
  • 12: 12세 이용가 12세 이용가
  • 15: 15세 이용가 15세 이용가
  • 18: 18세 이용가 18세 이용가
date
게임 이용 등급을 분류한 일자를 입력합니다. (문자열:날짜, 필수)
grac
게임물관리위원회(게임콘텐츠등급분류위원회 포함)의 등급 분류 정보입니다. 정식으로 등급분류나 등급면제/시험용 게임 확인을 받은 경우에만 작성하세요. (객체:게임 이용 등급 정보, 선택)
age
게임 이용 등급 연령을 입력합니다. (숫자:정수|문자열, 필수)
  • "re": 등급면제 등급면제
  • "test": 평가용 평가용
  • "all": 전체이용가 전체이용가
  • 12: 12세이용가 12세이용가
  • 15: 15세이용가 15세이용가
  • 18: 18세이용가 18세이용가
contentdescriptor
게임 내용정보를 입력합니다. (배열:문자열, 선택)
  • sexuality: 선정성 선정성
  • violence: 폭력성 폭력성
  • horror: 공포 공포
  • language: 언어의 부적절성 언어의 부적절성
  • drug: 약물 약물
  • crime: 범죄 범죄
  • gambling: 사행성 사행성
id
age가 "test"면 평가확인증번호를, "re"면 등급면제 확인증번호를, 그 외이면 등급분류번호를 입력합니다. (문자열, 필수)
  • (GC-)CC-xx-yymmdd-nnn: 등급분류번호
  • yyyy-nnnn: 평가용 평가확인증번호
  • yyyy-REnnnn: 등급면제 등급면제 확인증번호
title
등급분류/시험용게임확인/등급면제확인 상 게임의 제명을 입력합니다. name과 같은 경우 입력하지 않으며, 다른 경우에만 입력합니다. (문자열, 선택)
author
등급분류/시험용게임확인/등급면제확인 상 신청자를 입력합니다. (문자열, 필수)
authorid
게임물 제작업자 및 배급업자의 신고번호 및 등록번호를 입력합니다. 개인이 비영리로 게임을 만드는 리버티게임의 특성 상 거의 사용되지 않습니다. (문자열, 선택)
date
등급분류/시험용게임확인/등급면제확인 상 게임의 제작일자를 입력합니다. (문자열:날짜, 필수)
construction
게임 공사 여부 및 기간을 입력합니다. true를 입력하거나 공사를 마치는 날짜를 년-월-일로 입력해 주세요. . (문자열:날짜|부울, 선택)
  • "yyyy-mm-dd": 해당 날짜까지 공사중인 게임입니다.
  • true: 공사중인 게임입니다. 기한은 마지막 편집으로부터 15일 뒤까지입니다.
  • false: 공사중인 게임이 아닙니다. (기본값)
repair
게임 수리 여부 및 기간을 입력합니다. true를 입력하거나 수리를 마치는 날짜를 년-월-일로 입력해 주세요. (문자열:날짜|부울, 선택)
  • "yyyy-mm-dd": 해당 날짜까지 수리중인 게임입니다.
  • true: 수리중인 게임입니다. 기한은 마지막 편집으로부터 15일 뒤까지입니다.
  • false: 수리중인 게임이 아닙니다. (기본값)
abandon
버려진 게임을 나타냅니다. (부울, 선택)
  • true: 버려진 게임 버려진 게임입니다.
  • false: 버려진 게임이 아닙니다. (기본값)
login
로그인 필요 여부를 선택합니다. (문자열, 선택)
  • required: 로그인한 사용자만 이용할 수 있는 게임입니다. 로그인하지 않으면 모든 기능이 사용 불가능할 때 선택하세요.
  • recommended: 로그인하여 플레이할 것을 권장하는 게임입니다. 로그인하지 않으면 일부 기능이 제한될 때 선택하세요.
  • unnecessary: IP 사용자도 이용할 수 있는 게임입니다. 로그인하지 않아도 모든 기능을 제한없이 사용할 수 있을 때 선택하세요. (기본값)
saves
세이브 데이터가 저장되는 위치를 나타냅니다. 형식은 확정되지 않았습니다. (배열:문자열, 예약)

게임 이용 등급 정보

age
게임 이용 등급 연령을 입력합니다. (숫자:정수|문자열, 필수)

DB2 키 정보

DB2 키 정보는 gameDB키에 입력합니다.

기본적으로 아래와 같은 구조입니다.

{
    "gameDB": {
        "default": {
            "description": "(설명)"
        },
        "keys": {
            "(키)": {
                "description": "(설명)"
            }
        }
    }
}
gameDB
(객체, 선택)
default
기본키에 대한 정보를 입력합니다. (객체:키 정보 객체, 선택)
keys
사용자 지정 키에 대한 정보를 입력합니다. 키에 키 이름을, 값에 키 정보 객체를 작성합니다. (객체:{[문자열]:키 정보 객체}, 선택)

키 정보 객체

description
키에 대한 설명을 입력합니다. (문자열, 필수)

스키마