백괴게임:게임 만들기

From 백괴게임, game enjoys you
Jump to: navigation, search
단축:
괴:만들기

게임을 만들기로 하셨습니까? 그렇다면 게임을 만들기 위한 위키 문법을 간단히 적은 길라잡이가 있습니다.

게임을 만들기 전에 한 번은 읽어보는 것이 좋을 것 같기도 합니다. 또한 다 읽어보았다면 아래의 내용을 읽어보는 것이 좋을 것 같습니다.

물론, 플래시 게임이나 자바스크립트 게임이 아닌 이상 돈슨의 게임과 같은 것은 만들 수 없습니다. 왜 그런지는 그것은 저희가 답변드릴 수 없는 부분입니다.

게임을 만들기 전에

백괴게임에서는 지켜야 할 것들이 몇 가지 있습니다.

  • 게임은 신중히 만드세요.
게임을 만들게 되면 이 게임을 완성시킬 수 있느냐 없느냐를 잘 따지세요. 완성시킬 수 있다면 다행입니다만, 이미 백괴게임에는 제작자가 사라져 버려 삭제 되고 있는 많은 수의 게임이 있습니다. 혹시 완성을 확신할 수 없고 백괴게임에 계정이 있는 사용자라면 사용자 문서의 하위 문서로 먼저 만드시고, 완성이 되었다고 판단될 때 일반 문서로 이동을 하는 것을 추천합니다.
백괴사전과 마찬가지로 백괴게임은 한국인들이 사용하는 곳입니다. 그러니까 게임도 한국어로 이루어져 있어야 하며 한국인의 정서에 맞는 게임을 만드셔야 합니다. 그리고 게임이다 보니 문서는 "웃김"을 강조하지만 여기서는 "즐거움"을 강조합니다. 되도록 즐거움을 유도시킬 수 있는 게임을 제작해주세요. 또한 백괴게임은 상식을 존중하며 사악하지 않습니다. 보편적인 한국인 정서로 볼 때 심각한 혐오감을 유발한다거나, 개인정보보호법 등 현행법을 위반하는 내용의 게임들은 만들어지는 즉시 삭제되며, 이러한 게임들을 지속적으로 만드는 제작자는 차단될 수도 있습니다.
  • 다른 제작자가 만드는 게임이면 되도록 편집하지 말아 주세요.
버려진 게임이라 판단되거나, 토론을 통해서 허락을 맡지 않은 이상, 다른 사용자가 만들거나 만들고 있는 게임들을 건드리지 말아주세요. 역효과로 질 낮은 게임이 만들어지거나 처음 제작자가 의도했던 것과 다른 게임이 만들어질지도 모릅니다. 또 여럿이 게임을 만들기로 했으면 가급적이면 빨리 완성해주세요. 친목질 문제가 발생할 수 있습니다.

장르 정하기

당신이 게임을 제작하고자 마음을 먹었다면 이미 여러 가지 게임을 플레이해 보신 뒤겠지요. 그리고 백괴게임엔 여러 장르의 게임이 있다는것을 인식하셨을겁니다.

  • 어드벤처 게임
    • 여러 개의 문서를 링크를 타면서 진행합니다. 가장 쉽게 만들 수 있는 게임일지도 모릅니다. 이야기의 전개도 편합니다. 그러나 Linkget을 이용하지 않는 이상 문서를 많이 만들어야 하는 단점이 있습니다. 이런 게임들은 문학 작품으로서의 재미와 분기를 통한 게임성의 추구가 핵심입니다.
    • 분기는 반드시 만드셔야 합니다. 단순한 배드 엔딩 직행 루트도 허용되지만, 이 조차 없을 경우 게임이 아닌 소설이라 볼 수도 있어 3대 원칙 위반을 사유로 삭제될 수 있습니다.
    • 대표적으로 비밀 시리즈가 있습니다.
  • 낚시 게임
    • 어드벤처 게임의 하위 장르로, 말 그대로 낚이지 않고 엔딩까지 가는 형식의 게임입니다. 다른 어드벤처 게임과는 달리 문학성의 비중이 높지 않으며, 위키 문법과 심리적 함정을 잘 활용해야 재미있는 낚시 게임을 만들 수 있습니다.
    • 대표적으로 백괴낚시가 있습니다.
  • 지능형 게임
    • 이 게임을 플레이 하려면 상당한 지능이나 아니면 노가다가 필요한 게임입니다.
    • 대표적으로는 백괴미궁Uncyclomaze가 있습니다.
  • 시간 낭비형 게임
    • 이 게임은 지능형 게임과 비슷하나 머리 사용하는 부분은 없애고 순전한 노가다를 요구하는 게임입니다. 노가다를 잘 하면 이길지도 모르는 게임입니다.
    • 대표적으로는 큐브가 있습니다.
  • 멀티플레이형 게임
    • 멀티플레이를 할 수 있는 게임입니다. 상당히 구현이 힘들다는 단점이 있지만 구현만 된다면 여러 사용자가 같이 즐길 수 있다는 장점이 있습니다.
    • 대표적으로는 틱택토, 다함께 가위바위보, 투표 게임이 있습니다.
  • 랜덤형 게임
    • <choose>나 {{#switch:{{#rand:}}}}를 통해서 만들어지는 게임입니다. 은근히 재미가 있으며 구현도 상당히 쉽습니다.
    • 대표적으로는 슬롯 머신이 있습니다.
  • 슈팅 게임
    • 말 그대로 적을 쏘는 게임입니다. 제작에 플래시나 자바스크립트 등이 필요합니다.
    • 대표적으로 픽셀 헌트가 있습니다.
  • 음악 게임
    • 음이나 박자를 맞추는 게임입니다. 제작에 플래시나 자바스크립트 등이 필요합니다.
    • 대표적으로는 백괴리겜이 있습니다.

게임 구상하기

전체적인 구조

전체적인 구조에 대해서 구상을 합니다. "내가 만들 게임은 낚시 게임이다"라고 생각하셨다면 어떤 링크를 누르면 낚이고 낚이지 않고 게임을 끝낼 수 있을지 구상을 할 수도 있겠죠.

제작 중

게임이 만약 제작 중이라면 {{게임 공사중}}을 사용해주세요. {{게임 공사중|기간=2019-08-02}}과 같이 사용하시면 됩니다. 기간은 게임이 완성될 것 같은 날로 정하며, 이 기간은 언제든지 바꿀 수 있습니다. 만일 지정하지 않는다면 해당 틀이 붙은 문서가 마지막으로 편집된 지 15일 뒤로 설정됩니다.

디자인

게임에서 디자인은 매우 중요한 역할을 합니다. 태그와 틀을 이용해서 적당하게 게임을 꾸며 주시면 됩니다.

  • 글꼴
글꼴을 선정하면 게임이 어떤 분위기인지 정할 수도 있습니다. 아래는 그 예입니다. 글꼴은 윈도리눅스 위주로 쓰여졌기 때문에 다른 OS에선 다르게 보일 수도 있습니다.

 글꼴의 예

  • 그림
그림을 오목조목 게임에 필요한 부분에 잘 넣으면 사용자들이 더 즐겁게 게임을 할 수 있게 됩니다. 필요하다면 업로드해서 사용해서도 됩니다. 다만 파일 올리기는 자동 인증된 사용자?만이 사용 가능하며, 저작권에 유의해서 올려야 합니다.

편집 지침

이 부분의 본문은 백괴게임:편집 지침입니다.

특별히 게임에 규칙이 없을 때는 편집 지침을 따라야 합니다.

요약하자면, 백괴게임에서는 한 게임을 만들 때 게임의 하위 문서 등을 만들 때는 '게임 이름/게임 내용'과 같이 만들어야 하고 링크를 걸 때 링크 앞에 *를 붙이는 것을 원칙으로 하며 *과 링크 사이에 한 칸을 띄워야 합니다.

링크는 [[한게임/시작|시작하기]] 처럼 걸면 됩니다. 이 때 [[시작하기]] 처럼 걸면 안 됩니다. '시작하기' 문서로 게임이 이어지면 해당 문서가 어느 게임의 하위 문서인지 알 수 없고, 게임 제목 내용이 뒤섞입니다.

올바른 편집의 예

다음은 일반적인 백괴게임의 편집 지침에서의 올바른 편집의 예입니다. 네모 칸 안이 편집창이라고 가정합시다. (밑줄 친 부분에 마우스를 대면 설명을 볼 수 있습니다)

너는 지금 (장소 이름)에 있다.?
어디로 갈까??
* [[(게임 이름)/(너가 위치한 장소)/(너가 갈 곳 또는 너가 할 일)|(선택지)로 가기]]?
* {{미궁|(게임 이름)/(너가 위치한 장소)/(너가 갈 곳 또는 너가 할 일)|(선택지)로 가기}}

게임을 만든 뒤

이 부분의 본문은 백괴게임:게임 알리기입니다.

게임을 만든 뒤에는 반드시 백괴게임의 게임 목록에 자신이 만든 게임을 넣어야 합니다. (게임성을 어느정도 갖췄다는 전제하에 테스팅 등의 목적으로 완성 이전에 넣어도 괜찮습니다.) 백괴게임:게임 목록에 {{게임아이콘}}에 있는 설명에 맞게 편집하시면 됩니다. 이 때 게임아이콘이 들어갈 곳은 해당 게임이 들어갈 문단에 특별히 어떻게 정렬하라고 나오지 않는 이상 가나다순으로 배치합니다. 자신이 만든 게임이라고 알리고 싶을 때에는 자신의 사용자 문서에 알리면 됩니다.

이제까지 게임을 만들 때 꼭 알아야 할 사항들을 설명하였습니다. 이제 직접 게임을 만들어 봅시다.

페이지 만들기

위에 있는 문서 만들기를 이용하여 만드시면 됩니다. 물론 게임 이름 부분엔 자신이 생각했던 게임의 이름을 적어야겠지요.

백괴게임에도 위키문법이 통하기 때문에 위키문법을 적절히 사용해서 게임을 만드시면 됩니다. 한편 하위 문서는 슬래시 (/)로 구분합니다. 링크를 걸 때와 하위 문서를 만들 때는 '게임 이름/게임 내용' 처럼 게임 이름 다음에 슬래시가 들어 있는지 확인해야 합니다. 백괴게임의 모든 게임은 백괴게임 분류에 속해야 합니다. 따라서 [[분류:백괴게임]]을 메인페이지에 넣는걸 잊지 말아주시기 바랍니다. 또한 해당 분류는 메인 페이지에만 달아 두면 됩니다.

아래부터는 게임을 만드는 데 참고하고 사용법을 익히면 좋을 기능들을 설명할 것입니다.

특수 함수 사용

이 부분의 본문은 백괴게임:특수 함수입니다.

미디어위키에 기본으로 설치되어 있거나 미디어위키에서 제공되는 확장 기능을 통해 사용할 수 있는 '특수 함수'로 더 복잡하고 자세한 것을 구현할 수 있습니다. 대개 '특수 함수'라 하면 초보 사용자들은 어려움을 느끼기 마련인데, 일단 배워서 익숙해지면 사용하기 쉬울 것입니다. 이런 특수 함수에 무엇이 있는지는 백괴게임:특수 함수에 더 자세히 나와있습니다!

틀 사용

특수 함수나 html을 사용하여 멋지게 게임을 만들려고 하는데, 뭐가 뭔지 하나도 모르겠다고요? 아니면, 게임 원본 소스가 게임을 만드는 자신도 알아보기 힘들겠다고요? 이 때문에 미디어위키에서는 틀 시스템을 제공하고 있으며, 백괴게임에서는 미디어위키의 틀 시스템을 활용해 수많은 틀을 만들어서 게임 제작자의 편의를 돕고 있습니다. 틀을 단순히 끼워넣고자 하신다면 예를 들면 틀:찬성을 껴넣고자 하신다면 {{찬성}} 식으로 껴넣으시면 됩니다. 틀에도 여러 파라미터를 적용할 수 있는데, 이런 파라미터가 있는 틀은 해당 틀 문서에서 이에 관해 설명을 해놓으니 그것을 참고하시면 됩니다.

또, 특정 게임에서만 사용될 틀을 만드실 생각이라면, 백괴게임/틀 식으로 만드시고 {{:백괴게임/틀}} 식으로 껴넣으시면 됩니다. 파라미터를 만드실 생각이라면 {{{1}}}, {{{2}}} 식으로 만드시고, {{:백괴게임/틀|1|2}} 식으로 껴넣으시거나, {{{파라미터}}} 식으로 만드시고, {{:백괴게임/틀|파라미터=파라미터}} 식으로 껴넣으시면 됩니다.

이제, 백괴게임에서 자주 쓰이는 틀을 소개합니다. 혹시 여기서 원하는 틀을 찾지 못하셨다면 백괴게임:교통에 관한 틀이나 분류:백괴게임 틀 등에서 찾을 수도 있습니다.

링크를 위한 틀

대화용 틀

설명가  : “보통의 대화를 보여줍니다.”

  • {{Q}} :
“인용 형태로 대화를 보여줍니다.”
설명가, 이 문서에서

{{Linkget}}과 {{CGI2}}의 이용

{{Linkget}}은 매개변수를 사용할 수 있게 해 주는 틀입니다. 몇몇 게임을 플레이 하다보면 ?offset=숫자 같은것들이 주소에 붙어있는것을 확인할 수 있습니다. 이런 건 {{CGI}}를 이용한 게임으로(참고로 구형입니다), 새로 만들어진 {{Linkget}}의 기능은 이와 유사합니다.

{{#urlget:var}}라고 바로 쓰게 되면 주소에 쓰여 있는 var= 뒤의 값을 바로 출력합니다. 주소에 그런 게 없다면, 아무 것도 출력하지 않습니다.
{{Linkget|링크에 나타날 텍스트|get=var=값}} 라고 바로 쓰게 되면 현재 페이지에 var의 새로운 값을 넘겨줍니다.
{{Linkget|넘길 페이지|링크에 나타날 텍스트|get=var={{#urlget:var}}}} 라고 바로 쓰게 되면 현재 var의 값을 다른 페이지로 넘겨줍니다.
지금까지 계속 변수 이름으로 var라는 것을 사용해 왔는데요, var 대신 다른 문자열을 택해도 좋습니다. 여러 변수값을 넘겨주려면 get=변수1=값1&변수2=값2&...과 같이 쓸 수 있습니다. (여기서 변수1, 변수2, ...는 아까 썼던 var와 같은 것입니다.)
title, curid, oldid, action, diff, search 등등...
물론, 이들도 잘 응용하면 사용이 가능합니다. 예를들어, 편집창으로 가는 링크를 만들땐 {{linkget|2=편집하기|get=action=edit}}과 같이 쓸 수 있습니다. 그 외에도 다양한 특수 변수를 응용할 수 있습니다. 자세한 내용은 index.php의 변수 (미디어위키 위키)문서나 #고급 내부 링크 문단을 참고해 보세요.
  • {{linkget}}을 사용하다 보면, 여러가지 변수가 쌓이게 되고, 이러한 변수를 유지하면서 새 변수를 지정하기 위해 {{linkget|페이지|텍스트|get=변수1={{#urlget:변수1}}&변수2=값2}}라고 쓰게 됩니다. 매우 길고 비효율적이죠. 이럴땐 {{CGI2}}를 이용해 보세요. 변수를 지정할 때 다른 변수를 입력할 필요가 없고, 한번에 여러 변수를 지정할 수 있습니다.
    • 위의 코드를 {{CGI2}}를 이용하여 단순하게 만들어 보겠습니다: {{CGI2|{{CGI2/변수수정|변수2|값2}}|텍스트|페이지}} 어때요, 훨씬 간결하죠?
    • {{CGI2}}를 이용하여 두가지 이상의 변수를 지정하려면 {{CGI2|{{CGI2/일괄수정|변수1=값1|변수2=값2}}|텍스트|페이지}}와 같이 쓸 수 있습니다.

{{CGI}}와 기타 여러 함수를 엮어서 사용하면 여러 가지 이벤트, 조건을 만들수가 있습니다. 아래의 예제들을 보도록하죠.


고급 내부 링크

바깥 링크를 거는 방법을 응용해서 현재 위키의 주소를 나타내는 fullurl과 문서 제목을 입력할 때 URL 주소에 맞게 글자를 변환(인코딩)을 해주는 urlencode를 사용해 고급 내부 링크를 걸 수 있습니다. 다만 {{urlencode:{{FULLPAGENAME}}}}와 같은 경우에는 {{FULLPAGENAMEE}} 처럼 ‘E’를 덧붙임으로서 문서를 URL 주소에 맞게 변환합니다.

문서를 보여줄 때

문서를 보여줄 때에는 다음과 같이 링크를 걸면 됩니다만 보여줄 내용을 태그로 글자를 꾸미지 않는 이상 쓸 필요는 없습니다.

[{{fullurl:{{urlencode:문서 제목}}|offset=오프셋}} 보여줄 내용]
  • 문서 제목 : 링크할 문서 제목을 입력합니다.
  • offset : 오프셋 숫자를 입력합니다. {{CGI}} 또는 {{Get}}에서 사용하는 변수로, 해당 숫자를 CGI 틀에 보여줄 수 있습니다.
  • 보여줄 내용 : 링크에 보여줄 내용을 입력합니다.
  • 오프셋을 사용하지 않을 때 보여줄 내용에 태그로 글자를 꾸미려면 다음과 같은 방법으로 걸 것을 권합니다.
    • [[문서 제목|보여줄 내용]]
  • 보여줄 내용을 태그로 글자를 꾸미지 않고 그냥 넣을 때에는 고급 내부 링크를 거는 대신에 다음과 같은 방법으로 걸 것을 권합니다.

편집을 할 때

편집을 할 때에는 다음과 같이 링크를 걸면 됩니다만 이 역시 보여줄 내용을 태그로 글자를 꾸미지 않는 이상 쓸 필요는 없습니다.

[{{fullurl:{{urlencode:문서 제목}}|action=edit&editintro={{urlencode:편집 윗부분에 보여줄 문서 제목}}&summary={{urlencode:편집 요약}}&minor=사소한 편집&offset=오프셋}} 보여줄 내용]

여기서 editintro, summary, minor, offset 변수는 생략할 수 있으며 나머지는 반드시 입력해야 올바른 링크가 됩니다.

  • 문서 제목 : 링크할 문서 제목을 입력합니다.
  • editintro : 편집 윗부분에 보여줄 문서 제목을 입력합니다.
  • summary : 편집 요약을 입력할 수 있습니다.
  • minor : 사소한 편집 여부를 체크합니다. 1일 때는 사소한 편집에 체크가 되며, 0일 때는 체크가 되지 않습니다.
  • offset : 오프셋 숫자를 입력합니다. {{CGI}} 또는 {{Get}}에서 사용하는 변수로, 해당 숫자를 CGI 틀에 보여줄 수 있습니다.
  • 보여줄 내용 : 링크에 보여줄 내용을 입력합니다.
  • 보여줄 내용을 태그로 글자를 꾸미지 않고 그냥 넣을 때에는 고급 내부 링크를 거는 대신에 다음과 같은 방법으로 걸 것을 권합니다. CSS 작성에 능하시다면 {{CGI2}}를 쓰시더라도 클래스 변수를 활용해 글자를 꾸밀 수 있습니다!

플래시 게임 만들기

이 부분의 본문은 백괴게임:플래시 게임 만들기입니다.

자바스크립트 게임 만들기

이 부분의 본문은 백괴게임:자바스크립트 게임 만들기입니다.
이 부분의 본문은 백괴게임:플러그인입니다.

도보시오