리버티게임:오락실/2023년 4월

리버티게임, 모두가 만들어가는 자유로운 게임


Korean.culture-PC.bang-01.jpg
리버티게임 오락실
 2023년 4월 
새 글 쓰기
새로 고침

전체 보존문서 목록


백괴게임 당시 사용자 문서 내에 있었던 틀, 연습장 내용 소개[원본 편집]

안녕하세요. 제가 오래 전 백괴게임에 기여한 이래로 실험적으로 아래와 같은 내용을 만들어보았으나, 지금은 기억이 잘 나지 않아서 여기에 설명하고자 합니다.

명진 (토론) 2023년 4월 2일 (일) 03:46 (KST)답변[답변]

기존 switch 기반의 Data를 JSON으로 변경[원본 편집]

이번에는 현재 위키방송 체험에서 사용 중인 기존 switch 기반의 Data를 JSON으로 변경하고자 합니다. 호환을 위해 저장은 사용자 문서의 Data에 저장하거나, 아니면 비공개로 저장하는 방법을 고려하고 있습니다. 혹시 공개적으로 저장되는 데이터를 비공개로 저장하도록 마이그레이션하는 방법을 알 수 있습니까? --명진 (토론) 2023년 4월 4일 (화) 02:55 (KST)답변[답변]

일단 비공개적으로 저장하는 방법은 틀:DB틀:DB2 같은 시스템을 이용하는 방법 뿐입니다. DB는 로컬에만 저장되고, DB2의 경우 IP 사용자는 로컬에, 계정 사용자는 서버의 비공개 저장소에 저장됩니다. 이러한 시스템을 이용하려면 각 틀의 설명을 확인해 주세요. 공개된 문서에서 비공개된 저장소로 마이그레이션을 하려면 사용자가 직접 접속하는 방법 뿐입니다. 이러한 비공개 저장소는 제 3자가 건들 수 없어요. 만약 공개된 문서를 계속 사용하고 switch를 JSON으로 변경하려는 경우 {{#switch:{{{1}}}|{{풀기:#invoke:JSON|new|로 바꾸면 JSON이 됩니다. 그리고나서 컨텐츠 모델을 JSON으로 변경하는 것이 권장됩니다. 사이드바의 도구 섹션에서 문서 정보를 누른 뒤 문서 내용 모델에서 '위키텍스트' 옆의 변경 버튼을 누르고 JSON을 선택하고 요약과 함께 저장을 누르면 됩니다. 아니면 특수:콘텐츠모델변경 문서로 바로 가서 문서명을 입력하거나 특수:콘텐츠모델변경/(문서명)으로 바로 갈 수도 있죠. --hsl(토론, 기여, 게임, 메일) 2023년 4월 4일 (화) 13:24 (KST)답변[답변]

기존 switch 기반의 Data를 JSON으로 변경하면, 저장시 위키방송 체험/DB의 화면을 보여주고 싶은데, 기술적으로 가능한가요? --명진 (토론) 2023년 4월 10일 (월) 20:53 (KST)답변[답변]

저장 이후 넘어갈 페이지와 파라미터를 지정하는 기능이 있습니다. redirectquery 기능인데요, 여기에 넘어갈 CGI 파라미터를 URL 인코딩해서 넣으면 되며, 다른 페이지로 보내려면 title 파라미터에 문서명을 넣으시면 됩니다. 예를들어, 저장후 위키방송 체험/DB로 넘겨주는 저장 페이지의 get 파라미터에 redirectquery={{urlencode:title={{urlencode:위키방송 체험/DB}}}}를 추가하시면 됩니다. --hsl(토론, 기여, 게임, 메일) 2023년 4월 10일 (월) 23:40 (KST)답변[답변]
한번 테스트를 해보았는데 뭔가 이상하네요. JSON은 등호가 아닌 콜론을 씁니다! 제가 바꿔드릴까요? --hsl(토론, 기여, 게임, 메일) 2023년 4월 13일 (목) 15:23 (KST)답변[답변]
제가 미디어위키 함수와 JSON의 문법을 헷갈렸습니다. 해당 이슈는 이제 수정하였습니다. --명진 (토론) 2023년 4월 13일 (목) 16:04 (KST)답변[답변]

게임 장르 분류 재검토[원본 편집]

리버티게임의 현행 장르별 게임 분류는 통합 게임, 시간 낭비하기, 예언 게임같이 의미를 알 수 없는 분류가 있고, 사용자:hsl0/연구소/11다른 사이트의 장르 분류를 구 백괴게임에서 유래된 현행 리버티게임 분류에 대응시킨 것입니다.에서 보시다시피 모든 게임들을 커버하기 어렵습니다. 따라서 게임 목록 시스템 개편 이전에 이 분류를 개편할 필요가 있다고 생각됩니다. --hsl(토론, 기여, 게임, 메일) 2023년 4월 8일 (토) 16:21 (KST)답변[답변]

이 작업은 여러 모로 위의 game.json 양식과 연동하여 빠르게 확정하는 게 좋겠네요. 일단 중요하다 여겨지는 부분은 전부 해당 문서에 의견을 표명했습니다. --Senouis(토론장, 기여) 2023년 4월 11일 (화) 16:05 (KST)답변[답변]
의견 표명은 고맙습니다만 저 문서가 의견 표명하는 공간은 아닙니다. 의견 표명은 여기에 해주세요. 제 생각에는 리버티게임만의 독특한 분류인 어드벤처 게임의 세부분류는 존치하는 것이 좋다고 생각됩니다. --hsl(토론, 기여, 게임, 메일) 2023년 4월 11일 (화) 21:14 (KST)답변[답변]
저는 기존 백괴게임 장르 분류에서 시간 낭비하기, 통합 게임을 제외하고 시뮬레이션 게임, 캐주얼 게임, 스포츠 게임, 레이싱 게임/자동차 경주 게임 (도로를 탐험하는 도로교통 게임과는 별개이므로), 전략 게임을 추가할 것을 제안합니다. 그리고 다른 사이트에는 없는 분류이지만, 게이 테스트, 공대생 테스트같은 종류의 게임을 분류하는 테스트 게임 분류도 추가할 것을 제안합니다. 예언 게임과 랜덤 게임은 더 고려해볼 필요가 있습니다. 멀티플레이 게임 역시 장르와 별개의 분류로 분리할 것을 생각해보고 있습니다. --hsl(토론, 기여, 게임, 메일) 2023년 4월 11일 (화) 21:14 (KST)답변[답변]
시간 낭비하기 제외는 철회하겠습니다. 시간 낭비하기가 없다면 큐브와 같은 게임을 분류하기 애매해지네요. --hsl(토론, 기여, 게임, 메일) 2023년 4월 12일 (수) 18:13 (KST)답변[답변]
큐브는 비록 테마로는 방치형(클리커도 방치형에 해당되네요.)이기는 하지만, 모험을 하는 것이므로 장르로는 어드벤처로 분류하면 됩니다. --명진 (토론) 2023년 4월 13일 (목) 02:54 (KST)답변[답변]

Crystal multimedia.png 이 토론은 리버티게임:토론란/게임 장르 분류 재검토에서 계속됩니다. --hsl(토론, 기여, 게임, 메일) 2023년 4월 29일 (토) 01:31 (KST)답변[답변]

파일 깨짐 현상[원본 편집]

현재 Miraheze의 서버 문제로 인해 파일이 뜨지 않고 있으며, 업로드도 불가능하다고 합니다. 하지만 안심하십시오. 상단 공지에서 안내되는 Miraheze의 공지사항에 따르면 이미지 원본을 저장하는 서버에는 문제가 발생하지 않고, 사용자가 이미지를 확인할 수 있는 권한을 가지고 있는지 확인하는 서버에서 문제가 발생되었다고 합니다. 즉, 백괴게임 시절의 사태처럼 이미지를 다시 영영 잃어버리는 일은 없을겁니다. 다만 복구 완료 시점을 알 수 없어 이 문제가 해결될 때까지 다소 오래 걸릴 수 있겠습니다. --hsl(토론, 기여, 게임, 메일) 2023년 4월 13일 (목) 00:38 (KST)답변[답변]

문제가 해결되었다고 합니다. 만약 여전히 깨진 이미지(Miraheze 이주 이후 업로드된 이미지 한정)가 있는 경우 phab:에 제보해 주세요. --hsl(토론, 기여, 게임, 메일) 2023년 4월 17일 (월) 18:14 (KST)답변[답변]

리버티 게임 기업이라는 분류는 이제 필요 없지 않을까 싶습니다.[원본 편집]

원래는 백괴게임 기업이라는 백괴게임 기여자 그룹으로서 게임 기업이라는 설정으로 하여 게임 개발을 주도하는 모임이었습니다만, 설정놀음과 친목질이라는 명목 하에 여러 기업이라는 설정의 모임들의 소개가 삭제(리버티게임:토론란/사용자 소모임와 기업에 대하여를 참조)되어, 현존하는 설정상의 기업으로 JR 게임즈만 남았습니다. 그리고 이제는 JR 게임즈도 보존해아 할 것으로 예상됩니다. 앞으로는 이러한 게임 기업이라는 설정놀음식 모임보다는 게임 그 자체만을 개발하는 개발팀 이름(이미 델타룬 팀과 같은 사례가 있습니다.)으로 쓰는 게 더 바람직하지 않을까 싶습니다. 대신 스튜디오 그룹의 별칭을 병기하는 것으로 타협하는 것이 좋겠습니다. --명진 (토론) 2023년 4월 13일 (목) 03:30 (KST)답변[답변]

20230423 업데이트[원본 편집]

네, 4월의 말을 향해 가네요.

일단 희소식 하나가 있습니다. 드디어 리버티게임 내에서 Xash3D 엔진 구동에 성공했습니다!

아직 canvas element에 마우스 그랩이 제대로 잡히지 않아 마우스가 매우 튀고 포인터 위치가 부정확하며 마우스 포인터가 보이지 않아 UI 조작이 어렵지만, 어쨌든 돌아가게 되었습니다.

왜 이리 오래 걸렸나 하면, 일단 xash3d 웹 포트 파일이 레거시 처리가 된 이후 LLVM-Emscripten 개발 환경이 wasm을 강제하도록 변경되는 것 외에도 자체 backend 코드로 라이브러리 링킹을 하도록 변경되면서 fastcomp backend의 지원이 끊겼습니다. 또 Emscripten이 Unaligned structure(void 포인터나 통신 패킷 등의 변수가 가지는 부정형 크기의 데이터 구조) 지원이 미진해서 아예 fastcomp 백엔드를 엔진 제작 팀이 추가로 개조를 했습니다. 그래서 xash3d 웹 포트 컴파일을 레거시 환경에서 돌아가도록 시도했으나 지금까지도 실패했습니다.

그래서 일단 xash3d를 javascript로 컴파일하는데 성공한 결과물이 있는 다른 리포지토리를 포크한 뒤에 연결하는 작업을 먼저 하고 컴파일 환경 구성 재현은 천천히 하는 방식으로 선회했습니다.

그 다음은 자바스크립트 코드의 Cross-Origin 보안 문제가 걸렸는데, 이건 Hsl0님이 Miraheze에서 사용 가능한 CDN을 하나 소개하셔서 GitHub에 포크한 스크립트를 CDN을 경유해 가져올 수 있도록 하였습니다. 도와주신 Hsl0님께 감사드립니다. 일단 여기에 따로 리포지토리를 파고 JSDelivr CDN을 경유해 코드를 가져오게 되었습니다.

실제 구동 영상을 보시죠. 제가 일전에 구입했던 하프라이프 1에서 애셋을 추출한 뒤 로컬 애셋 환경, 즉 Miraheze 서버에 애셋을 저장하지 않고 클라이언트 컴퓨터에서 애셋을 zip 파일로 압축하고 업로드로 연결해 구동한 것입니다.

(여담으로, 임베드비디오 확장기능이 꺼져있는 것을 도중에 발견해서 덤으로 활성화했습니다)

Xash3D 엔진 게임을 리버티게임에서 배포할 때 애셋은 당연히 지적재산권 문제가 있으므로 리버티게임에서 Xash3D 기반 게임을 제작할 때 애셋은 애셋 폴더만 zip 파일로 압축해 구글 드라이브 공유 등으로 배포하도록 강제할 겁니다. 소스 코드는 일단 하프라이프로 모딩하는 건 라이선스 변경 필요 없이 밸브가 공개한 코드를 기반으로 해도 무방합니다. 그리고 게임 별로 별도의 JS 파일을 분리한 경우에는 그냥 (Xash3D 틀이 삽입된 문서)/lib/(내부적으로 처리되는 게임 이름).js 문서를 만들어 거기에 컴파일 결과물 스크립트를 복붙하는 식으로 구현할 수 있습니다.

또 기존에 있는 JS 코드로 된 하프라이프 기반 모드들은 그냥 리버티게임으로 가져오시면 안 됩니다. ModDB나 GameBanana에서 공개된 애셋을 가지고 직접 만드세요. 기존 모드의 코드가 공개된 경우에 한해 GPL 등의 라이선스 확인하고 코드 긁어오는 건 가능합니다. 비영리 게임을 만드는 리버티게임에서는 GPL로 코드 라이선스를 지정해두는 것이 낫습니다.

Hammer++(밸브의 공식 에디터인 그냥 Hammer는 불편하므로 서드파티 툴인 Hammer++ 쓰세요)로 단일 레벨로 구성된 게임을 만드는 것을 권장하며, 게임 음악 작곡은 DAW를 다룰 수 있으면 그걸로, 트래커를 쓴다면 OpenMPT나 Famitracker로 'wav 파일'을 만드시면 됩니다. 이미지 파일은 BMP 파일뿐만 아니라 TGA 파일을 편집 가능한 툴로 하세요(그림판은 권장하지 않습니다). 블렌더로 모델링한 것을 MDL 파일로 내보낼 수 있고, 자잘한 모델링은 ModDB랑 GameBanana, 심지어 한정적이지만 스팀 창작마당에서 다운로드 링크가 공개된 것을 가져올 수 있습니다.

이걸 다듬기만 해도 일단 Xash3D 이식의 한 고개를 넘습니다. 이 달의 남은 기간 동안 플레이에 불편함이 없도록 수정한 뒤에 완전히 정상 작동함을 확인 후에 틀 문서로 옮기고 마일스톤의 관련 항목이 완료될 것입니다. 상기한 내용들은 Xash3D 이식 작업이 완전히 끝난 다음에 도움말 문서에 제작 방법과 리버티게임의 Xash3D 게임 관련 정책, 팁 등의 형태로 더 자세히 기록될 것입니다.


한편 Hsl0님이 당분간 활동이 어려워진다 밝히신 바가 있어, 게임 목록 문서에 관해 하나 정하고 가야겠습니다. 메타데이터 구조는 이대로 확정해도 괜찮겠는데, 아무래도 아직 작동하지 않는 game.json 하위 문서와 새로운 게임 목록 문서는 Hsl0님이 남긴 자료를 바탕으로 제가 직접 만들어야 할 것 같습니다. 자바스크립트로 가능한 작업 중 본인이 시간 상 하기 어려운 부분이 있다면 구현 세부만 적어서 넘겨주셔도 되겠습니다. Lua 모듈만 제가 못 건드려서 모듈이 필요하다면 4월 내로 그쪽을 먼저 구현해 주셨으면 합니다.

덤으로 제가 이벤트 프레임워크 항목은 진행 상태를 몰라 이게 완성되어서 적용될 수 있을지 모르겠는데 이 작업이 단기 완성이 되지 않는다면 적용 및 완성은 Phase 3으로 미루는 것이 좋겠습니다. 지금 추가된 Xash3D 가젯과 거기 종속될 에디터 가젯이 사실상 마지막 가젯이 될 것 같은데, 사이트 성능 최적화에 영향을 미치는 해당 프레임워크는 지금 완성되어도 되지만 Xash3D for Libertygame(가제) 가젯이 전부 완성되면 그때 시작해도 늦지는 않을 것 같습니다(해당 가젯이 추가하는 엘레먼트는 class나 id 속성, JS 변수명 앞에 'xash-' 혹은 'emscripten' 접두사가 붙거나 붙을 예정이라 충돌 가능성이 다소 낮습니다)

묵은 발전소 항목도 처리가 끝나가고 그러면서 청사진 항목을 처리할 수 있다는 것이 실증된 것 같네요. 이대로만 갑시다, 여러분! --Senouis(토론장, 기여) 2023년 4월 23일 (일) 03:04 (KST)답변[답변]

게임아이콘 모듈은 수정된 규격에 맞게 수정하였습니다. game.json 봇 코드는 사용자:hsl2/게임 메타데이터 문서에 있고요. 게임 장르 분류의 총의가 모이지 않아 봇을 아직 돌리지 못했지만, 장르만 제외하고 우선 봇을 돌릴 것을 고려해도 될 것 같습니다. 이벤트 프레임워크는 필요할 것 같은 기능이 더 생각나서 재설계를 구상하고 있습니다. 이건 장기 프로젝트로 미뤄둬야겠습니다. --hsl(토론, 기여, 게임, 메일) 2023년 4월 29일 (토) 01:39 (KST)답변[답변]

문서 삭제 요청[원본 편집]

 이 글을 보려면 오른쪽의 "펼치기"를 눌러 주세요.

현실 고증7700번 노선 변경 및 화곡역 승차 정류소 위치 변경 반영을 위해 청라-강서 BRT 게임을 소폭 갈아엎었으며, 이에 따라 사용되지 않게 된 위 목록 문서들의 삭제를 요청드립니다. --Malgok1 (토론) 2023년 4월 23일 (일) 04:07 (KST)답변[답변]

처리 Yes check.svg완료했습니다. 기여에 감사드립니다! --Regurus (/) 2023년 4월 23일 (일) 12:50 (KST)답변[답변]

{{백괴}}에 문제가 생긴 것 같은데[원본 편집]

오늘 보니까 갑자기 바로 가기 아이콘이 뜨는 게 그냥 링크 거는 거랑 다를 바 없어졌습니다. 리다이렉트 문서는 입력한 것과 다르게 나오기도 하고요. 무슨 일이 생겼나요?--Chabiytb0792 (사용자문서/토론/관련링크) 2023년 4월 26일 (수) 21:59 (KST)답변[답변]

어느 유저 분이 수정을 하신 것 같은데, 수정한 부분이 완벽하지 않네요. 이 틀의 존재 의의가 주소를 전부 칠 필요 없이 문서명만 넣어도 백괴사전으로 연결되게 하는 데에 있어서 외부링크로 보이게 하는 것 자체는 문제 없는데 수정 전으로 롤백을 할지, 아니면 지금 상태로 외부 링크 형태를 유지하되 redirect 파라미터를 넣는 등의 추가 작업을 시행할지 고민되네요. 어떻게 하면 좋을까요? --Senouis(토론장, 기여) 2023년 4월 27일 (목) 02:09 (KST)답변[답변]
아, 그냥 롤백하겠습니다. 리다이렉트가 바로 작동하지 않는 문제는 백괴사전 내부 문제 같네요. --Senouis(토론장, 기여) 2023년 4월 27일 (목) 02:19 (KST)답변[답변]
그게 아니라 만약 {{백괴|명텐도 MB}} 문서로 틀을 치니 나오는 이름이 "MB 명텐도 MB" 였던 컷을 말한 것입니다. "명텐도 MB" 문서는 "이명박/작품" 문서의 리다이렉트 문서여서 그렇게 말 한 것이고요.--Chabiytb0792 (사용자문서/토론/관련링크) 2023년 4월 27일 (목) 14:55 (KST)답변[답변]
내부 링크에서는 | 왼쪽에 이동할 문서 이름을 입력하고 오른쪽에 표시할 이름을 입력하죠. 외부 링크에서는 | 대신 띄어쓰기로 구분합니다. 링크에 포함된 띄어쓰기가 _(언더바)로 이스케이프되어야 하는데 이스케이프하지 않아서 이러한 현상이 발생한 것 같습니다. 내부 링크로 되돌렸으므로 이 문제가 발생하지 않으며, 외부 링크 형식을 사용할 때에는 문서 제목을 {{urlencode:}} 등으로 이스케이프할 것을 잊지 말아야 합니다. --hsl(토론, 기여, 게임, 메일) 2023년 4월 27일 (목) 15:16 (KST)답변[답변]
저번 주까지만 해도 영어판 언사이클로피디아로 링크가 걸려 있어서 페이지 로딩이 안 됐었는데 고쳐졌네요.. 제 능력 밖의 수정 사항은 오락실 통해 요청하겠습니다 대신 수리해주셔서 고맙습니다. --Malgok1 (토론) 2023년 4월 29일 (토) 00:29 (KST)답변[답변]

20230429 업데이트[원본 편집]

네, 이번 달 2번째이자 마지막 업데이트입니다.

1. Xash3D 컴파일 환경 재현 성공

드디어 오늘 새벽에 Xash3D를 자바스크립트로 컴파일 할 수 있는 레거시 LLVM을 빌드하는 데에 성공했습니다(배포 안내 링크). 지금 이 리포지토리에 있는 lib 폴더의 내용물은 빌드한 LLVM으로 컴파일된 결과물로 교체된 것이며, 이 코드를 연결한 리버티게임 내 테스트 문서에서 여전히 잘 돌아가는 것으로 확인되었습니다. 컴파일에 성공함에 따라 일단 청사진의 구동 관련 마일스톤은 성공하였으며 자잘한 부분을 수정한 후에 다음 단계인 리버티게임 기능과의 연계를 위해 UI 관련 개선부터 시작하겠습니다.

엔진 코드 리포지토리는 여기로 변경되었습니다.

2. game.json 작업 연기

이제야 분류에 관한 토론이 열린 상황이라 일단 Phase 1이 급하게 입안된 것을 고려하여 게임 분류 관련 작업들은 5월~6월 중으로 연기하겠습니다. 발전소에 방치된 것도 처리하고 그 외에 문제가 제기된 것을 같이 처리하였더니 게임 분류 개선 부분을 4월 중에 처리하겠다 해놓고 연기하게 한 것에 사죄드립니다. 게임 분류 개선/게임 목록 문서 개정 역시 중요하므로 남은 금년 상반기 내에는 어떻게든 진행하겠습니다.

청사진에서는 일정 업데이트만 진행될 것입니다. 계획 내용 변동은 없습니다. --Senouis(토론장, 기여) 2023년 4월 29일 (토) 14:58 (KST)답변[답변]

특집 게임 토론, 이제 끝을 봅시다.[원본 편집]

우선 관리자로 당선되었음에도 현생의 사정으로 인해 오랫동안 활동이 적었던 점에 대해 사과드립니다.

철도 게임 정리 다음으로 적체되고 있는 토론을 들자면 특집 게임 토론을 들 수 있을 것입니다. 6~7개 정도 되는 토론 주제가 2019년 시점부터 아직까지 쌓여 있습니다.

특히 리버티게임:특집 게임/백괴복권처럼 추천평만 올리면 되는데 종결이 안 되고 방치되거나, 리버티게임:특집 게임/RPG in City처럼 추천평 선정이 안 되어 방치되거나, 리버티게임:특집 게임/백괴광역시처럼 관심도 받지 못하고 방치되어 있는 토론들도 있습니다.

활동하시는 분들이 어느 정도 있는 지금 상황에서 오랜 시간을 끌었던 특집 게임 토론에도 집중을 했으면 하는 마음에서 이렇게 글을 씁니다.

+)추천평을 작성해도 어디에 올라갈지 명문화된 규정이 없는 것으로 압니다. 일단 특집 게임 본 문서와 길라잡이에 특집 게임을 소개하고 추천평을 적는 칸을 따로 만들 필요가 있어 보입니다. --Regurus (/) 2023년 4월 30일 (일) 21:48 (KST)답변[답변]