리버티게임:게임 메타데이터/스키마.json: 두 판 사이의 차이

리버티게임(개발), 모두가 만들어가는 자유로운 게임
둘러보기로 이동 검색으로 이동
imported>Hsl0
편집 요약 없음
imported>Hsl0
편집 요약 없음
83번째 줄: 83번째 줄:
                 }
                 }
             ],
             ],
            "pattern": "[a-z]",
             "minLength": 3,
             "minLength": 3,
             "maxLength": 3
             "maxLength": 3
        },
        "platform": {
            "title": "플랫폼",
            "type": "string",
            "description": "게임이 지원하는 플랫폼입니다.",
            "oneOf": [
                {
                    "const": "web",
                    "title": "웹",
                    "description": "웹 (무설치)"
                },
                {
                    "const": "windows",
                    "title": "윈도우",
                    "description": "윈도우 (설치)"
                },
                {
                    "const": "linux",
                    "title": "리눅스",
                    "description": "리눅스 (설치)"
                },
                {
                    "const": "macos",
                    "title": "맥 OS",
                    "description": "맥 OS (설치)"
                },
                {
                    "const": "android",
                    "title": "안드로이드",
                    "description": "안드로이드 (설치)"
                },
                {
                    "const": "ios",
                    "title": "iOS",
                    "description": "iOS (설치)"
                },
                {
                    "const": "other",
                    "title": "기타",
                    "description": "기타"
                }
            ],
            "pattern": "[a-z]"
         },
         },
         "DB2KeyInfo": {
         "DB2KeyInfo": {
115번째 줄: 159번째 줄:
             "anyOf": [
             "anyOf": [
                 {
                 {
                     "type": "string"
                     "type": "string",
                    "format": "uri-reference"
                 },
                 },
                 {
                 {
                     "type": "array",
                     "type": "array",
                     "items": {
                     "items": {
                         "type": "string"
                         "type": "string",
                        "format": "uri-reference"
                     }
                     }
                 }
                 }
206번째 줄: 252번째 줄:
             "maximum": 5
             "maximum": 5
         },
         },
         "openness": {
         "editpolicy": {
             "title": "개방성",
             "title": "게임 편집 정책",
             "type": [
             "type": "string",
                "boolean",
             "description": "게임 편집의 개방성을 결정하는 게임 편집 정책입니다.",
                "string"
            ],
             "description": "게임의 개방성을 나타냅니다.",
             "oneOf": [
             "oneOf": [
                 {
                 {
                     "const": true,
                     "const": "open",
                     "title": "편집 가능",
                     "title": "편집 가능",
                     "description": "모두에게 편집이 개방되었습니다."
                     "description": "모두에게 편집이 개방되었습니다."
                 },
                 },
                 {
                 {
                     "const": false,
                     "const": "limited",
                    "title": "규칙에 따라 편집 가능",
                    "description": "규칙에 따라 일부만 편집할 수 있습니다."
                },
                {
                    "const": "closed",
                     "title": "편집 금지",
                     "title": "편집 금지",
                     "description": "제작자 이외의 편집이 제한됩니다."
                     "description": "제작자 이외의 편집이 제한됩니다."
                },
                {
                    "const": "partial",
                    "title": "규칙에 따라 편집 가능",
                    "description": "규칙에 따라 일부만 편집할 수 있습니다."
                 }
                 }
             ]
             ],
            "pattern": "[a-z]"
         },
         },
         "tech": {
         "editpolicypage": {
             "title": "구조",
             "title": "게임 편집 지침 문서",
             "type": "string",
             "type": "string",
             "description": "게임에 사용된 기술 스택 종류를 입력합니다.",
             "description": "게임 편집 지침이나 규칙을 안내하는 문서의 제목을 작성합니다. 게임 대문(game.json의 상위 문서)을 기준으로 한 상대 경로를 사용할 수 있습니다.",
             "oneOf": [
            "format": "uri-reference"
        },
        "platform": {
            "title": "플랫폼",
            "description": "게임이 지원하는 플랫폼 목록입니다. 생략하면 web만 지원하는 것으로 간주됩니다.",
             "anyOf": [
                 {
                 {
                     "const": "link",
                     "$ref": "#/$defs/platform"
                    "title": "링크",
                    "description": "일반 링크 사용"
                 },
                 },
                 {
                 {
                     "const": "cgi",
                     "type": "array",
                     "title": "CGI",
                     "items": {
                    "description": "CGI 사용"
                        "$ref": "#/$defs/platform"
                },
                     }
                {
                    "const": "windows",
                    "title": "윈도우",
                    "description": "윈도우 실행 전용"
                },
                {
                    "const": "db",
                    "title": "DB",
                    "description": "DB 사용"
                },
                {
                    "const": "javascript",
                    "title": "자바스크립트",
                    "description": "자바스크립트 사용"
                },
                {
                    "const": "lua",
                    "title": "루아",
                     "description": "루아 사용"
                },
                {
                    "const": "other",
                    "title": "기타",
                    "description": "기타"
                 }
                 }
             ],
             ]
            "pattern": "[a-z]"
         },
         },
         "rating": {
         "rating": {
281번째 줄: 303번째 줄:
                 "integer"
                 "integer"
             ],
             ],
             "description": "게임 이용 등급 연령을 입력합니다. ",
             "description": "리버티게임 자체 등급 심의의 게임 이용 등급 연령을 입력합니다.",
             "oneOf": [
             "oneOf": [
                 {
                 {
345번째 줄: 367번째 줄:
             "type": "boolean",
             "type": "boolean",
             "description": "버려진 게임 여부입니다. 버려진 게임이 아닐 경우 입력할 필요가 없습니다."
             "description": "버려진 게임 여부입니다. 버려진 게임이 아닐 경우 입력할 필요가 없습니다."
        },
        "login": {
            "title": "로그인 필요 여부",
            "type": "string",
            "description": "로그인 필요 여부를 선택합니다.",
            "oneOf": [
                {
                    "const": "required",
                    "title": "로그인 필수",
                    "description": "로그인한 사용자만 이용할 수 있는 게임입니다. 로그인하지 않으면 모든 기능이 사용 불가능할 때 선택하세요."
                },
                {
                    "const": "recommended",
                    "title": "로그인 권장",
                    "description": "로그인하여 플레이할 것을 권장하는 게임입니다. 로그인하지 않으면 일부 기능이 제한될 때 선택하세요."
                },
                {
                    "const": "unnecessary",
                    "title": "로그인 불필요",
                    "description": "IP 사용자도 이용할 수 있는 게임입니다. 로그인하지 않아도 모든 기능을 제한없이 사용할 수 있을 때 선택하세요."
                }
            ],
            "pattern": "[a-z]"
         },
         },
         "gameDB": {
         "gameDB": {
373번째 줄: 418번째 줄:
         "genre",
         "genre",
         "progress",
         "progress",
         "openness",
         "editpolicy"
        "tech"
     ],
     ],
     "additionalProperties": false
     "additionalProperties": false
}
}

2023년 4월 7일 (금) 19:58 판

$schema"http://json-schema.org/draft-07/schema#"
$id"https://libertygame.miraheze.org/w/index.php?title=%EB%A6%AC%EB%B2%84%ED%8B%B0%EA%B2%8C%EC%9E%84:%EA%B2%8C%EC%9E%84_%EB%A9%94%ED%83%80%EB%8D%B0%EC%9D%B4%ED%84%B0/%EC%8A%A4%ED%82%A4%EB%A7%88.json&action=raw&ctype=application/json"
title"리버티게임 게임 메타데이터"
description"게임 메타데이터는 게임에 대한 정보를 리버티게임의 다양한 시스템이 읽을 수 있도록 모아놓은 JSON 문서입니다. 게임 메타데이터는 기본적으로 최상위 게임 문서의 하위 문서인 `/game.json`에 작성됩니다. 게임 메타데이터 규격은 아직 확정되지 않았습니다. 계속 논의 중이며, 언제든지 변경될 수 있습니다."
$defs
genre
title"장르"
type"string"
description"게임의 장르입니다."
oneOf
const"adv"
title"어드벤처 게임"
const"liv"
title"도시·마을 생활 게임"
const"ral"
title"철도교통 게임"
const"rod"
title"도로교통 게임"
const"esc"
title"탈출 게임"
const"nax"
title"낚시 게임"
const"act"
title"액션 게임"
const"sht"
title"슈팅 게임"
const"puz"
title"퍼즐 게임"
const"qiz"
title"퀴즈 게임"
const"brd"
title"보드 게임"
const"mus"
title"음악 게임"
const"mlt"
title"멀티플레이 게임"
const"cpn"
title"캠페인 게임"
const"prd"
title"예언 게임"
const"rnd"
title"랜덤 게임"
const"wst"
title"시간 낭비하기"
const"mag"
title"통합 게임"
pattern"[a-z]"
minLength3
maxLength3
platform
title"플랫폼"
type"string"
description"게임이 지원하는 플랫폼입니다."
oneOf
const"web"
title"웹"
description"웹 (무설치)"
const"windows"
title"윈도우"
description"윈도우 (설치)"
const"linux"
title"리눅스"
description"리눅스 (설치)"
const"macos"
title"맥 OS"
description"맥 OS (설치)"
const"android"
title"안드로이드"
description"안드로이드 (설치)"
const"ios"
title"iOS"
description"iOS (설치)"
const"other"
title"기타"
description"기타"
pattern"[a-z]"
DB2KeyInfo
title"DB2 키 정보 객체"
type"object"
properties
description
title"키 설명"
type"string"
description"키에 대한 설명을 입력합니다."
required
"description"
additionalPropertiesfalse
type"object"
properties
name
title"게임 이름"
type"string"
description"게임의 이름입니다. 상위 문서명과 다르게 입력할 수 있으며, 여기에 입력한 대로 게임아이콘에 보여집니다."
maxLength50
author
title"소유자"
description"게임의 소유자, 또는 주 기여자의 사용자 이름을 입력합니다. 다시 말해, 여러분의 사용자 이름을 입력하면 되겠습니다. 여러명이 제작한 합작 게임의 경우 배열을 사용할 수 있습니다. 유효한 사용자 문서 이름이어야 하고, `사용자:` 이름공간은 생략합니다. 만약 사용자 문서가 아닌 다른 문서를 가리키는 제작 팀의 경우 이름공간까지 포함해서 해당 문서 제목을 입력해 주세요. 이름공간이 없을 경우 그냥 `:`(콜론)으로 시작하면 됩니다."
anyOf
type"string"
format"uri-reference"
type"array"
items
type"string"
format"uri-reference"
summary
title"짧은 설명"
type"string"
description"게임에 대한 한 줄짜리 짧은 설명입니다. 80자 이내로 작성해 주세요."
maxLength80
description
title"설명"
type"string"
description"게임에 대한 간단한 설명입니다. 한 문단 정도의 분량으로 최대한 간단히 작성해 주세요."
maxLength4000
contributor
title"기여자"
description"게임을 만드는데 크거나 작게 도움을 준 기여자(조력자)의 사용자 이름을 입력합니다. 주 기여자(author)는 입력하지 않습니다."
anyOf
type"string"
type"array"
items
type"string"
genre
title"장르"
description"게임의 장르입니다. 여러 장르에 해당될 경우 배열을 사용할 수 있습니다."
anyOf
$ref"#/$defs/genre"
type"array"
items
$ref"#/$defs/genre"
progress
title"완성도"
type"integer"
description"게임의 완성도를 입력합니다."
oneOf
const0
title"변경하지 말아야 하는 공사중인 게임"
description"변경하지 말아야 하는 공사중인 게임입니다."
const1
title"조금 완성된 게임"
description"조금 완성된 게임입니다."
const2
title"중간 정도 완성된 게임"
description"중간 정도 완성된 게임입니다."
const3
title"거의 완성된 게임"
description"거의 완성된 게임입니다."
const4
title"완성되었지만 추가할 수 있는 게임"
description"완성되었지만 추가할 수 있는 게임입니다."
const5
title"완성되어 변경하지 말아야 하는 게임"
description"완성되어 변경하지 말아야 하는 게임입니다."
minimum0
maximum5
editpolicy
title"게임 편집 정책"
type"string"
description"게임 편집의 개방성을 결정하는 게임 편집 정책입니다."
oneOf
const"open"
title"편집 가능"
description"모두에게 편집이 개방되었습니다."
const"limited"
title"규칙에 따라 편집 가능"
description"규칙에 따라 일부만 편집할 수 있습니다."
const"closed"
title"편집 금지"
description"제작자 이외의 편집이 제한됩니다."
pattern"[a-z]"
editpolicypage
title"게임 편집 지침 문서"
type"string"
description"게임 편집 지침이나 규칙을 안내하는 문서의 제목을 작성합니다. 게임 대문(game.json의 상위 문서)을 기준으로 한 상대 경로를 사용할 수 있습니다."
format"uri-reference"
platform
title"플랫폼"
description"게임이 지원하는 플랫폼 목록입니다. 생략하면 web만 지원하는 것으로 간주됩니다."
anyOf
$ref"#/$defs/platform"
type"array"
items
$ref"#/$defs/platform"
rating
title"등급 분류"
type
"null"
"string"
"integer"
description"리버티게임 자체 등급 심의의 게임 이용 등급 연령을 입력합니다."
oneOf
constnull
title"미분류"
description"게임 제작자가 이용가 등급 판정을 하지 않았습니다."
const"test"
title"평가용"
description"평가하고 있는 중입니다."
const"all"
title"전체 이용가"
description"전체 이용가"
const12
title"12세 이용가"
description"12세 이용가"
const15
title"15세 이용가"
description"15세 이용가"
const18
title"18세 이용가"
description"18세 이용가"
construction
title"공사중"
anyOf
type"string"
format"date"
type"boolean"
description"게임 공사 여부 및 기간을 입력합니다. true를 입력하거나 공사를 마치는 날짜를 년-월-일로 입력해 주세요. 날짜를 입력하지 않을 경우 기한은 마지막 편집으로부터 15일 뒤로 간주됩니다. 완성된 게임은 입력할 필요가 없습니다"
repair
title"수리중"
anyOf
type"string"
format"date"
type"boolean"
description"게임 수리 여부 및 기간을 입력합니다. true를 입력하거나 수리를 마치는 날짜를 년-월-일로 입력해 주세요. 날짜를 입력하지 않을 경우 기한은 마지막 편집으로부터 15일 뒤로 간주됩니다. 수리중이 아닐 경우 입력할 필요가 없습니다."
abandon
title"버려진 게임"
type"boolean"
description"버려진 게임 여부입니다. 버려진 게임이 아닐 경우 입력할 필요가 없습니다."
login
title"로그인 필요 여부"
type"string"
description"로그인 필요 여부를 선택합니다."
oneOf
const"required"
title"로그인 필수"
description"로그인한 사용자만 이용할 수 있는 게임입니다. 로그인하지 않으면 모든 기능이 사용 불가능할 때 선택하세요."
const"recommended"
title"로그인 권장"
description"로그인하여 플레이할 것을 권장하는 게임입니다. 로그인하지 않으면 일부 기능이 제한될 때 선택하세요."
const"unnecessary"
title"로그인 불필요"
description"IP 사용자도 이용할 수 있는 게임입니다. 로그인하지 않아도 모든 기능을 제한없이 사용할 수 있을 때 선택하세요."
pattern"[a-z]"
gameDB
title"DB2 키 정보"
type"object"
properties
default
title"기본키"
$ref"#/$defs/DB2KeyInfo"
description"기본키에 대한 정보를 입력합니다."
keys
title"사용자 지정 키"
type"object"
description"사용자 지정 키에 대한 정보를 입력합니다. 키에 키 이름을, 값에 키 정보 객체를 작성합니다."
additionalProperties
$ref"#/$defs/DB2KeyInfo"
additionalPropertiesfalse
required
"name"
"author"
"summary"
"genre"
"progress"
"editpolicy"
additionalPropertiesfalse