사용자:Hsl0: 두 판 사이의 차이
(같은 사용자의 중간 판 21개는 보이지 않습니다) | |||
1번째 줄: | 1번째 줄: | ||
{{기여횟수}} | |||
{{DISPLAYTITLE:사용자:hsl0}} | {{DISPLAYTITLE:사용자:hsl0}} | ||
{{제목|사용자:{{사용자:hsl0/서명}}}} | {{제목|사용자:{{사용자:hsl0/서명}}}} | ||
{{User auth-libertyadmin}} | {{User auth-libertyadmin}} | ||
나는야 인터페이스 탐험가. 탐험은 재밌어 | |||
== 하위 문서 == | == 하위 문서 == | ||
15번째 줄: | 14번째 줄: | ||
{{특수:접두어찾기/사용자:hsl0/|stripprefix=1}} | {{특수:접두어찾기/사용자:hsl0/|stripprefix=1}} | ||
{{글 숨김 끝}} | {{글 숨김 끝}} | ||
== 설치할만한 확장기능 == | |||
* [[mw:Extension:VisualData]] | |||
* [[mw:Extension:TemplateSandbox]] | |||
== 게임 메타데이터 도입 계획 == | == 게임 메타데이터 도입 계획 == | ||
59번째 줄: | 62번째 줄: | ||
:* 1안: 직접 선택 가능 | :* 1안: 직접 선택 가능 | ||
:* 2안: 통일 | :* 2안: 통일 | ||
== 평가/별점 개선안 == | |||
* 내가 평가한 게임들을 내가 준 별점 순서대로 정렬하여 모아볼 수 있는 기능 | |||
** 다른 사용자의 평가도 조회하고, 파서 함수나 태그를 통해 게임의 평가들을 사용자 문서에 공유 | |||
* 사용자 별 평균 별점 및 표준편차를 바탕으로 사용자 별 성향 보정 (후하게 주는 사람이 주는 1점과 짜게 주는 사람의 5점은 의미가 크다) | |||
* (원래 계획대로) 기존 5가지 문단의 평가와 산출된 별점 완전 연동 | |||
* 별점을 불러오는 파서 함수 추가 (게임카드나 게임 대문 등에 별점 표시) | |||
{| class="wikitable" | |||
! 신뢰도 →<br />↓ 표본 평균 !! {{주석|높음|신뢰도 99%에서 신뢰구간의 최댓값 < 0 또는 최솟값 > 0}} !! {{주석|보통|신뢰도 95%에서 신뢰구간의 최댓값 < 0 또는 최솟값 > 0}} !! {{주석|낮음|신뢰도 95%에서 신뢰구간의 최댓값 > 0 이고 최솟값 < 0}} | |||
|- | |||
! {{주석|매우 높음|평균 > +2}} | |||
| 압도적으로 매우 긍정적 || 대부분 매우 긍정적 | |||
| rowspan="5" | 복합적 | |||
|- | |||
! {{주석|높음|평균 > +1}} | |||
| 압도적으로 긍정적 || 대부분 긍정적 | |||
|- | |||
! {{주석|보통|-1 < 평균 < 1}} | |||
| {{주석|압도적으로 중립적|표준편차 < 0.5}} || {{주석|대부분 중립적|표준편차 < 1}} | |||
|- | |||
! {{주석|낮음|평균 < -1}} | |||
| 압도적으로 부정적 || 대부분 부정적 | |||
|- | |||
! {{주석|매우 낮음|평균 < -2}} | |||
| 압도적으로 매우 부정적 || 대부분 매우 부정적 | |||
|} | |||
== 게임 목록 개선 계획 == | == 게임 목록 개선 계획 == | ||
# 게임 메타데이터 도입 {{작업중}} | # 게임 메타데이터 도입 {{작업중}} | ||
# 게임 분류 검토 및 확정 | # 게임 분류 검토 및 확정 | ||
#* 장르별 | #* [[:분류:리버티게임 장르별 분류|장르별]] | ||
#* 완성도별 | #* [[:분류:리버티게임 완성도별 분류|완성도별]] | ||
#* 플랫폼별 | #* [[:분류:리버티게임 플랫폼별 분류|플랫폼별]] | ||
#* 등급 분류별 | #* [[:분류:리버티게임 등급 분류별 분류|등급 분류별]] | ||
#* 로그인 필요 여부별 | #* [[:분류:리버티게임 로그인 필요 여부별 분류|로그인 필요 여부별]] | ||
#* 제작자별? | #* 제작자별? | ||
#* 평가별? | #* 평가별? | ||
#* 편집 정책별(개방성) | #* [[:분류:리버티게임 게임 편집 정책별 분류|편집 정책별(개방성)]] | ||
# 게임 재분류 {{완료}} | # 게임 재분류 {{완료}} | ||
# 게임 메타데이터의 카테고리를 바탕으로 한 자동 분류 틀 개발 {{완료}} | # 게임 메타데이터의 카테고리를 바탕으로 한 자동 분류 틀 개발 {{완료}} | ||
#* [[틀:공사중]], [[틀:수리중]] 등 대문의 머릿글 틀도 함께 삽입할 지 고려 | #* [[틀:공사중]], [[틀:수리중]] 등 대문의 머릿글 틀도 함께 삽입할 지 고려 {{완료}} | ||
#*: 다만, [[틀:등급]]과 [[틀:게임 등급]]는 택일 가능하게 | #*: 다만, [[틀:등급]]과 [[틀:게임 등급]]는 택일 가능하게 {{거부|뱃지그룹으로 불필요}} | ||
# ('''DPL''' 또는 자바스크립트)를 활용해 게임 목록을 자동 생성 {{완료}} | # ('''DPL''' 또는 자바스크립트)를 활용해 게임 목록을 자동 생성 {{완료}} | ||
# 여러 장르, 개발자, 완성도, 이용 등급, 사용 기술, 평가 등 고급 필터링 기능 구현 ( | # 여러 장르, 개발자, 완성도, 이용 등급, 사용 기술, 평가 등 고급 필터링 기능 구현 (궁극적인 목표) | ||
== 미디어위키 이름공간 == | == 미디어위키 이름공간 == | ||
82번째 줄: | 112번째 줄: | ||
* [[미디어위키:Scribunto-doc-page-show]]: 모듈 설명문서 껍데기 ([[위백:미디어위키:Scribunto-doc-page-show|위백]] 복붙 고려) | * [[미디어위키:Scribunto-doc-page-show]]: 모듈 설명문서 껍데기 ([[위백:미디어위키:Scribunto-doc-page-show|위백]] 복붙 고려) | ||
== 이달의 기획 == | == 리버티게임의 현주소 == | ||
리버티게임은 위키 기반의 게임 제작 플랫폼이다. 정확히는 위키 엔진 기반이다. 하지만 위키위키는 아닌 것 같다. 위키위키는 여러 사람이 협동하여 저작물을 빠르게 만든다는 의미이다. 저작물의 주인은 없거나, 불특정 다수의 기여자 모두이다. 하지만 리버티게임은 대부분의 문서(게임)에 주인이 있고, 대부분 주인 혼자서, 또는 소수의 제작자들 끼리만 만들며, 주인 이외의 사용자는 편집이 제한된다. 이건 위키라고 할 수는 없다. | |||
물론 꼭 위키여야 하는 법은 없다. 하지만 위키가 아닌데 잘 맞지 않는 위키 엔진을 쓰고 있다. 위키 엔진을 어떻게든 활용하고 마개조하면서 꾸역꾸역 간단한 게임을 만들어왔다. 하지만 그 이상을 만들기에는 많이 번거롭다. 미디어위키 엔진은 정적인 텍스트 문서를 위한 것이기 때문이다. 그래서 퀄리티가 높은 게임이 나오기가 힘들다. 물론 퀄리티가 하향평준화되어서 큰 기술 없이도, 화려하지 않아도 되기에 초보 개발자가 주목받을 수 있는 장점은 있다. 하지만 플레이어가 원하는 게임이 되기 어렵다. 리버티게임 밖에는 훨씬 화려하고 중독성 넘치는 게임이 넘쳐난다. 그래서 리버티게임은 플레이어의 비중이 높아보이지 않는다. 물론 플레이어가 굳이 눈에 띄게 활동할 필요가 없어서 안보이는 것일 수도 있지만 말이다. 그렇다고 개발자가 많은 것도 아니다. 플레이어가 눈에 띄지도 않아 만든 보람이 점점 떨어지고, 게임을 계속 개발하면 자신의 기술과 능력치도 올라가니 퀄리티 높은 게임을 만들고 싶어지는데 여기는 너무 개발하기 비효율적이다. 로컬에서 개발하던 소스 코드와 리소스를 한번에 가져올 수 없고, 일일이 가져오거나 딴곳에 올려서 로딩해와야한다. 근데 다른 플랫폼은 올리면 바로 그곳에서 플레이할 수 있다. | |||
그럼 어떻게 할 것인가? 두가지의 길이 보인다. | |||
첫번째 길은 위키라는 기믹을 과감히 버리고 게임 제작에 최적화된 형태로 갈아엎는다. 하지만 시간과 노력이 필요하다. 게다가 독창성 없는 후발주자로써 선발주자가 큰 문제가 있지 않는 한 절대 성공할 수 없다. 설령 고퀄리티 게임이 많이 나오더라도 초보 개발자는 비교적 초라해보여서 의욕을 떨어뜨릴 수 있다. | |||
또 다른 길은 위키의 특성을 살려서 불특정 다수의 공동제작 게임의 비중을 늘린다. 그럼 확실한 특징은 가진다. 게다가 초보와 고수가 함께 개발해서 초보자는 더 큰 보람과 경험을 얻고, 고수도 단순 작업의 번거로움을 덜을 수 있다. 과거에 활발하던 시기도 주류 인기 게임들은 대부분 '기업'에 의한 공동 개발 게임들이었다. 하지만 사용자가 적으면 다 의미 없고, 정적 텍스트를 위한 위키 엔진의 한계를 벗어나기도 힘들다. 결국 계속 낮은 퀄리티의 게임을 만들거나 비효율적으로 게임을 개발/배포하거나 엔진을 크게 뜯어고쳐야 한다. | |||
어쨌든 두가지 길 모두 퀄리티 높은 게임을 위해서는 계속 개발하고 개조해야 한다. | |||
== 게임 기획 이름공간 & 이달의 기획 == | |||
아이디어는 있으나 불완전한 아이디어이거나 개발 능력이 부족해서 바로 개발하기 어려운 경우, 기획 이름공간에 게임 기획을 정리하고 해당 기획을 구현하고 확장할 개발자와 아이디어를 모은다. | |||
게임 기획은 개발 전에는 얼마든지 수정 논의를 진행하고 수정할 수 있다. 그리고 그 기획을 구현하는 게임은 누구든지 그 기획안 안에서라면 자유롭게 구현할 수 있다. | |||
향후 게임이 발전 토론에 회부될 경우, 게임의 컨셉/기획/아이디어와 구현 수준에 대한 평가를 따로 나눠서 기획부터 별로인지, 아니면 기획은 훌륭한데 구현이 잘 안되었는지를 구분하고 후자의 경우 기획안으로 게임을 다시 만들 수 있게 할 수 있다. 당장 만들 사람이 없어도 언젠가 누군가가 이를 발견할 수 있다. | |||
과거에는 큰 규모의 게임을 기획하고 만들 때 자신이 속한 기업의 구성원들이 아이디어를 서로 구현해주며 개발해왔다. 하지만 자기들끼리 파벌을 만들어 친목질하고, 자기들끼리만 품앗이하는 현상이라 비판 끝에 폐지되었다. 그 대신 도움방이 생기기는 했지만, 잘 활용되지 않는다. 왜 활용되지 않을까? 도움방은 아이디어나 구현 방법을 논의하는 토론란이다. 하지만 이런 일은 오락실이 훨씬 간단하고 주목도도 높다. 그리고 시간이 지나면 잊혀지고 보존된다. 하지만 이 제안은 기획안을 게임처럼 관리하여 홍보하고, 당장 관심을 받지 못해도 나중에 누군가 관심을 갖게 될 때를 위해 언제나 논의와 개발이 열려있다. | |||
리버티게임은 위키를 기반했음에도 누구나 편집할 수 있는 특성을 살리는 대신에 게임마다 주인을 정해둬서 이를 억제해왔다. 전부 개방하라는 급진적인 주장은 아니지만, 어차피 주인이 잘 개발하지 못한다면 의도를 잘 남기고 그 의도 안에서 누구나 구현하고, 더 나은 아이디어가 있다면 아예 그 의도를 뒤집고 기획안을 개선할 수도 있게 하여 각자가 자기만의 게임을 만드는 것이 아닌, 모두가 함께 모든 게임을 개선해나가는 문화로 바꿔서 위키만의 특색을 살리고 리버티게임을 그저 그런 게임 창작 사이트가 아닌 특별한 사이트로 만들어야 한다. 이것이 오직 리버티게임만이 가질 수 있는 특별한 무기다. | |||
---- | |||
# 아이디어를 자유롭게 싸지를 수 있는 문서를 만들어 둔다 또는 아이디어가 괜찮은데 아쉽거나 공사가 중단된 게임을 모아둔다 | # 아이디어를 자유롭게 싸지를 수 있는 문서를 만들어 둔다 또는 아이디어가 괜찮은데 아쉽거나 공사가 중단된 게임을 모아둔다 | ||
#* 기획 이름공간을 만들고, 게임 구현 전 기획 이름공간에 기획안을 작성하게 하며 구현 시도 없이 버려진 기획안은 자유롭게 인수 가능하다. 기획을 작성하고 꼭 구현할 필요는 없는 안을 추진 | #* 기획 이름공간을 만들고, 게임 구현 전 기획 이름공간에 기획안을 작성하게 하며 구현 시도 없이 버려진 기획안은 자유롭게 인수 가능하다. 기획을 작성하고 꼭 구현할 필요는 없는 안을 추진 | ||
101번째 줄: | 154번째 줄: | ||
== 자바스크립트 강좌 == | == 자바스크립트 강좌 == | ||
* 브라우저 개발자 도구 | * 브라우저 개발자 도구 | ||
** 콘솔 | ** 기초 | ||
** 요소&스타일 | *** 콘솔 | ||
** 네트워크 | *** 요소&스타일 | ||
** 저장소 | ** 심화 | ||
** 리소스 | *** 콘솔 | ||
*** 요소&스타일 | |||
*** 네트워크 | |||
*** 저장소 | |||
*** 리소스 | |||
* Eruda 개발자 도구 | |||
** 기초 | |||
*** 콘솔 | |||
*** 요소&스타일 | |||
* 자바스크립트 | * 자바스크립트 | ||
** 원시 타입 | ** 기초 | ||
** 값 저장하기 | *** 원시 타입 | ||
** 기초 연산자 | *** 값 저장하기 | ||
** 객체와 배열 다루기 | *** 기초 연산자 | ||
** 클래스와 생성자 | *** 객체와 배열 다루기 | ||
** 유용한 ES6 문법 | *** 함수 만들기 | ||
** 유용한 객체 함수 | *** 반복문 | ||
** 유용한 배열 함수 | *** 클래스와 생성자 | ||
** Promise와 async | *** 유용한 ES6 문법 | ||
** Iterator | *** 유용한 객체 함수 | ||
** 모듈 시스템 | *** 유용한 배열 함수 | ||
*** Promise와 async | |||
** 심화 | |||
*** Iterator | |||
*** 모듈 시스템 | |||
*** 기본 자료 구조 | |||
* DOM | * DOM | ||
** 요소 선택하기 | ** 기초 | ||
** 내용 수정하기 | *** 요소 선택하기 | ||
** 데이터/속성 수정하기 | *** 내용 수정하기 | ||
** CSS 수정하기 | *** 데이터/속성 수정하기 | ||
** 이벤트 수신받기 | *** CSS 수정하기 | ||
** localStorage | *** 이벤트 수신받기 | ||
** canvas 2d 컨텍스트 | ** 심화 | ||
*** localStorage | |||
*** canvas 2d 컨텍스트 | |||
* jQuery | * jQuery | ||
** 요소 선택하기 | ** 기초 | ||
** 내용 수정하기 | *** 요소 선택하기 | ||
** 데이터/속성 수정하기 | *** 내용 수정하기 | ||
** CSS 수정하기 | *** 데이터/속성 수정하기 | ||
** AJAX | *** CSS 수정하기 | ||
** 이벤트 수신받기 | *** AJAX | ||
*** 이벤트 수신받기 | |||
* 미디어위키 웹 API | * 미디어위키 웹 API | ||
** 기본 개념 | ** 기초 | ||
** query | *** 기본 개념 | ||
** edit | *** query | ||
* 미디어위키 JS | *** edit | ||
** mw.config | * 미디어위키 JS 인터페이스 | ||
** mw.util & mw.Title | ** 기초 | ||
** mw.Api | *** mw.config | ||
** ResourceLoader 모듈 로딩 | *** mw.util & mw.Title | ||
** OOUI | *** mw.Api | ||
* 미디어위키 인터페이스와 리버티게임 플러그인 | *** ResourceLoader 모듈 로딩 | ||
** 심화 | |||
*** OOUI | |||
* 미디어위키 인터페이스와 리버티게임 플러그인 (기초) | |||
** Common.js와 스킨.js | ** Common.js와 스킨.js | ||
** PluginX | ** PluginX | ||
** 소도구와 ResourceLoader | ** 소도구와 ResourceLoader | ||
* 리버티게임 틀과 소도구 | * 리버티게임 틀과 소도구 | ||
** Tasker | ** 기초 | ||
** linkTools(가칭) | *** Tasker | ||
** DB2와 hybridStorage | *** linkTools(가칭) | ||
* Vue | ** 심화 | ||
* NodeJS | *** DB2와 hybridStorage | ||
* Vue (기초/심화) | |||
* NodeJS (심화) | |||
** 설치 | ** 설치 | ||
** npm 초기화 | ** npm 초기화 | ||
158번째 줄: | 232번째 줄: | ||
** package.json 기본 요소 | ** package.json 기본 요소 | ||
** 명령 실행하기 | ** 명령 실행하기 | ||
* 타입스크립트 | * 타입스크립트 (심화) | ||
** 설치 | ** 설치 | ||
** tsconfig.json 기본 설정 | ** tsconfig.json 기본 설정 | ||
166번째 줄: | 240번째 줄: | ||
** 미디어위키 타입 | ** 미디어위키 타입 | ||
** 리버티게임 타입 | ** 리버티게임 타입 | ||
{{사용자:hsl0/게임}} | {{사용자:hsl0/게임}} |
2024년 11월 30일 (토) 23:04 기준 최신판
이 사용자는 리버티게임의 관리자입니다. (확인) |
나는야 인터페이스 탐험가. 탐험은 재밌어
하위 문서[편집 | 원본 편집]
설치할만한 확장기능[편집 | 원본 편집]
게임 메타데이터 도입 계획[편집 | 원본 편집]
- 게임 메타데이터 명세 작성 및 확정 작업중
- 게임 메타데이터를 활용한 신형 틀 제작
- 틀:게임아이콘:
/연구소/8틀:게임카드(BANIP 제작) - 틀:등급: 대충 틀:JSON 써서 가져온다.
- 틀:게임 등급: 상동
** 등급과 게임 등급 중 양자 택일이 가능해야 함틀:뱃지그룹 도입으로 불필요 - 틀:공사중: DPL을 통해 게임 대문과 하위 문서 중 제일 최근에 수정된 문서의 수정 시간을 활용함
- 틀:수리중: 상동
- 틀:편집 정책: game.json을 바탕으로 틀:편집가능, 틀:편집금지, 틀:부분 편집가능, 틀:버려진 게임을 적절히 불러오고, 미디어위키:Editnotice-0을 통해 문서 편집창에도 표시함.
- BANIP 안의 경우 이러한 각종 게임 틀들을 게임 정보에서 호출되게 함.
- 게임 정보
- 0안: 하지 말자
- 1안: 오른쪽 위에 게임아이콘과 비슷한 아이콘을 표시한다 (또한 BANIP 안)
- 2안: 위키백과의 정보 상자와 비슷한 표를 오른쪽에 표시한다
- 3안: 그리드 또는 플랙스 형식으로 간략하게 한줄로 정보를 표시한 다음 펼쳐보게 하기 (명진 안)
- 추가 바람
- 기타 등등 추가 바람
- 틀:게임아이콘:
- 리버티게임:게임 목록의 게임아이콘을 바탕으로 게임 메타데이터를 수집/작성하는 봇 제작 완료
- 봇을 활용하여 게임 메타데이터 자동 작성 완료
- 기존 틀을 게임 메타데이터를 활용한 신형 틀로 교체 완료
- 게임 메타데이터를 생성하는 폼/도구 개발 완료
- 기존 게임 메타데이터를 수정하는 폼/도구 개발
- 게임 메타데이터 생성 과정을 포함한 게임 개발 과정을 안내하는 도우미 제작 (game.json 작성-자동 분류+공사중 틀 부착-하위 문서 이동, 도움말 링크 등 편의 기능-완성 시 (공사중 및) 도우미 틀 제거)
세이브 데이터[편집 | 원본 편집]
- 경로 문법
-
- 1안: URLPattern 문법 사용
- 2안: URI template 문법 사용
- 3안: $ 변수 사용
- 4안: 자체 문법 사용
변수는 # 접두어를 가짐- 사용자 하위 문서
- 1안: 사용자:로 시작
- 2안: 특수:내사용자문서/로 시작
- 링크 방식
-
- 1안: 원본 경로를 직접 링크
- 2안: 별명을 지정하고, 그 별명과 인자를 통해 간접 링크
- 3안: 1, 2안 모두 지원
- 사용자 하위 문서 경로
-
- 1안: 직접 선택 가능
- 2안: 통일
평가/별점 개선안[편집 | 원본 편집]
- 내가 평가한 게임들을 내가 준 별점 순서대로 정렬하여 모아볼 수 있는 기능
- 다른 사용자의 평가도 조회하고, 파서 함수나 태그를 통해 게임의 평가들을 사용자 문서에 공유
- 사용자 별 평균 별점 및 표준편차를 바탕으로 사용자 별 성향 보정 (후하게 주는 사람이 주는 1점과 짜게 주는 사람의 5점은 의미가 크다)
- (원래 계획대로) 기존 5가지 문단의 평가와 산출된 별점 완전 연동
- 별점을 불러오는 파서 함수 추가 (게임카드나 게임 대문 등에 별점 표시)
신뢰도 → ↓ 표본 평균 |
높음 | 보통 | 낮음 |
---|---|---|---|
매우 높음 | 압도적으로 매우 긍정적 | 대부분 매우 긍정적 | 복합적 |
높음 | 압도적으로 긍정적 | 대부분 긍정적 | |
보통 | 압도적으로 중립적 | 대부분 중립적 | |
낮음 | 압도적으로 부정적 | 대부분 부정적 | |
매우 낮음 | 압도적으로 매우 부정적 | 대부분 매우 부정적 |
게임 목록 개선 계획[편집 | 원본 편집]
- 게임 메타데이터 도입 작업중
- 게임 분류 검토 및 확정
- 장르별
- 완성도별
- 플랫폼별
- 등급 분류별
- 로그인 필요 여부별
- 제작자별?
- 평가별?
- 편집 정책별(개방성)
- 게임 재분류 완료
- 게임 메타데이터의 카테고리를 바탕으로 한 자동 분류 틀 개발 완료
- (DPL 또는 자바스크립트)를 활용해 게임 목록을 자동 생성 완료
- 여러 장르, 개발자, 완성도, 이용 등급, 사용 기술, 평가 등 고급 필터링 기능 구현 (궁극적인 목표)
미디어위키 이름공간[편집 | 원본 편집]
- 미디어위키:Editnotice-0: (일반) 이름공간의 편집창 상단 안내
- 미디어위키:Scribunto-doc-page-show: 모듈 설명문서 껍데기 (위백 복붙 고려)
리버티게임의 현주소[편집 | 원본 편집]
리버티게임은 위키 기반의 게임 제작 플랫폼이다. 정확히는 위키 엔진 기반이다. 하지만 위키위키는 아닌 것 같다. 위키위키는 여러 사람이 협동하여 저작물을 빠르게 만든다는 의미이다. 저작물의 주인은 없거나, 불특정 다수의 기여자 모두이다. 하지만 리버티게임은 대부분의 문서(게임)에 주인이 있고, 대부분 주인 혼자서, 또는 소수의 제작자들 끼리만 만들며, 주인 이외의 사용자는 편집이 제한된다. 이건 위키라고 할 수는 없다.
물론 꼭 위키여야 하는 법은 없다. 하지만 위키가 아닌데 잘 맞지 않는 위키 엔진을 쓰고 있다. 위키 엔진을 어떻게든 활용하고 마개조하면서 꾸역꾸역 간단한 게임을 만들어왔다. 하지만 그 이상을 만들기에는 많이 번거롭다. 미디어위키 엔진은 정적인 텍스트 문서를 위한 것이기 때문이다. 그래서 퀄리티가 높은 게임이 나오기가 힘들다. 물론 퀄리티가 하향평준화되어서 큰 기술 없이도, 화려하지 않아도 되기에 초보 개발자가 주목받을 수 있는 장점은 있다. 하지만 플레이어가 원하는 게임이 되기 어렵다. 리버티게임 밖에는 훨씬 화려하고 중독성 넘치는 게임이 넘쳐난다. 그래서 리버티게임은 플레이어의 비중이 높아보이지 않는다. 물론 플레이어가 굳이 눈에 띄게 활동할 필요가 없어서 안보이는 것일 수도 있지만 말이다. 그렇다고 개발자가 많은 것도 아니다. 플레이어가 눈에 띄지도 않아 만든 보람이 점점 떨어지고, 게임을 계속 개발하면 자신의 기술과 능력치도 올라가니 퀄리티 높은 게임을 만들고 싶어지는데 여기는 너무 개발하기 비효율적이다. 로컬에서 개발하던 소스 코드와 리소스를 한번에 가져올 수 없고, 일일이 가져오거나 딴곳에 올려서 로딩해와야한다. 근데 다른 플랫폼은 올리면 바로 그곳에서 플레이할 수 있다.
그럼 어떻게 할 것인가? 두가지의 길이 보인다.
첫번째 길은 위키라는 기믹을 과감히 버리고 게임 제작에 최적화된 형태로 갈아엎는다. 하지만 시간과 노력이 필요하다. 게다가 독창성 없는 후발주자로써 선발주자가 큰 문제가 있지 않는 한 절대 성공할 수 없다. 설령 고퀄리티 게임이 많이 나오더라도 초보 개발자는 비교적 초라해보여서 의욕을 떨어뜨릴 수 있다.
또 다른 길은 위키의 특성을 살려서 불특정 다수의 공동제작 게임의 비중을 늘린다. 그럼 확실한 특징은 가진다. 게다가 초보와 고수가 함께 개발해서 초보자는 더 큰 보람과 경험을 얻고, 고수도 단순 작업의 번거로움을 덜을 수 있다. 과거에 활발하던 시기도 주류 인기 게임들은 대부분 '기업'에 의한 공동 개발 게임들이었다. 하지만 사용자가 적으면 다 의미 없고, 정적 텍스트를 위한 위키 엔진의 한계를 벗어나기도 힘들다. 결국 계속 낮은 퀄리티의 게임을 만들거나 비효율적으로 게임을 개발/배포하거나 엔진을 크게 뜯어고쳐야 한다.
어쨌든 두가지 길 모두 퀄리티 높은 게임을 위해서는 계속 개발하고 개조해야 한다.
게임 기획 이름공간 & 이달의 기획[편집 | 원본 편집]
아이디어는 있으나 불완전한 아이디어이거나 개발 능력이 부족해서 바로 개발하기 어려운 경우, 기획 이름공간에 게임 기획을 정리하고 해당 기획을 구현하고 확장할 개발자와 아이디어를 모은다.
게임 기획은 개발 전에는 얼마든지 수정 논의를 진행하고 수정할 수 있다. 그리고 그 기획을 구현하는 게임은 누구든지 그 기획안 안에서라면 자유롭게 구현할 수 있다.
향후 게임이 발전 토론에 회부될 경우, 게임의 컨셉/기획/아이디어와 구현 수준에 대한 평가를 따로 나눠서 기획부터 별로인지, 아니면 기획은 훌륭한데 구현이 잘 안되었는지를 구분하고 후자의 경우 기획안으로 게임을 다시 만들 수 있게 할 수 있다. 당장 만들 사람이 없어도 언젠가 누군가가 이를 발견할 수 있다.
과거에는 큰 규모의 게임을 기획하고 만들 때 자신이 속한 기업의 구성원들이 아이디어를 서로 구현해주며 개발해왔다. 하지만 자기들끼리 파벌을 만들어 친목질하고, 자기들끼리만 품앗이하는 현상이라 비판 끝에 폐지되었다. 그 대신 도움방이 생기기는 했지만, 잘 활용되지 않는다. 왜 활용되지 않을까? 도움방은 아이디어나 구현 방법을 논의하는 토론란이다. 하지만 이런 일은 오락실이 훨씬 간단하고 주목도도 높다. 그리고 시간이 지나면 잊혀지고 보존된다. 하지만 이 제안은 기획안을 게임처럼 관리하여 홍보하고, 당장 관심을 받지 못해도 나중에 누군가 관심을 갖게 될 때를 위해 언제나 논의와 개발이 열려있다.
리버티게임은 위키를 기반했음에도 누구나 편집할 수 있는 특성을 살리는 대신에 게임마다 주인을 정해둬서 이를 억제해왔다. 전부 개방하라는 급진적인 주장은 아니지만, 어차피 주인이 잘 개발하지 못한다면 의도를 잘 남기고 그 의도 안에서 누구나 구현하고, 더 나은 아이디어가 있다면 아예 그 의도를 뒤집고 기획안을 개선할 수도 있게 하여 각자가 자기만의 게임을 만드는 것이 아닌, 모두가 함께 모든 게임을 개선해나가는 문화로 바꿔서 위키만의 특색을 살리고 리버티게임을 그저 그런 게임 창작 사이트가 아닌 특별한 사이트로 만들어야 한다. 이것이 오직 리버티게임만이 가질 수 있는 특별한 무기다.
- 아이디어를 자유롭게 싸지를 수 있는 문서를 만들어 둔다 또는 아이디어가 괜찮은데 아쉽거나 공사가 중단된 게임을 모아둔다
- 기획 이름공간을 만들고, 게임 구현 전 기획 이름공간에 기획안을 작성하게 하며 구현 시도 없이 버려진 기획안은 자유롭게 인수 가능하다. 기획을 작성하고 꼭 구현할 필요는 없는 안을 추진
- 거기에서 좋은 아이디어를 선별한다
- 구현이 없는 기획안의 토론란(기획토론 이름공간 또는 그냥 토론 이름공간)에 기획안에 대한 평가를 가능하게 한다.
- 평가가 좋은 게임을 큐레이션하듯 평가가 좋은 기획 또는 개발 중인 편집 개방 게임/도움이 필요한 게임을 큐레이션한다.
- 대문을 게임 즐기기/게임 만들기로 나누고 게임 즐기기에 즐겨찾는 게임과 좋은 게임을, 게임 만들기에 도움말과 좋은 기획을 전시한다.
- 매달 선별된 아이디어 중 하나를 이달의 아이디어로 지정한다.
- 이달의 기획 주제: 아예 필요한 장르 등 특정 주제를 주고 기획안을 만들고 우수한 기획을 구현하는 식의 게임잼 비슷한 형태로 진행해도 좋을 듯
- 꼭 이달이 아니어도 됨
- 나무위키에 있었던 오늘의 토막글에서 영감을 얻음.
혼자서 다 하려면 부담이 되고 열기가 점차 식어질 것이다. 그렇다고 다른 팀원을 구하기에도 부담스럽다. 하지만 모두가 니꺼내꺼없이 한 게임을 함께 만들면 어떨까? 아이디어도 구현 생각말고 일단 싸질러놓고 아이디어가 부족한 능력있는 다른 사람이 주워갈 수 있다면 어떨까? 물론 인원수가 많아야 효과가 있겠지만, 하나되어 협동하고 공통의 목표가 있다면 커뮤니티에 활력이 될 수 있지 않을까
과거에 기업이 있던 시기에는 편집도 활발했고 기업 명의로 만들어진 게임도 많았지만 친목질의 온상이라는 지적을 받고 폐지되었다. 그렇다면 기업과 비슷하게 공통된 목표를 가지되, 리버티게임 구성원 모두가 참여하면 어떨까? 협동하면 소속감이 생긴다. 친목을 차별하지 않고 두루두루 친해지면 친목질이 아니다. 이건 두마리 토끼를 잡는거다.
자바스크립트 강좌[편집 | 원본 편집]
- 브라우저 개발자 도구
- 기초
- 콘솔
- 요소&스타일
- 심화
- 콘솔
- 요소&스타일
- 네트워크
- 저장소
- 리소스
- 기초
- Eruda 개발자 도구
- 기초
- 콘솔
- 요소&스타일
- 기초
- 자바스크립트
- 기초
- 원시 타입
- 값 저장하기
- 기초 연산자
- 객체와 배열 다루기
- 함수 만들기
- 반복문
- 클래스와 생성자
- 유용한 ES6 문법
- 유용한 객체 함수
- 유용한 배열 함수
- Promise와 async
- 심화
- Iterator
- 모듈 시스템
- 기본 자료 구조
- 기초
- DOM
- 기초
- 요소 선택하기
- 내용 수정하기
- 데이터/속성 수정하기
- CSS 수정하기
- 이벤트 수신받기
- 심화
- localStorage
- canvas 2d 컨텍스트
- 기초
- jQuery
- 기초
- 요소 선택하기
- 내용 수정하기
- 데이터/속성 수정하기
- CSS 수정하기
- AJAX
- 이벤트 수신받기
- 기초
- 미디어위키 웹 API
- 기초
- 기본 개념
- query
- edit
- 기초
- 미디어위키 JS 인터페이스
- 기초
- mw.config
- mw.util & mw.Title
- mw.Api
- ResourceLoader 모듈 로딩
- 심화
- OOUI
- 기초
- 미디어위키 인터페이스와 리버티게임 플러그인 (기초)
- Common.js와 스킨.js
- PluginX
- 소도구와 ResourceLoader
- 리버티게임 틀과 소도구
- 기초
- Tasker
- linkTools(가칭)
- 심화
- DB2와 hybridStorage
- 기초
- Vue (기초/심화)
- NodeJS (심화)
- 설치
- npm 초기화
- npm 패키지 설치 및 관리
- package.json 기본 요소
- 명령 실행하기
- 타입스크립트 (심화)
- 설치
- tsconfig.json 기본 설정
- 기초 문법
- 자주 쓰는 타입
- 클래스와 인터페이스
- 미디어위키 타입
- 리버티게임 타입
committed identity - 본인인증이 필요 하면 SHA3-512로 해싱된 아래 암호의 원문을 물어보세요. (230708)