본문으로 이동

사용자:hsl0

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

나는야 인터페이스 탐험가. 탐험은 재밌어

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

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

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

  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 호환 객체로 저장됨. 정적 상수 및 게터 함수로 대체



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