본문으로 이동

사용자:hsl0

리버티게임, 모두가 만들어가는 자유로운 게임
2026년 9월 14일 13:37 기준 Hsl0의 총 기여횟수는 8208회입니다.
이 사용자는 리버티게임의 사무관입니다. (확인)

하위 문서[편집 | 원본 편집]

게임을 만들기 전에[편집 | 원본 편집]

게임을 만들기 전에 다음 질문을 스스로 해보십시오.

  1. 게임의 목표는 무엇인가?
  2. 비슷한 게임과의 차이점은 무엇인가?
  3. 결과가 유의미한 여러 선택지가 주어지는가?

1번에 답변하지 못하거나, 2번의 답변이 배경 뿐이라면 만들지 말아야 합니다. 이미 만들어진 게임이라면 발전소를 거쳐 삭제되어야 합니다. 3번의 답변이 '아니오'라면 게임이 아닌 소설입니다.

설치할만한 확장기능[편집 | 원본 편집]

게임 메타데이터 도입 계획[편집 | 원본 편집]

  1. 게임 메타데이터 명세 작성 및 확정 작업중
  2. 게임 메타데이터를 활용한 신형 틀 제작
  3. 리버티게임:게임 목록의 게임아이콘을 바탕으로 게임 메타데이터를 수집/작성하는 제작 완료
  4. 봇을 활용하여 게임 메타데이터 자동 작성 완료
  5. 기존 틀을 게임 메타데이터를 활용한 신형 틀로 교체 완료
  6. 게임 메타데이터를 생성하는 폼/도구 개발 완료
    1. 기존 게임 메타데이터를 수정하는 폼/도구 개발
  7. 게임 메타데이터 생성 과정을 포함한 게임 개발 과정을 안내하는 도우미 제작 (game.json 작성-자동 분류+공사중 틀 부착-하위 문서 이동, 도움말 링크 등 편의 기능-완성 시 (공사중 및) 도우미 틀 제거)

세이브 데이터[편집 | 원본 편집]

경로 문법
  • 1안: URLPattern 문법 사용
  • 2안: URI template 문법 사용
  • 3안: $ 변수 사용
  • 4안: 자체 문법 사용
    • 변수는 # 접두어를 가짐
    • 사용자 하위 문서
      • 1안: 사용자:로 시작
      • 2안: 특수:내사용자문서/로 시작
링크 방식
  • 1안: 원본 경로를 직접 링크
  • 2안: 별명을 지정하고, 그 별명과 인자를 통해 간접 링크
  • 3안: 1, 2안 모두 지원
사용자 하위 문서 경로
  • 1안: 직접 선택 가능
  • 2안: 통일

평가/별점 개선안[편집 | 원본 편집]

  • 내가 평가한 게임들을 내가 준 별점 순서대로 정렬하여 모아볼 수 있는 기능
    • 다른 사용자의 평가도 조회하고, 파서 함수나 태그를 통해 게임의 평가들을 사용자 문서에 공유
  • 사용자 별로 각 별점의 비율을 집계하여 게임 평가에 반영되는 점수는 내 별점에 해당하는 누적 백분율이다.
    • 후하게 주는 사람이 주는 1점과 짜게 주는 사람의 5점은 의미가 크다
    • 누적 백분율: 1점부터 해당 별점까지의 비율의 합을 백분율로 산출
  • (원래 계획대로) 기존 5가지 문단의 평가와 산출된 별점 완전 연동
  • 별점을 불러오는 파서 함수 추가 (게임카드나 게임 대문 등에 별점 표시)

게임 목록 개선 계획[편집 | 원본 편집]

  1. 게임 메타데이터 도입 작업중
    • 메타데이터 편집기
  2. 게임 분류 검토 및 확정
  3. 게임 재분류 완료
  4. 게임 메타데이터의 카테고리를 바탕으로 한 자동 분류 틀 개발 완료
  5. (DPL 또는 자바스크립트)를 활용해 게임 목록을 자동 생성 완료
  6. 여러 장르, 개발자, 완성도, 이용 등급, 사용 기술, 평가 등 고급 필터링 기능 구현 (궁극적인 목표)

미디어위키 이름공간[편집 | 원본 편집]

PluginNext[편집 | 원본 편집]

  • 샌드박스 (iframe sandbox)에서 스크립트를 작동해 예스맨에게도 안전함
    • DOM 미러링: 일정 영역의 DOM을 샌드박스 내부와 외부를 동기화시켜서 스크립트가 iframe 샌드박스 내부에서 복제된 DOM을 수정하면 외부에도 반영됨. - 영역 밖은 수정하지 못하도록 제한됨 (rrweb 이용)
      • iframe을 그대로 표시하는 대신 미러링하는 이유는 필요한 만큼의 크기만 사용하므로 공간 낭비를 최소화하고 레이아웃을 더 유연성 있게 배치할 수 있음. 다른 스타일을 샌드박스 영역에도 적용할 수 있음.
    • 이벤트 전파: 미러링되는 영역의 DOM에 클릭 등 이벤트 발생시 iframe 샌드박스 내부의 대응하는 요소에 같은 이벤트를 시뮬레이션함. 스크립트는 평범하게 DOM 요소에 이벤트 리스너를 걸어두면 동일하게 작동할 것임. (rrweb 이용)
  • CSS는 호스트에 불러오는 것을 원칙으로 함
    • 다만, 컴포넌트 및 scoped CSS 사용시 게스트 CSS를 Vite를 통해 변환 후 호스트로 복제하여 지원 가능
    • 또는, Shadow DOM 사용 검토
  • Rollup(또는 Vite)를 사용
    • ResourceLoader 모듈, 위키 문서 import를 지원하도록 import 문을 해석하고 번들링하여 샌드박스에 스크립트를 주입함
    • mediawiki.api를 import 하면 사용자에게 동의를 받고 api를 사용할 수 있음
      • 게스트 모듈은 인터페이스만 흉내낸 더미이고, 함수를 실행하면 JSON-RPC 형식의 MessageChannel를 통해 호스트에 요청을 보내 호스트에서 실행하고 결과를 게스트에 전달함 (Comlink 이용)
  • OffscreenCanvas를 통해 캔버스를 사용하는 스크립트 전용 틀 제공 (rrweb 이용)
  • Vue 컴포넌트용 틀 제공
  • DOM 미러링 없이 iframe을 그대로 보여주는 틀 제공
  • runner, view, interface, value로 구성
    • runner: 코드를 실행하는 런타임. iframe, worker, top 등으로 구성
    • view: 화면에 표시되는 것. driver: DOM, (Vue, React) VDOM, canvas, iframe (+CSS?)
    • interface: 샌드박스 외부나 다른 샌드박스가 스크립트로 실행할 수 있는 함수. interface를 실행 요청할 수 있는 stub 모듈과, interface가 실제 실행되는 worker 모듈로 구성.
    • value: 샌드박스 외부나 다른 샌드박스가 스크립트에샤 참조할 수 있는 상수 (+변수?) worker 모듈에서 값을 계산하고 정적 JSON 호환 객체로 저장됨. 정적 상수 및 게터 함수로 대체

숏츠[편집 | 원본 편집]

텍스트 게임의 본문과 선택지를 분리. 화면을 1:1 크기의 두 영역으로 나눔. 위에 본문, 아래에 선택지를 둠. 본문 대신에 이미지나 동영상을 둘 수 있고, 동영상이 재생되는 동안 선택지 자리를 비우거나 자막을 대신 띄울 수도 있음. 또는, 전체 화면 동영상을 띄울 수 있음. 숏츠 모드에서 좌우로 스와이프하며 다른 게임으로 넘길 수 있음. 전체 화면 자바스크립트 게임도 지원 고려



 committed identity - 본인인증이 필요 하면 SHA3-512로 해싱된 아래 암호의 원문을 물어보세요. (230708)