예, 뭐, 다음 계열 서비스에 슬슬 올 것이 오고 있네요.


사실 트위터나 각종 커뮤니티 사이트를 사용하면서 어쩔 수 없이 블로그에 소홀해지고 있어서 블로그를 자연스럽게 방치를 하게 돼버렸습니다. 방명록을 봤더니 세월의 흔적인듯 스팸이 엄청 남아 있군요.


티스토리에 대한 폭탄은 사실 훨씬 전에 떨어졌습니다. 아 그러고보니까 모레 백업 종료하지, 싶어서 황급히 와서 일단 데이터부터 백업시켰고요. 이틀 내에 지금 쓰던 마작 강의글 5편을 마무리지을 자신은 없는지라, 그 글을 어떻게 하게 될 지는 아래에서 다시 말씀드리겠습니다. 블로그에 백업과 트랙백을 빼겠다니 도대체 그러면서 티스토리를 굴리겠다는 건 도대체 무슨 생각인지, 아직도 감이 오질 않습니다.


송구스러운 말씀입니다만 마작 강의는 물경 4년이나 시간이 지나서야 글쓰기 연습의 일환으로 다시 하고 있습니다. 매일 최소 30분 이상은 쓰고 있으니 걱정 마세요. 아마 이번 주 내로 5편을 쓸 수 있을 것 같습니다. 하지만 모레까지 쓰는건 무립니다, 무리. 일단은 존재하는 글 중 정보성인 것만 이글루스로 마이그레이션시키는 것을 목표로 하고 있습니다. 이 블로그에는 그 뒤로 더 이상 글이 올라오지 않을 것이며, 충분히 이글루스쪽을 보는 사람이 많아진다면 그 시점에 블로그를 폭파시킬 것입니다.


예정은 다음과 같습니다.

  • 기존 마작 강의, 그리고 그 동안 맥거핀이였던 마작 강의 5편은 반드시 이번주 내로 올라옵니다.
  • 정보성 글은 보다 천천히 통합할 것입니다. 다만 시일이 지나서 죽은 정보가 된 것(e. g. 오더 숍)은 잡담성 글과 동격으로 취급합니다.
  • 잡담성 글의 통합은 예정이 없습니다. 트위터도 필요없으면 청소기 돌리는 사람인데요 뭘.


Posted by 애쉬군
,

1. 이 글을 쓰게 된 이유에 관하여

제가 이 글을 쓰게 된 경위는 "파일 크기는 해상도처럼 쓸데 없는 정보가 되어 가고 있어요."라는 텀블러 포스트 보고 나서입니다. 일단 글에서 주장하는 바로는 클라우드의 보급과 스트리밍 문화의 발달로 인해 파일 용량보다는 전송 대역폭이 더 중요해질 것이라고 합니다.

......정말로요?

말씀하신 대로 클라우드가 대두되고 스트리밍 문화가 발달한 것은 사실입니다. 하지만 이상하군요, 제 주변에서는 말씀해 주신 대로 용량에 신경쓰지 않는 사람을 별로 본 적이 없으니 말이죠. 당장 저만 해도 플래시 드라이브 용량 256기가짜리를 샀어야 했나 하는 의문에 잠 못 이루고 있으니까 말이죠. (뭐 그래도 어느 정도의 용량 관리를 통해서 잘 쓰고 있습니다. ......지금은요.) 이런 상황인데 과연 OP에서처럼 파일 크기와 스토리지 용량은 쓸모 없는 정보가 되어 가고 있는 것일까요?

2. 정말로 클라우드 때문에 용량을 신경쓸 필요가 없는 것인가?

우선, 용량을 신경 쓸 필요 없는 이유에 대해서 Google 드라이브와 문서 도구를 예시로 들어 주셨더군요. 물론, OP의 언급대로 Google 드라이브에서 고유 형식 문서의 저장 용량을 따지지 않는 것은 사실입니다. 그런데, 알고 계십니까? Google 드라이브에서 용량을 보여주지 않는다고 해서 이런 형식에 대해서 "용량 제한"이 없다는 것은 아닙니다. 이것이 클라우드 전체의 용량 제한에 들어가지는 않습니다만, 그 대신 개개의 문서에 대해서 용량 제한이 걸려 있습니다. 이 글에 따르면, 각각의 문서에 대해서 다음과 같은 용량 제한이 걸리게 됩니다.

  • 문서는 한글 51만 2천자까지 포함할 수 있습니다. 영어로는 102만 4천자인 것으로 보아 완전히 텍스트로 환산하면 1024kB인 것으로 보이네요.
  • 스프레드시트는 200만개의 데이터 셀까지 포함할 수 있습니다.
  • 프리젠테이션은 50MB를 넘지 말아야 하는데, 이는 구글의 주장에 따르면 약 200장의 슬라이드에 해당하는 양이라고 하는군요.
물론 이 용량 제한을 일반적인 사용 습관 하에서 넘기는 것은 불가능합니다만, 분명히 데이터 "용량"과 "수용 가능 용량"이라는 개념은 클라우드 문서에도 존재한다는 사실을 알 수 있었습니다. 그럼에도 불구하고 클라우드의 총 용량에서 이 문서들의 용량을 계산하지 않는 이유는, 일반인들의 사용 방식으로 작성된 일반적인 문서의 용량은 미미하기 때문입니다. 이는 마치 DVD에서 읽어주세요.txt의 용량은 사실상 무시해도 되는 것과 같은 원리입니다.

3. 왜 스토리지 용량은 마케팅 용어가 되는 것인가?

우리가 진짜로 스토리지 용량에 대해서 신경쓰지 않는다면, 큰 스토리지 용량을 가진 기계는 일반인용으로 잘 나오지 않을 것입니다. 특히 OP의 주장에 따르면 "해상도에서 DPI 중심의 마케팅으로 전환한" 애플의 경우 더더욱 그런 정책의 시행에 앞장서야죠. 그런데 말입니다......

그러면 128GB iPad Air의 출시는 어떻게 설명해야 하나요?

4. 우리는 정말로 "용량에 구애받지 않게" 데이터를 쓰고 있는 것인가?

슬프게도, 스마트폰이나 컴퓨터를 사용할 때 오로지 문서와 영상 스트리밍만 하게 되는 것이 아닙니다. 일단 어플리케이션에 공간이 많이 필요합니다. 단적인 예로, 제 맥북의 /Applications 폴더가 점령하고 있는 용량은 총 18.9GB입니다. 전문가용 어플리케이션들과 게임은 큰 용량을 요구하기에, 굉장히 큰 용량을 요구하고, 그렇지 않더라도 보통 몇십 메가바이트 정도의 용량을 점유하는 어플리케이션들이 수십 개가 쌓이기 시작하면 스마트폰과 같은 경우는 금방 용량이 차오를 것입니다. 다음으로, 스트리밍으로 해결하지 않는 대표적인 멀티미디어 컨텐츠로 애니메이션과 같이 소장하는 미디어, 그리고 음악이 있습니다. 자기가 찍은 소중한 사진들은 또 어떻고요? 이런 컨텐츠도 용량을 차지합니다. 이렇게 저장소를 꾸역꾸역 점유하다보면 어느새 16GB로는 택도 없이 부족하게 되고, 그래서 많은 사람들이 외장 SD카드를 찾거나 더 큰 저장소를 가진 디바이스를 찾습니다. 클라우드가 있다고 해도 상황은 달라지지 않습니다. 물론 클라우드에 많은 데이터를 저장하게 되어서 용량을 아끼는 효과는 있겠습니다만은, OP에서도 언급되었듯이 결국 클라우드도 로컬 저장소를 캐시로 쓰게 됩니다. 그러니 클라우드를 쓴다고 해서 완전히 용량에 무관해지진 않습니다.

5. 맺음말

결론적으로 말씀드리자면, 파일 크기와 저장소 용량은 아직 유의미하고, 앞으로도 유의미할 정보입니다. 물론 무어의 법칙에 의해서 저장소의 저장 용량은 꾸준히 증가할 것이고, 그에 반해 일반적인 문서 작업으로 인해서 발생하는 용량은 크게 늘지 않습니다. 하지만 지금까지 하드웨어 성능이 발전함에 따라 사진과 같은 멀티미디어 컨텐츠의 용량, 그리고 어플리케이션의 용량은 꾸준히 증가하는 추세를 보여 왔으며, 이것들을 클라우드화시키는 것은 앞으로도 머나먼 미래의 이야기일 것입니다. 그러므로, 저장 공간은 꽤 오랫동안 (제 생각에는 영원히) 정보 처리 기기를 사용하는 이들의 골칫거리이자 관심사가 될 것이라고 생각합니다.

번외편: 해상도는 정말로 무의미한 정보가 되어 가고 있는가?

뭐, 사실 저는 애플의 사상을 지지하는 편은 아닙니다만, 만약 "앱등이"의 의미를 애플 제품 마니아라고 한정한다면, 아이패드에 맥북 프로를 사용하는 저 역시 "앱등이"라고 불려도 할 말이 없습니다. 하지만 그런 비슷한 처지임에도 불구하고 글에서 짤막하게 언급해 주신 것과 같이 해상도가 무의미한 개념이라고는 생각하지 못하겠습니다. 하지만 글의 주제와는 영 동떨어진 이야기이니, 왜 해상도가 아직도 유의미한 정보라고 제가 생각하는지는 아래의 사진 한 장과 스크린샷 한 장을 보고 알아서 판단해 주시면 감사하겠습니다.

Posted by 애쉬군
,

넵, 제목이 곧 내용입니다.

디모 하세요. 디모 재밌어요.

Posted by 애쉬군
,

새로운 소설 초안 2편

2013. 12. 2. 22:50

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

새로운 소설 초안 1편

2013. 12. 2. 21:18

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

블로그에 글 쓰는 것도 간만이군요. 거두절미하고, 오늘은 리플렉 비트 콜레트 스프링에 새로 추가된 시스템 "오더 숍"에 대해 알아보도록 하겠습니다.

  • 수정에 도움 주신 분들

갈품님, "입문편 세번째" 내용에 대해 제보해 주셨습니다.

소미님, 악곡의 씨앗 세 번째와 매칭편 세번째를 제보해 주셨습니다.

  • 수정 기록
  • "오더 숍"이란?

간단히 말하면, "리플렉 비트 도전 과제" 같은 겁니다. "어떤 곡을 플레이해라"라든지, "어떤 조건으로 플레이해라" 같은 조건들을 내걸고, 그 조건에 맞춰서 몇 번 플레이하면 보상을 주는 겁니다. 도전 과제의 예로는 "매칭된 상태로 해라", "레벨 X의 곡을 해라" 같은 것들이 있지요. 도전 과제는 한번에 두 개까지 받을 수 있습니다.(단 레벨이 어느 정도 이상[제보 바랍니다] 오르면 세 개까지도 받을 수 있습니다.)

  • 이걸 왜 하고 있어야 하지?

스탬프해금곡 때문이죠. 물론 일부 도전과제는 저 두개를 주는 게 아니라 colette Winter 곡을 빠르게 해금하기 위해 필요한 장비를 주기도 합니다만, 그것도 "해금곡"이라 친다면 결론적으로는 사실상 저 두개를 노리고 하는 겁니다. 이번 colette Spring에서는 본인의 (Spring용) 장비 레벨이 해금할 수 있는 곡에 영향을 줍니다. 그러면 장비는 어떻게 얻냐고요? 당연히 스탬프죠. 물론 Spring 들어서 스탬프를 좀 관대하게 주는 느낌이 없진 않습니다만, 그래도 몰아서 하는 유저는 부족하기 마련입니다. 또한, 직접 해보면서 느낀 바로는, 매일 와서 챙겨가는 정도로는 부족합니다. 그럴 때 부족한 스탬프를 채우라는 의미로 내어 주는 도전과제죠.

또 하나의 목적으로는 "재미 없는 전곡순회에 스탬프라는 명분을 주어서 활력을 준다"는 것입니다. 전곡순회는 확실히 해 두면 실력에도 도움이 되고 뮤직 필을 채워서 앞으로 곡들을 해금하는 데도 도움이 됩니다만, 뭔가 게임을 억지로 하는 느낌이 들게 되어서 대부분의 사람들은 시간과 돈이 있어도 안 하기 마련입니다. 하지만 반복 가능한 도전 과제와 함께하면 스탬프라는 확실한 보상이 있으니 이제 전곡순회를 하는 것도 그렇게 기분이 나쁘지는 않겠죠.

  • 잘 알겠어. 그래서 오더 숍은 어떻게 하는 거냐?

오른쪽 아래의 오더 SHOP를 표시하기 버튼을 누릅시다.오른쪽 아래의 쁘띠하고 찾기 힘든(...) "오더 SHOP를 표시하기" 버튼을 누르면 오더 선택 창에 들어가실 수 있습니다.

왼쪽 위에는 지금 받고 있는 오더 목록이 나타납니다. 왼쪽 아래에는 모든 오더들이 나타납니다. 왼쪽 아래에서 오더를 선택하고 나면 오른쪽에서 오더를 승낙하면 됩니다.위에는 지금 받은 오더들이, 왼쪽 아래에는 자기에게 보이는 모든 오더들이 보입니다. 지금 받은 오더가 없다면 왼쪽 아래에서 받을 오더를 선택하고 오른쪽에서 오더를 승낙하면 됩니다.

  • 오더 숍 도전 과제 목록
  • 숫자에서 ?로 표기한 게 있다면 그건 제가 까먹었거나 모른다는 뜻입니다. 가끔은 부계를 파기 전에는 확인할 수 없는 골때리는 놈도 있으니 정보 주시면 감사하겠습니다.
  • 도전과제 중 반복 가능하다는 것을, 혹은 반복 불가능하다는 것을 확실히 확인한 과제는 표기하였습니다.
  • 기본 정렬 순서대로(즉, 번호순대로) 적었습니다.
  • 정확하지 않은 정보가 있으면 얼마든지 댓글로 알려주세요.

각 과제의 포맷은 다음과 같습니다.

n. 과제 이름 - 과제의 표기된 조건(실제 조건이나 힌트, 반복 가능 여부)
   보상: 해당 과제의 보상

    1. 입문편 첫번째 - 입문의 조각 1 한 개를 모아라!(BASIC 악곡 1곡을 플레이하세요, 반복 불가)
      보상: 스탬프 티켓 3개
    2. 입문편 두번째 - 입문의 조각 2 한 개를 모아라!(J-POP 카테고리나 히트차트의 악곡 1곡을 플레이하세요, 반복 불가)
      보상: 스탬프 티켓 3개
    3. 입문편 세번째 - 입문의 조각 3 한 개를 모아라!(사람과 매칭하세요, 반복 불가)
      보상: 스탬프 티켓 3개
    4. 이름편 "아"행 - "아"행의 조각 10개를 모아라(이름 정렬에서 あ行에 있는 악곡 플레이, 반복 가능)
      보상: 스탬프 티켓 3개(반복 수행시 1개)
    5. 이름편 "카"행 - "카"행의 조각 10개를 모아라(이름 정렬에서 か行에 있는 악곡 플레이, 반복 가능)
      보상: 스탬프 티켓 3개(반복 수행시 1개)
    6. 이름편 "사"행 - "사"행의 조각 10개를 모아라(이름 정렬에서 さ行에 있는 악곡 플레이, 반복 가능)
      보상: 스탬프 티켓 3개(반복 수행시 1개)
    7. 이름편 "타"행 - "타"행의 조각 10개를 모아라(이름 정렬에서 た行에 있는 악곡 플레이, 반복 가능)
      보상
      : 스탬프 티켓 3개(반복 수행시 1개)
    8. 이름편 "나"행 - "나"행의 조각 10개를 모아라(이름 정렬에서 な行에 있는 악곡 플레이, 반복 가능)
      보상: 스탬프 티켓 3개(반복 수행시 1개)
    9. 이름편 "하"행 - "하"행의 조각 10개를 모아라(이름 정렬에서 は行에 있는 악곡 플레이, 반복 가능)
      보상: 스탬프 티켓 3개(반복 수행시 1개)
    10. 이름편 "마"행 - "마"행의 조각 10개를 모아라(이름 정렬에서 ま行에 있는 악곡 플레이, 반복 가능)
      보상: 스탬프 티켓 3개(반복 수행시 1개)
    11. 이름편 "야"행 - "야"행의 조각 10개를 모아라(이름 정렬에서 や行에 있는 악곡 플레이, 반복 가능)
      보상: 스탬프 티켓 3개(반복 수행시 1개)
    12. 이름편 "라"행 - "라"행의 조각 10개를 모아라(이름 정렬에서 ら行에 있는 악곡 플레이, 반복 가능)
      보상: 스탬프 티켓 3개(반복 수행시 1개)
    13. 이름편 "와"행 - "와"행의 조각 10개를 모아라(이름 정렬에서 わ行에 있는 악곡 플레이, 반복 가능)
      보상: 스탬프 티켓 3개(반복 수행시 1개)
    14. 레벨편 ☆1 - 레벨 1의 조각 8개를 모아라(레벨 1의 악곡 플레이, 반복 가능)
      보상: 스탬프 티켓 3개(반복 수행시 1개)
    15. 레벨편 ☆2 - 레벨 2의 조각 8개를 모아라(레벨 2의 악곡 플레이, 반복 가능)
      보상: 스탬프 티켓 3개(반복 수행시 1개)
    16. 레벨편 ☆3 - 레벨 3의 조각 8개를 모아라(레벨 3의 악곡 플레이, 반복 가능)
      보상: 스탬프 티켓 3개(반복 수행시 1개)
    17. 레벨편 ☆4 - 레벨 4의 조각 10개를 모아라(레벨 4의 악곡 플레이, 반복 가능)
      보상: 스탬프 티켓 3개(반복 수행시 1개)
    18. 레벨편 ☆5 - 레벨 5의 조각 10개를 모아라(레벨 5의 악곡 플레이, 반복 가능)
      보상: 스탬프 티켓 3개(반복 수행시 1개)
    19. 레벨편 ☆6 - 레벨 6의 조각 10개를 모아라(레벨 6의 악곡 플레이, 반복 가능)
      보상: 스탬프 티켓 3개(반복 수행시 1개)
    20. 레벨편 ☆7 - 레벨 7의 조각 18개를 모아라(레벨 7의 악곡 플레이, 반복 가능)
      보상: 스탬프 티켓 4개(반복 수행시 ?개)
    21. 레벨편 ☆8(추정) - 레벨 8의 조각 ?개를 모아라(레벨 8의 악곡 플레이, 반복 가능)
      보상: 스탬프 티켓 ?개(반복 수행시 ?개)
    22. 레벨편 ☆9(추정) - 레벨 9의 조각 ?개를 모아라(레벨 9의 악곡 플레이, 반복 가능)
      보상: 스탬프 티켓 ?개(반복 수행시 ?개)
    23. 레벨편 ☆10(추정) - 레벨 10의 조각 ?개를 모아라(레벨 10의 악곡 플레이, 반복 가능)
      보상: 스탬프 티켓 ?개(반복 수행시 ?개)
    24. 레벨편 ☆10+(추정) - 레벨 10+의 조각 ?개를 모아라(레벨 10+의 악곡 플레이, 반복 가능)
      보상: 스탬프 티켓 ?개(반복 수행시 ?개)
    25. 난이도편 BASIC - BASIC의 조각 ?개를 모아라(BASIC 패턴 플레이, 반복 가능)
      보상: 스탬프 티켓 ?개(반복 수행시 1개)
    26. 난이도편 MEDIUM - MEDIUM의 조각 ?개를 모아라(MEDIUM 패턴 플레이, 반복 가능)
      보상: 스탬프 티켓 ?개(반복 수행시 1개)
    27. 난이도편 HARD - HARD의 조각 ?개를 모아라(HARD 패턴 플레이, 반복 가능)
      보상: 스탬프 티켓 ?개(반복 수행시 1개)
    28. 장르편 J-POP이 좋아 - J-POP의 조각 9개를 모아라(J-POP 카테고리의 악곡 플레이, 반복 가능)
      보상: 스탬프 티켓 3개(반복 수행시 1개)
    29. 장르편 애니메이션·게임이 좋아 - 애니메이션·게임의 조각 10개를 모아라(애니메이션·게임 카테고리의 악곡 플레이, 반복 가능)
      보상: 스탬프 티켓 3개(반복 수행시 1개)
    30. 장르편 버라이어티가 좋아 - 버라이어티의 조각 8개를 모아라(버라이어티 카테고리의 악곡 플레이, 반복 가능)
      보상: 스탬프 티켓 3개(반복 수행시 1개)
    31. 장르편 코나미 오리지널이 좋아 - 코나미 오리지널의 조각 11개를 모아라(코나미 오리지널 카테고리의 악곡 플레이, 반복 가능)
      보상: 스탬프 티켓 3개(반복 수행시 1개)
    32. 버전편 초대작 - 초대작의 조각 ?개를 모아라(초대작부터 있던 곡을 플레이, 반복 가능)
      보상: 스탬프 티켓 ?개(반복 수행시 1개)
    33. 버전편 라임라이트 - 라임라이트의 조각 ?개를 모아라(라임라이트 시절의 곡을 플레이, 반복 가능)
      보상: 스탬프 티켓 ?개(반복 수행시 1개)
    34. 버전편 콜레트 - 콜레트의 조각 ?개를 모아라(ver. colette 카테고리에서 플레이, 반복 가능)
      보상: 스탬프 티켓 ?개(반복 수행시 1개)
    35. 매칭편 누구라도 함께! - 매칭 1의 조각 ?개를 모아라(매칭 플레이, 반복 가능)
      보상: 스탬프 티켓 ?개(반복 수행시 2개)
    36. 매칭편 팀 멤버와 함께! - 매칭 2의 조각 12개를 모아라(팀 멤버와 매칭, 반복 가능)
      보상: 스탬프 티켓 6개(반복 수행시 ?개)
    37. 매칭편 프렌드와 함께! - 매칭 3의 조각 ?개를 모아라(상호 프렌드와 매칭, 반복 가능)
      보상: 스탬프 티캣 ?개(반복 수행시 ?개)
    38. 겨울 장비 머리편 ☆1 - 레벨 1의 조각 8개를 모아라(레벨 1 악곡 플레이)
      보상: colette Winter 헬멧 Lv. 1
    39. 겨울 장비 머리편 ☆2 - J-POP의 조각 8개를 모아라(J-POP 카테고리의 악곡 플레이)
      보상: colette Winter 헬멧 Lv. 2
    40. 겨울 장비 머리편 ☆3 - 콜레트의 조각 10개를 모아라(ver. colette 카테고리의 악곡 플레이)
      보상: colette Winter 헬멧 Lv. 3
    41. 겨울 장비 머리편 ☆4 - 겨울의 조각 10개를 모아라(colette Winter 시절의 악곡 플레이)
      보상: colette Winter 헬멧 Lv. 4
    42. 겨울 장비 머리편 ☆5 - "마"행의 조각 12개를 모아라(이름 정렬에서 ま行에 있는 악곡 플레이)
      보상: colette Winter 헬멧 Lv. 5
    43. 겨울 장비 머리편 ☆6(추정) - 조건 확인하고 업데이트하겠습니다.
      보상(추정): colette Winter 헬멧 Lv. 6
    44. 겨울 장비 몸통편 ☆1 - 레벨 3의 조각 8개를 모아라(레벨 3 악곡 플레이)
      보상: colette Winter 의상 Lv. 1
    45. 겨울 장비 몸통편 ☆2 - 겨울의 조각 8개를 모아라(colette Winter 시절의 악곡 플레이)
      보상: colette Winter 의상 Lv. 2
    46. 겨울 장비 몸통편 ☆3 - 라임라이트의 조각 8개를 모아라(limelight 시절의 악곡 플레이)
      보상: colette Winter 의상 Lv. 3
    47. 겨울 장비 몸통편 ☆4 - 애니메이션·게임의 조각 10개를 모아라(애니메이션·게임 카테고리의 악곡 플레이)
      보상: colette Winter 의상 Lv. 4
    48. 겨울 장비 몸통편 ☆5 - "카"행의 조각 12개를 모아라(이름 정렬에서 か行에 있는 악곡 플레이)
      보상: colette Winter 의상 Lv. 5
    49. 겨울 장비 몸통편 ☆6(추정) - 조건 확인하고 업데이트하겠습니다.
      보상(추정): colette Winter 의상 Lv. 6
    50. 겨울 장비 소지품편 ☆1 - 레벨 2의 조각 8개를 모아라(레벨 2 악곡 플레이)
      보상: colette Winter 소지품 Lv. 1
    51. 겨울 장비 소지품편 ☆2 - 코나미 오리지널의 조각 8개를 모아라(코나미 오리지널 카테고리의 악곡 플레이)
      보상: colette Winter 소지품 Lv. 2
    52. 겨울 장비 소지품편 ☆3 - 겨울의 조각 8개를 모아라(colette Winter 시절의 악곡 플레이)
      보상: colette Winter 소지품 Lv. 3
    53. 겨울 장비 소지품편 ☆4 - 초대작의 조각 10개를 모아라(초대작부터 있던 악곡 플레이)
      보상: colette Winter 소지품 Lv. 4
    54. 겨울 장비 소지품편 ☆5 - "하"행의 조각 12개를 모아라(이름 정렬에서 は行에 있는 악곡 플레이)
      보상: colette Winter 소지품 Lv. 5
    55. 겨울 장비 소지품편 ☆6(추정) - 조건 확인하고 업데이트하겠습니다.
      보상(추정): colette Winter 소지품 Lv. 6
    56. 악곡의 씨앗 첫번째 - 악곡의 조각 3개를 모아라(colette Spring 신곡 플레이)
      보상: colette Garden에서 신곡을 해금할 수 있는 씨앗(!)
    57. 악곡의 씨앗 두번째 - 악곡의 조각 6개를 모아라(colette Spring 신곡 플레이)
      보상: colette Garden에서 신곡을 해금할 수 있는 씨앗
    58. 악곡의 씨앗 세번째 - 악곡의 조각 9개를 모아라(colette Spring 신곡 플레이)
      보상: colette Garden에서 신곡을 해금할 수 있는 씨앗
    • 검색어용 키워드

    콜레트 스프링, 오더 숍, 오더 숍 번역, 콜레트 오더 숍, 콜레트 오더 숍 번역, 콜레트 도전과제, 콜레트 도전과제 번역, 오더 샵, 오더 샵 번역, 콜레트 오더 샵, 콜레트 오더 샵 번역

    Posted by 애쉬군
    ,

    Duck Typing에 대하여.

    Coding 2013. 4. 5. 04:39

    오리처럼 울고 오리처럼 걷고 오리의 깃털을 가진 축생은 오리라 할 수 있을까요?

    카테고리가 코딩인데 뭔 뜬금없는 오리 이야기냐 하시겠지만, 일단 파이선에서는 그렇다고 합니다.

    # coding=UTF-8[각주:1]
    
    class Duck:
      def Quack(self):
        print "꽤애애애애애액!"
      def Feathers(self):
        print "이 오리는 녹색 깃털로 뒤덮여 있습니다."
    
    class Person:
      def Quack(self):
        print "이 사람은 최대한 애처롭게 꽤애액 거립니다."
      def Feathers(self):
        print "이 사람은 임기응변으로 땅에 떨어진 오리의 깃털을 줍습니다."
    
    donald = Duck()
    jack = Person()
    
    print "- 도날드의 경우 -"
    donald.Quack()
    donald.Feathers()
    print ""
    print "- 잭의 경우 -"
    jack.Quack()
    jack.Feathers()
    

    이 코드를 실제로 돌려보면 이런 결과가 나옵니다.

    1
    2
    3
    4
    5
    6
    7
    

    - 도날드의 경우 - 꽤애애애애애액! 이 오리는 녹색 깃털로 뒤덮여 있습니다. - 잭의 경우 - 이 사람은 최대한 애처롭게 꽤애액 거립니다. 이 사람은 임기응변으로 땅에 떨어진 오리의 깃털을 줍습니다.

    앞에서 "오리처럼 울고 오리처럼 걷고 오리의 깃털을 가진 축생"의 이야기를 꺼냈는데, 그러면 이 축생과 이 예의 공통점은 무엇일까요? 그렇습니다, 뭔가 미심쩍지만 Duck에게서 코더가 예상하고 있는 "Duck처럼 Quack할 수 있고 Duck의 Feathers를 갖고 있는" 특징을 그대로 가지고 있으니 Person도 Duck이라고 치는 것이지요. 이것을 보고 Duck typing이라고 합니다. 오리의 예를 들어서 성립된 개념이니까 Duck typing이라는 이름이 붙은 것이지요.[각주:2]

    Duck typing이라는 용어가 생겨난 것 자체는 2000년으로 거슬러 올라간다고 합니다.[각주:3] 파이선 뉴스그룹에 이런 글이 올라온 것이 시초였죠.

    그러니까, 그게 오리인지 검사하지 말고, 당신에게 오리의 무슨 행동이 필요한지에 따라 오리처럼 우는지, 오리처럼 걷는지, 등등, 등등 적절한 행동을 오리처럼 하는지 검사하세요.[각주:4]

    - Alex Martelli, 2000

    파이선은 인터페이스 같은 삽질을 하지 않고도[각주:5] 단지 클래스에서 적절한 함수의 이름을 불러주는 것만으로도 인터페이스 비스무리한 짓거리 내지는 인터페이스가 구현하고자 하는 바를 이룰 수 있습니다! 오오 파이선!

    ......이면 지금 이 포스팅의 제목이 파이선 강의가 되었어야겠죠.

    저 Duck typing이라는 개념은 꽤 논란이 있는 개념입니다. 뭐 일단 앞에서 주구장창 말씀드렸다시피 다중상속이니 추상클래스 구현이니 같은 장대한 삽질을 하지 않고도 비슷한 일을 하는 함수가 이름이 같으면 코드를 그대로 컨트럴 씨브이를 시전해도 잘 돌아갑니다. 예를 들어 오리 클래스를 만들었으니 이번에는 오리랑 비슷하게 꽥꽥거리는 거위 클래스를 만들고 싶겠죠. 분명 이것도 꽥꽥거리고 깃털이 있지만 오리는 아니니 오리에서 상속시키기도 난감하고, 그래서 그냥 새로 하나 만들기로 합니다.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    # coding=UTF-8
    
    class Duck:
      def Quack(self):
        print "꽤애애애애애액!"
      def Feathers(self):
        print "이 오리는 녹색 깃털로 뒤덮여 있습니다."
    
    class Swan:
      def Quack(self):
        print "꽤애애애애애액!"
      def Feathers(self):
        print "이 거위는 매우 아름다운 흰 털에 싸여 있습니다."
    

    이 거위(class Swan)도 물론 아까와 마찬가지로 울부짖을(?) 수 있습니다. 또, 갑자기 도날드의 종을 Swan으로 바꿔야 할 때도 다른 부분은 냅두고 donald = Duck() 부분만 donald = Swan()으로 바꿔준다면 쉽게 유지보수가 가능합니다.

    이렇게 보면 기존 코드 재활용에도 좋고, 간편한게 덕 타이핑인 것 같습니다만, 문제는 오리처럼 울고 오리의 깃털을 가진 게 용일 때 발생합니다.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    # coding=UTF-8
    
    class Dragon:
      def Quack(self):
        print "키에에에에에엥!"
        raise Exception("용이 빡쳐서 화염을 내뿜었습니다.")
      def Feathers(self):
        print "이 용은 오리의 그것과 닮은 녹회색 깃털을 달고 있습니다."
    
    donald = Dragon()
    
    print "- 용 도날드의 경우 -"
    donald.Quack()
    donald.Feathers()
    

    보시다시피, Dragon은 분명 울기도 하고 깃털도 있지만, 이 놈의 울음소리는 예사 울음소리가 아니라 돌려보는 것 자체가 Exception이 됩니다(...). 이걸 돌려보면 아래와 같은 결과가 나타납니다.

    1
    2
    3
    4
    5
    6
    7
    8
    
    - 용 도날드의 경우 -
    키에에에에에엥!
    Traceback (most recent call last):
      Line 13, in <module>
        donald.Quack()
      Line 6, in Quack
        raise Exception("용이 빡쳐서 화염을 내뿜었습니다.")
    Exception: 용이 빡쳐서 화염을 내뿜었습니다.
    

    깃털을 볼 새도 없이 용이 화염을 내뿜어서 프로그램이 조기종료되어버렸습니다! 이처럼 클래스가 Quack이란 메서드를 가지고 있긴 한데 그 Quack이 우리가 생각하는 그 Quack이 아니라면 저런 식으로 얼마든지 문제를 일으킬 소지가 있는 것입니다. 물론 Dragon에 대해 첨부된 문서를 보고 거기서 Quack에 대한 설명을 주의깊게 읽었다면 저런 문제를 일으킬 리가 없기는 합니다.

    덕 타이핑 자체는 꽤나 편리한 개념이라 정적 타입 언어인 C#과 .NET 프레임워크에까지 도입되는 기염을 토하게 됩니다. dynamic이라는 키워드가 그것인데요, 예를 들어 dynamic q;를 선언해두고 q.Quack()을 호출하면 q라는 클래스에 인자 없는 Quack이라는 함수가 있다면 그걸 그대로 부르게 됩니다.

    하지만 위에서 보여준 여러 가지 문제점들 때문에 저는 개인적으로 덕 타이핑을 쓰지 않습니다. 일단 덕 타이핑의 강점은 복붙이 편리하다는 점인데, 저렇게 문서 다 체크하고 앉아있으면 그 편의성도 결국에는 날려먹게 되죠. 또한, 함수를 호출하기 전에 최소한 그 함수가 속해 있는 클래스가 무엇인지 기본적으로는 알아야 한다는 것이 제가 프로그램을 짤 때 기본적인 철칙입니다. 오리의 비유를 다시 들자면, 그게 오리처럼 날아다니건 깃털이 오리같이 생겼건 오리과에 속해 있지 않으면 오리고 뭐고  무엇보다 결정적으로 제가 주로 쓰는 C#에는 dynamic 같은 짓 안 해도 인터페이스추상 클래스라는 신의 발명품이 있습니다.

    interface IAnatidae[각주:6]
    {
        public void Quack();
        public string Feathers { get; }
    }
    
    class Duck : IAnatidae
    {
        public void Quack()
        {
            Console.WriteLine("꽤애애애애애액!");
        }
    
        public string Feathers
        {
            get { return "녹색 깃털"; }
        }
    }
    

    여기서 오리가 될지 뭐가 될지는 모르겠지만 오리과에 속하는 뭔가를 풀고 싶으면 IAnatidae의 변수를 하나 선언해주면 됩니다. 뭔진 모르겠지만 그건 IAnatidae의 Quack 메서드와 Feathers 속성을 그대로 가지고 있을 거거든요. 그리고 그걸 울게 만들고 싶다면 그 변수에서 Quack 메서드 한 방 때려주면 됩니다. 복붙도 쉽습니다. 상대가 같은 IAnatidae면 선언할 때 생성자 하나 바꿔주면 땡입니다. 물론 누군가 악의적으로 Dragon을 IAnatidae로 속여서 그걸로 문제를 일으키는 것까지 막지는 못합니다. 하지만 최소한 "오리처럼 운"다고 해서 용이 오리가 되지는 않습니다.

    두 번째 문제는 역시 성능입니다. 덕 타이핑이 개입된다는 얘기는, 메서드나 속성의 이름을 가지고 함수를 찾아야 한다는 얘기입니다. 그러니까, 클래스를 본다→이름 표에서 "Quack"을 찾는다→Quack들 중에 인자를 받지 않으며 메서드인 것을 찾는다→찾아낸 메서드를 호출한다 라는 과정을 거쳐야 한다는 얘깁니다. 반면에 앞에서 말씀드린 인터페이스를 사용하는 언어에서는 클래스를 본다→IAnatidae 인터페이스에 정의된 Quack이 어디에 구현되어 있는지 주소표를 본다→구현된 메서드를 호출한다 라는 과정으로 이루어집니다. 앞에 비하면 빠르겠죠. 물론 그 성능차이를 씹어먹을 정도로 덕 타이핑이 편하면 모를까, 저는 앞의 이유로 덕 타이핑이 그 정도로 편하다고 생각하지는 않습니다.

    이런 이유로 저는 덕 타이핑이란 개념 자체는 나쁘지 않다고 생각합니다만, 그것을 제가 실제로 사용하지는 않습니다. 여러분의 생각은 어떠신가요?

    1. 원래의 영어로 된 예제에서는 이 놈이 필요 없었습니다. 그러나 본 블로그의 주 언어는 한국어(...)이므로 설명을 위해 print 문에 한글을 쓰다보니 저 주석이 필요해지더군요. [본문으로]
    2. 저 "오리처럼 울고 오리처럼 걷는 축생"의 이야기는 사실 프로그래밍이라는 개념이 생기기 한참 전에 나온 "오리 테스트"라는 개념입니다. 귀납 논증을 까거나(오리처럼 걷는다고 다 오리냐?) 쉽게 이해시킬 때(오리처럼 걷고 오리처럼 우니까 새로운 오리의 종이 틀림없어) 사용되는 개념이죠. [본문으로]
    3. 출처 http://en.wikipedia.org/wiki/Duck_typing [본문으로]
    4. In other words, don't check whether it IS-a duck: check whether it QUACKS-like-a duck, WALKS-like-a duck, etc, etc, depending on exactly what subset of duck-like behaviour you need to play your language-games with. [본문으로]
    5. ......태클 거실 분들을 위해, 물론 파이선에도 인터페이스와 추상 클래스라는 개념은 존재합니다. 다만 인터페이스가 Duck typing보다 꽤나 늦게 도입된 편입니다. [본문으로]
    6. I오리과(......) [본문으로]
    Posted by 애쉬군
    ,

    일단 원 출처는 엔하. 근데 각 구절마다 노래 부르기에는 영 적합한 길이가 아닌게 눈에 밟히고, 또 한국어에 잘 안 쓰이는 표현과 반대로 노래 라임하고 잘 안 맞는 표현 몇 개가 눈에 밟히네요.

    그래서 오늘 영 누군가 때문에 오보로[각주:1]가 끌리는 날이기도 하겠다, 조금 수정해 보았습니다. 이 정도면 "부르는" 데는 무리가 없을 것 같네요. 의미 전달이 제대로 되고 있는지는 모르겠지만...

    (전주)

    쫓아가더라도, 쫓아가더라도, 손가락 사이로 빠져나가는 물처럼,
    당신에게만, 당신에게만, 보이는, 맴돌고 있는 별의 그림자
    꿈이더라도, 붙잡아 줘.

    (간주)

    흘러가는 구름을 보면서, 생각하는 갈 곳 없는 이 마음.
    언젠가 보았던 날 다음엔, 푸른 소나기가 내려.
    물들어버린, 꽃잎을 흔드는, 따스함도 아니 격렬함조차도,
    안타까운 이면의 마음을, 남겨가고 있을뿐인 순간,

    쫓아가더라도, 쫓아가더라도, 손가락 사이로 빠져나가는 물처럼,
    오직 나만이, 오직 나만이, 시간을 멈춘 어둠 속에서 손을 내밀어

    (코드 올라감)

    이루어진다면, 이루어진다면, 달려나가고 싶은 상쾌한 바람 속에서,
    당신에게만, 당신에게만, 마음을 에워싸는 아득히 흐린 달

    거짓이라도 끌어안아줘,
    꿈이라면, 깨지 말아줘.

    마지막의 "거짓(말)이라도 끌어안아줘"는 도저히 어떻게 그 라임에 맞춰서 줄일지 감이 안 오네요 ㅠㅠ

    태클 환영합니다.

    1. 우리말로 해석하면... 흐릿할 롱이니... 흐림? [본문으로]
    Posted by 애쉬군
    ,
    • 지난 시간에는

      지난 시간에는 마작에서 이기는 방법에 대해서 말씀드렸습니다만, 거기서 말씀드린 방법은 한 "라운드", 그러니까 한 ""을 끝내는 방법이었지 한 "게임"을 끝내는 방법이 아니었습니다. 이번 시간에는 결판이 나지 않은 상태나 난 상태로 라운드가 끝나면 어떻게 되는지를 알아보겠습니다.

    타임오버든 더블KO든 일단 한세트는 아직 안 끝났습니다
    (The King of Fighters XIII, SNK PLAYMORE사 제작 및 배급.)

    • 라운드 종료

      한 국이 끝났다면 텐파이인 사람에게 축의금을 전달하거나(노텐 벌부라고 합니다), 이긴 사람에게 점수를 각각 전달하는 것으로 그 국을 완전히 마무리짓습니다. 그리고 나서 할 일은 무엇이냐고요? 무엇이긴요, 패를 다시 섞고 패산을 다시 쌓는 것이죠. 그런데 잠깐, 뭔가 이상한 느낌이 들지 않습니까?

    나를 빼놓고 얘기하려고?

      그렇습니다. 부모는 절대적인 것이 아니라 바뀔 수 있는 것입니다. 그렇기에 기가라는 개념이 존재하는 것이죠. 본장 표시 마크는 게임 진행 상황현재의 부모를 나타내 주는 것이라고 했습니다. 그런데 사실 "현재의 부모"도 곧 게임 진행 상황을 나타냅니다. 왜일까요?

    • 9회 말 공격

      하지만 마작의 국 구성을 알아보기 전에 먼저 여러분들이 익히 알고 계실 축구와 야구를 먼저 다루도록 하겠습니다. 일단 야구에서는 9회의 "이닝"에 걸쳐서 양 팀이 각각 공수를 교대하면서 라운드가 바뀝니다. 편의상 "A"팀과 "B"팀의 경기라 하겠습니다.

     이닝

    1회

    2회

     3회

    4회

    5회

     6회~

     라운드

    A공

    B공

    A공

    B공

    A공

    B공

    A공

    B공

    A공

    B공

     (…)

      보시다시피, 9회(공간의 문제로 여기에는 5회까지만 나와 있지만)까지의 이닝에서 A가 공격권을 가지는 라운드와 B가 공격권을 가지는 라운드가 반복됨으로써 게임의 승부를 내게 됩니다. 이번에는 얼핏 보기에는 "라운드"와 "세트"로 나눌 수 없을 것 같은 축구를 봅시다.

     세트

    본 경기

    (연장전) 

     라운드

    전반(A공)

    후반(B공)

    전반(A공)

    후반(B공)

      이렇게 보면, 축구는 최대 두 개의 세트에서 A가 선공권을 가지는 상황과 B가 선공권을 가지는 라운드를 진행해서 게임의 승부를 내게 됩니다. 자, 그렇다면 마작은 어떨까요? 위의 표와 같은 형식으로 적어 보았습니다.

     회전

     동장

    남장

    서장

    북장

     

    1국

    2국

    3국

    4국

    1국

    2국

    3국

    4국

    1국

    2국

    3국

    4국

    1국

    2국

    3국

    4국

      회전은 "세트" 혹은 "이닝"에 대응하고, 은 라운드에 대응합니다. 공간의 문제로 위에서는 정식으로 적지 못했지만, X장의 Y국은 X Y국이라고 부릅니다. 예를 들어, 동장의 3국은 "동 3국", 서장의 2국은 "서 2국"입니다. 또 국이 바뀔 때마다 선공권 즉 부모가 바뀌게 되는데, 마작에서는 지금까지 그래 왔듯이 선공권을 바꿀 때 시계 반대 방향으로 바뀝니다. 즉, 동 1국에서 부모였던 사람이 동 2국에서는 자기 아랫집에게 부모를 넘겨주게 됩니다. 이렇게 넘겨준 부모는 남 1국에서 다시 돌아오죠. 같은 원리로 동 3국에 부모를 했던 사람도 남 3국에 다시 부모를 하게 됩니다. 이 네 회전을 모두 수행하는 일장전에서는 기가의 윗집이 부모를 하게 되는 북 4국이 종료되면 모든 게임이 끝나게 됩니다.

    • 연장전

      여기까지는 좋습니다. 하지만 일본 마작에서는 여러 가지 규칙들이 본토인 중국의 마작에 비해 달라졌기 때문에 한 가지 룰이 더 생기게 되는데, 그것이 바로 연장전입니다. 물론 마작의 발원지는 중국이고, 중국에서는 부모가 자식에 비해 딱히 가지는 어드밴티지가 없기 때문에 부모가 이기든 지든 비기든 부모로서의 권리를 '연장'시켜줄 필요가 없었으니 국표마장이라면 설명할 필요도 없는 것입니다.

    부모든 자식이든 룰 앞에 평등합니다
    (원 소재지 불명. 1차출처: 뒤질랜드의 은신처 : 법 앞의 평등이란 이상일 뿐이다

      하지만 리치 마작에서는 다릅니다. 리치 마작에서는 부모가 자식에 대해서 명백한 어드밴티지를 한 가지 가지는데, 그것은 바로 이겼을 때 받는 점수가 자식보다 많다는 것입니다.

    이 패보는 자식이 완성하면 5200점짜리지만 부모가 완성하면 7700점짜리가 됩니다.

      그런데 이 경우에 국표마장처럼 부모가 뭘 하든간에 그냥 부모가 아랫집에 넘어가버리면, 억울한 케이스가 생겨버립니다. 누구는 만들기 힘든 패를 만들어서 원래 받아야 할 32000점보다 많은 48000점을 가져간 채로 부모를 마감하는데, 자신은 고작 700점 받아야 할 것을 1000점 받는 선에서 부모가 끝난다니, 뭔가 불공평하죠.

    무엇인가 잘못되었...다?
    (롯데카드 배포. 나머지 저작권 관계는 불명)

      이런 부조리함을 막기 위해서 리치 마작에서는 연장전이라는 규칙을 만들었습니다. 이름 그대로 조건을 만족하면 부모는 넘어가지 않고 패만 갈아서 그 국을 다시 이어 가는 것이죠. 이렇게 다시 이어갈 경우에는 얼마나 국을 더 끌었는지 알아야 하므로 "X Y국 Z본장" 형식으로 표기합니다. X는 회전(동, 남, 서, 북), Y는 현재 국(1, 2, 3, 4), 그리고 Z는 연장한 횟수입니다. 0본장, 즉 처음 그 국을 시작하는 경우는 표기하지 않고 "X Y국"으로 그대로 표기합니다. 예를 들어 남장에서 동 1국 때 남가였던 사람(매 3국에서 부모)이 부모인 채로 두 번째의 연장전을 하고 있다면 이것은 "남 3국 2본장"이 됩니다. 이 때 온라인 마작에서는 자동으로 표기해 주니 상관 없지만, 오프라인에서는 본장수를 표기하기 위해 그 국의 부모가 그 만큼의 100점봉을 자기 앞에 꺼내놓아 본장수를 표시합니다.

      연장전은 당연히 부모가 "점수를 더 받아갈 권리"를 보장해주기 위해서 만들었으니 다음과 같은 상황에 발생합니다.

    • 부모가 이겼을 때.
    • 부모가 텐파이인 채로 유국이 되었을 때.
    • 이외에도 연장되는 경우가 있으나 지금은 설명하지 않음.
      반면 다음과 같은 상황에서는 당연히 연장전이 발생하지 않고, 본장 수는 0으로 돌리고 부모는 아랫집에 넘어갑니다.
    • 자식이 이겼을 때.
    • 부모가 대국의 진행을 방해할 정도로 중대한 반칙을 범했을 때.[각주:1]
    • 이외에도 연장 없이 부모가 넘어가는 경우가 있으나 지금은 설명하지 않음.

      그런데 조금 특이한 상황이 두 가지 있습니다. 하나는 부모가 노텐인 채로 유국일 때입니다. 이 경우에는 당연히 부모는 줬는데도 권리를 활용 못 한 셈이니, 상식적으로 생각하는 것과 같이 부모는 일단 넘어갑니다. 하지만 특이한 것은 본장 수의 처리인데, 본장 수는 부모가 바뀌는데도 불구하고 하나 쌓입니다. 그러니까 예를 들어 동 2국 1본장에서 부모가 노텐인 채로 유국되면, 동 3국 2본장이 되는 것이죠. 이는 비록 부모는 바뀌었지만 지난 국에서 결판을 내지 못했으니 이번 국은 지난 국의 완결이라는 의미로 사용되는 것으로 보입니다.

      다른 한 가지 상황은 자식이 중대한 반칙을 범했을 때입니다. 이 때는 연장도 발생하지 않지만 부모도 넘어가지 않습니다. 즉 사실상 해당 국을 다시 시작하는 셈인 것입니다.

    • 너무 힘들어요 ;ㅅ;

      이렇게 연장전을 도입한것까지는 좋습니다. 그런데 연장전을 도입하고 보니 예상치 못한 문제가 생겨버립니다. 연장전이 있는 상태로 게임을 진행하니까 너무 게임이 루즈해진다는 것이 그것이죠. 연장전이 없다면 더도 말고 덜도 말고 딱 16국을 진행하면 게임이 끝납니다만, 연장전이 있다면 넷이 모여서 16국을 치게 될지, 20국 정도를 치게 될지, 심지어는 32국 정도를 치게 될지도 모릅니다. 도대체 몇 국을 치고 끝날지는 모르지만, 원래 마작의 템포보다 훨씬 늘어지게 되는 것은 사실입니다.

    이렇게 돼버립니다
    (출처: 6.2m 대왕 오징어 잡히다)

      그래서 리치 마작을 치는 사람들은 이렇게 동장부터 북장까지를 모두 뛰는 "일장전"은 거의 치지 않습니다. 그 대신 리치 마작에서 게임 길이의 표준으로 채용한 것은 동 1국부터 남 4국까지를 , 즉 일전의 을 뛰는 "반장전"이라고도 부릅니다. (장과 장을 뛴다고 하여 동남전이라고 하기도 합니다.) 보통 반장전을 하게 되면 숙련된 사람은 1시간에서 1시간 반 정도, 미숙련자라도 2시간에서 2시간 반 정도면 한 게임이 끝나게 됩니다. 이렇게 반장전을 치게 될 경우 "9회 말 공격" 장에서 썼던 표는...

    회전

    동장

    남장

    동 1국

    동 2국

    동 3국

    동 4국

    남 1국

    남 2국

    남 3국

    남 4국

      ...위와 같이 변하게 됩니다.

      하지만 현대에 들어서는 성질이 급한 사람들도 있고, 또 시간이 애매할 때는 반장전을 제대로 치기가 참 난감하기 때문에 반장전에서 더 줄여서 동장전을 하기도 합니다. (짐작하시다시피 동 1국부터 동 4국까지의 동장만 칩니다.) 동풍전이라고도 하죠.

    회전 

     (동장)

    동 1국

    동 2국

    동 3국

    동 4국


      극단적인 경우로는 동 1국에 결판을 내는 일국전이 있기는 합니다만 작룡문 Mobile 이외의 용례는 아직 보지 못했습니다.

    • All Last

      그 대국의 마지막 국(일장전이라면 북 4국, 반장전이라면 남 4국, 동풍전이라면 동 4국)은 대국자들의 주의를 환기시키기 위해 특별히 "All last"를 일본식으로 발음한 "오라스"라고 합니다. 굳이 오라스를 다른 국과 구분해서 주의를 환기시키는 이유는 다음과 같습니다.

    • 일단, 곧 있으면 게임이 끝난다는 사실 자체만도 구경꾼과 치는 사람 모두에게 주의 환기가 됩니다.
    • 보통 점수 계산이 귀찮아지는 것을 막기 위해 오라스에 들어가기 전에는 점수를 미리 계산해 놓습니다. 이는 아래 이유와도 직결됩니다.
    • 만일 오라스에서 부모가 1등인 채로 연장이 발생할 조건을 만족시킬 경우, 부모는 연장하는 대신 게임 종료를 선언할 수 있습니다.

      사실은 세 번째 이유가 가장 크다고 할 수 있습니다. 보통 부모가 1등이 아닌 채로 나서 게임을 종료하지 못하는 경우는 거의 없으므로 오라스가 사실상 마지막이라고 할 수 있으니까요. 물론 연장이 발생해서 전부 마지막이라고 오라스라고 했는데 오라스 1본장, 오라스 2본장, 오라스 3본장... 하는 식으로 꼬리에 꼬리를 무는 경우도 없진 않습니다만.

    • 콜드 게임

      물론 세상 만사 다 뜻대로 되는 건 아닙니다. 이겨보려고 이겨보려고 아무리 발악을 해도 이기기는커녕 압도적인 열세로 경기를 마감하게 되는 경우가 다른 스포츠에도 있습니다. 야구에서는 이 경우 무한히 경기가 지속되는 것을 막기 위해 콜드 게임(called game)이라는 규정이 있습니다.(프로에는 없는 경우가 많지만 말입니다.)

    도쿄의 참극.
    (2009 월드 베이스볼 클래식 한국 vs. 일본 대표팀 경기 중.)

      마작에서도 이와 비슷한 규정이 있습니다. 압도적인 기량의 차이나 엄청난 강운과 최악의 타패의 조합(예를 들면 누군가가 64000점짜리 패로 올라서 부모가 32000점을 내어줄 점수가 없다든지)이 이루어지면 점수를 지불할 수 없는 사태가 발생할 수 있습니다. 이런 경우를 붓토비, 혹은 들통이라고 합니다.

      사실 앞에서 콜드 게임 운운을 했지만, 마작에서의 붓토비는 엄밀히 말하면 파산에 가깝습니다. 더 이상 점수를 지불할 수 없으니 그냥 게임을 끝내버린다는 것이죠. 어찌 보면 잔인하지만, 점수봉이 없는걸 어쩌겠습니까.

    점수봉이 Broken
    (원 출처 불명)

    • 서입

      동남전이라면 보통 상식적으로 서장은 들어가지 않기 마련입니다. 하지만 가끔 예외적으로 오라스에서 부모가 이기거나 텐파이하지 못했는데도 국이 끝나지 않고 그대로 서 1국에 들어가는 경우도 있습니다. 이를 서입이라고 합니다. 이는 대국에서 넘어야 할 점수 허들로 "반환점"을 제시한 경우로, 예를 들어 시작 점수는 25000점이지만 반환점이 30000점이라면 오라스에서 1등이 30000점을 넘지 못했을 경우 그대로 서 1국에 들어가서 대국을 계속 진행합니다. 이 상태로 서 4국까지 그대로 진행하는 것이 아니라 만약 누군가가 어떤 방식으로든 30000점을 넘으면 그대로 게임을 종료합니다. 이런 경우에도 북장으로 들어가는 북입은 보통 하지 않습니다.

    • 요약 정리

    지금까지 다루었던 내용들을 모두 요약하면 이렇게 됩니다.

    • 마작에서 하나의 대국(게임)은 여러 으로 이루어져 있다. 각 국의 진행은 지난 시간에 다루었던 것과 같다.
    • 한 대국에서 네 국씩을 묶어서 진행 순서대로 동장, 남장, (서장, 북장)으로 호칭한다. 각 장의 각 국은 1국, 2국, 3국, 4국으로 호칭한다. 각 국을 부를 때는 장 이름과 국 이름을 합쳐 "남 3국"과 같은 식으로 부른다.
    • 국이 끝날 때마다 부모는 바뀐다. 예외적으로 부모가 텐파이인 채로 유국이거나 부모가 이기면 국은 연장된다. 연장 횟수는 국 이름 옆에 "X본장"을 붙여 구분한다. 예를 들어 2번 연장이 있었다면 "남 3국 2본장"과 같은 식이다.
    • 누군가가 이겨서 부모가 바뀐다면 본장 수는 초기화된다. 그렇지 않고 유국으로 부모가 바뀐다면 국 수와 본장 수가 같이 늘어난다. 예를 들어 동 2국에서 부모의 노텐으로 유국되면 동 3국 1본장이 된다.
    • 리치 마작의 게임 길이로는 주로 동장과 남장을 치는 반장전과 동장만을 치는 동풍전이 선호된다.
    • 그 대국의 원칙적인 마지막 국은 오라스라고 호칭한다. 이는 주의를 환기하기 위함이며, 또 오라스에서 부모가 연장할 조건을 만족시켰지만 1등일 경우 대국을 그대로 종료할 수 있다.
    • 만약 동남전에서 한 사람이라도 넘어야 할 점수인 반환점이 제시된 경우, 한 사람도 반환점을 넘지 못했다면 대국은 오라스를 넘어 서장에 들어가며, 이는 서입이라 한다. 서입하였을 경우 누군가가 반환점을 넘긴다면 그대로 대국은 종료된다.
    • 반대로 누군가에게 점수가 청구되었지만 그 점수를 지불할 수 없는 경우가 된 경우, 즉 그 점수를 지불하면 점수가 음수가 되는 경우는 들통 혹은 붓토비가 되어 대국이 조기 종료된다.

    헥헥... 글로 써놓고 보니 많이 길군요.

    • 다음 시간에는

      점수가 늘지 않아 고민이십니까? 남이 자신의 대기패를 버려서 속이 쓰리십니까? 걱정하지 마십시오! 이제는 거기에 대한 해결책이 생길 것입니다. 다음 시간에는 판을 키우는 방법인 리치와 남의 패로 이기는 방법인 (론)을 다루도록 하겠습니다.

    이제 우리도 "리~치!"하고 외칠 수 있게 될 것입니다.
    (咲-Saki- 중. 픽쳐 매직 제작, 코바야시 리츠 원작.)


    1. 물론 곳에 따라서는 부모가 중대한 반칙을 범해도 연장전이고 국 종료고 그냥 처음으로 돌리는 곳도 있으니 미리 이 부분의 룰이 어떻게 되는지 알아봅시다. 물어보는 방법은 이렇습니다. "친이 쵼보하면 친 넘어가나요?" 그렇다고 대답한다면 필자가 쓴 것과 같습니다. [본문으로]
    Posted by 애쉬군
    ,
    • 지난 시간에는

      지난 시간에는 마작에 존재하는 패의 종류에 대해 알아보았습니다. 하지만 사천성이라도 할 것이 아니라면 패의 종류만을 알고 있는 것은 어차피 큰 의미가 없습니다. 이번 시간에는 그 패를 이용해서 마작을 진행하는 대강의 흐름을 말씀드리겠습니다.

    마작이란 이름을 달고 있다고 모두 마작은 아닙니다
    (출처: Mahjong Titans 인게임 스크린샷. Microsoft 배포.)

    • 시작합시다

      네 명이 일단 모여서 게임을 시작하기로 했습니다. 게임을 하기 위한 사각의 탁자나 전동작탁도 준비되어 있습니다. 하지만 넷이서 어떻게 앉는 지도 아직 정하지 않았습니다. 그냥 마음대로 앉으면 되지 않냐고 하실 분이 계실 지도 모르겠는데, 그렇게 하면 안 됩니다. 마작에서는 개개인이 앉는 자리가 곧 플레이 순서에 영향을 미칩니다.  그렇기 때문에 마작에서 마음대로 자리에 앉겠다고 하는 것은 모노폴리와 같은 보드게임에서 자기 마음대로 시작하는 순서를 정하겠다는 것과 다를 바가 없습니다. 모노폴리에서 가위바위보나 주사위의 눈으로 먼저 하는 사람을 정하는 것처럼, 마작에서도 자리를 정함으로써 먼저 하는 사람을 정해야 합니다.
    잠시 뜬금없어 보이는 말씀을 드리자면, 패에 관해 설명할 때 말씀드렸듯이, 마작에서는 방위를 "동서남북"이 아닌 "동남서북"으로 읽는다 하였습니다.[각주:1] 방위는 각 패를 나타내기도 하지만 각자가 앉을 자리와 그 자리에 턴이 돌아오는 순서를 나타내기도 합니다. 즉, "동" 자리에 앉는 사람 다음에 "남" 자리에 앉는 사람이, 다음에는 "서" 자리에 앉는 사람이, 마지막으로 "북" 자리에 앉는 사람이 턴을 진행하고 다시 "동" 자리로 턴이 돌아옴으로써 한 바퀴를 돌게 되고, 이는 자리에도 반영되어 동-남-서-북 순서대로 바퀴를 돌도록 자리에 앉게 됩니다.

    일단 백문이 불여일견
    (출처: 작룡문 Mobile 인게임 스크린샷. 개발/배포: NC Japan)

      긴 말로 설명드리는 것보다는 위 사진을 보시는 것이 이해가 빠르겠습니다. 운 좋게 제가 "동" 자리에 앉게 되었고, 그 다음 시계 반대 방향으로 "남", "서", "북" 자리에 해당하는 사람이 앉습니다. 방위 순서가 시계 반대 방향이 된 것에서 알 수 있듯이, 마작의 진행은 시계 반대 방향으로 이루어집니다.

      프로그램 마작을 치실거면 자리 정하기에 대한 설명은 여기서 끝입니다. 자리는 프로그램에서 다 정해주고, 여러분은 거기에 맞춰서 게임을 시작하면 끝이니까요. 그러니 "천봉"이나 "작룡문" 등으로 마작에 입문하시려는 분은 여기를 패스하시고 뒷부분 설명으로 넘어가셔도 좋습니다. 하지만 실물로 마작을 치려면 자리를 정하는 방법에 대해서도 알아야 합니다. 자리를 정하는 방법에 대해서는 여러 가지가 있지만 저는 보통 쓰이는 방법 세 가지에 대해서만 말씀드리겠습니다.

    • 약식-패 뽑아서 그대로 자리 결정

      이 소제목을 보시기 전부터 "동, 남, 서, 북이 각각 자리를 나타낸다면, 그냥 거기에 해당하는 패를 뽑아서 자리를 정하면 되는 거 아냐?"라고 생각하시는 분이 계실 겁니다. 예리하시군요. 약식으로 자리를 정하는 방법으로는, 거기서 끝이 납니다. 구체적으로 설명을 드리자면, 풍패 중 "동", "남", "서", "북"을 한 장씩 뽑아서 엎어 놓고, 넷 중 한 사람이 그것을 잘 섞어 줍니다. 그 뒤 섞은 사람을 제외하고 나머지 세 사람이 한 장씩 뽑고, 섞은 사람이 마지막으로 뽑습니다. (섞은 사람이 마지막으로 뽑는 이유는 부정을 방지하기 위해서입니다.) 그 뒤 "동"을 뽑은 사람이 원하는 자리에 앉고, "남"을 뽑은 사람이 시계 반대 방향으로 다음 순서에, "서"를 뽑은 사람이 그 다음 순서에, 그리고 "북"을 뽑은 사람이 마지막으로 남은 자리에 앉습니다. 게임은 "동"에 앉은 사람이 먼저 시작합니다.

    • 주사위로 결판을 내자!

      아주 드물지만 다른 보드게임처럼 주사위를 굴려서 그 숫자에 따라 자리를 정하기도 합니다. 네 사람이 모두 주사위를 굴려서 제일 높은 눈이 나온 사람이 마음대로 앉아 그것을 동 자리로 하고, 그 다음 눈이 나온 사람이 남 자리에 앉고, 그 다음 눈은 서 자리에, 제일 낮게 나온 사람은 남은 한 자리인 북 자리에 앉습니다.

    • 전통적인 방식

    네, 제일 복잡한 방식을 설명드리게 되었습니다. 위의 두 규칙이 아주 간단한데도 불구하고 잘 하는 사람들이 마작을 칠 때는 잘 사용하지 않는 이유는, 패를 뽑아서 자리를 결정할 경우, 간혹 패의 뒷면에 미리 새겨놓은 무늬나 찍어놓은 점 등을 보고 패를 식별[각주:2]할 수 있는 사람이 의도적으로 자기가 앉을 자리를 정할 수 있고, 주사위를 굴려서 자리를 결정할 경우 동점이 나오면 처음부터 다시 해야 한다는 문제가 생기기 때문입니다. 그렇다면 주사위와 패를 같이 이용하면 된다고 누군가가 생각을 했고, 이에 따라 현재 마작에서 자리를 정하는 것은 대부분 앞으로 설명드릴 방식에 의해서 정합니다.
      일단 약식으로 할 때와 같이 "동", "남", "서", "북"을 뽑고 해당하는 자리에 앉는 것은 똑같습니다. 하지만 이 경우 "동"을 뽑은 사람이 정말로 먼저 시작하는 것은 아닙니다. 그 사람은 다시 육면체 주사위 두 개를 굴립니다. 그 자신을 1(하지만 주사위 두 개로 이 눈은 나올 수 없습니다), 다음 순서를 2, 그 다음 순서를 3, 마지막 사람을 4, 다시 자신을 5, 이런 식으로 해서 주사위에서 나온 숫자가 가리키는 사람이 새로 "동"이 되어 실행합니다.

    9 이후는 없지만 그러려니 해주세요. 의지의 차이 ;ㅅ;
    그리고 뭔가 뒤에서 설명할 내용도 같이 있지만 착각입니다.
    (출처: 작룡문 Mobile 인게임 스크린샷 + 필자가 Adobe Photoshop과 Adobe Illustrator를 이용하여 편집)

      경우에 따라서는 이렇게 "동"이 된 사람이 다시 주사위를 굴려서 그렇게 정해진 "동"을 최종적으로 동 자리로 확정하는 경우도 있으니 동가가 되었다고 바로 좋아하지는 맙시다.

    • 잠시 쉬어가는 시간: 용어 정리

      사실 앞에서 설명한 "자리를 정하는 과정"은 동남서북을 제외하고 용어를 거의 사용하지 않았기에 확실히 전달이 되었을지는 모르지만, 무언가 문장이 번잡하고 서술이 쓸데없이 길었다는 생각이 드셨을지도 모르겠습니다. 이런 서술이 게임 과정 설명에서까지 계속되면 설명이 오히려 복잡해지게 됩니다. 그러므로 여기에서 각 자리에 앉은 사람들을 어떻게 부르는 지 대강의 용어 정리를 하도록 하겠습니다.

    • "가"

     마작에서는 각 플레이어를 각 '집'으로 호칭합니다. 그러므로 "동" 자리에 앉은 사람은 '동쪽 집', "남" 자리에 앉은 사람은 '남쪽 집' 등으로 호칭할 수 있는 것입니다. 이런 식으로 플레이 순서대로 '동쪽 집', '남쪽 집', '서쪽 집', '북쪽 집'으로 호칭하는데, 보통은 여기서 더 줄여서 한자로 '동가', '남가', '서가', '북가'라고 호칭합니다.

    • 내가 남들을 부를 때

      일일히 다른 플레이어들을 동가니 남가니 하는 식으로 호칭하기는 매우 번거롭습니다. 게다가 이 글에서는 설명하지 않겠지만, 게임이 나아감에 따라 자신의 동남서북이 바뀔 수도 있습니다. 이럴 때 다른 사람을 편하게 부르기 위해서 자신의 바로 전에 하는 사람을 윗집 혹은 '상가', 바로 뒤에 하는 사람을 아랫집 혹은 '하가', 마주보는 사람을 '대면'이라고 합니다. 상가와 하가는 뭐 "위쪽/아래쪽 집"이라는 뜻이고, 대면은 말 그대로 얼굴을 마주보고 있다는 뜻이죠. (대면 집을 줄여서 "대가"라고 하기도 합니다.)

    • 부모와 자식

      마작에서는 단순히 자신이 먼저 하는지 아닌지도 굉장히 중요한 사실이 됩니다. 나중에 받는 점수와 관련이 있거든요. 그러므로 그 판에서 제일 먼저 하는 사람, 즉 그 판의 동쪽 집을 따로 '부모'라 부르고, 그렇지 않은 사람들을 모두 통틀어서 '자식'이라 부릅니다. 보통은 여기서 더 줄여서 '친'(아버지라는 뜻)과 '자'(아들 자)로 호칭하며, 간혹 친을 일본식 발음으로 '오야'라고 하는 경우도 있으니 참고합시다.

      위에서 나온 내용들을 한 방에 요약하면 아래 사진과 같이 됩니다.

    (출처: 작룡문 Mobile 인게임 스크린샷 + 필자가 Adobe Photoshop을 이용하여 편집)

    • 기가

    첫 판의 부모는 따로 '기가'라고 호칭합니다. 마작패를 설명할 때 게임 진행 상황을 표시하는 마크도 설명드린 바 있을텐데요, 이것은 게임이 어디서 시작되었는지를 알기 위해 그 판의 부모가 아닌 기가 쪽에 놓아 둡니다.

    이 녀석은 東(동)이 앞으로 보이도록 첫 부모 자리 앞에 놓습니다. 이게 있는 집이 기가입니다.

    • 패산 쌓기

      이제 게임을 시작할 준비가 된 것일까요? 아닙니다. 아직 준비가 끝나지 않았습니다. 무엇을 빼먹었을까요? 그렇습니다. 바로 게임에 사용될 패의 준비입니다. 마작에서 사용하는 패는 카드와 같이 하나의 덱으로 쌓아 놓는 것이 아니라, 136장의 패를 두 줄로 쌓은 17단씩 각 집의 앞에 놓음으로써 준비합니다. 마작에서 사용하는 패를 모두 늘어놓고 정성스럽게 섞은 뒤 각 사람이 정확히 34장의 패를 가져와서 17장씩 앞면이 보이지 않게 두 줄로 쌓고, 앞으로 밀어서 패 줄들이 정사각형을 이루도록 해 주시면 되겠습니다. 이렇게 쌓은 패의 줄들을 패산, 마작성 혹은 이라 합니다.

    이렇게 쌓으시면 됩니다.

      요즈음에는 이렇게 패를 쌓는 과정을 자동으로 처리해주는 전동 작탁을 쓰는 경우도 있습니다. 이 경우에는 그냥 패를 쌓는 단추를 눌러 주시고 테이블 위에 나와 있을 다른 패들을 중앙의 빈틈에 쓸어넣으시면 됩니다.

    • 패 나눠주기(배패)

      시작하기 전 마지막으로 거쳐야 할 과정이 바로 "배패"라고도 불리는, 각자의 패를 나눠주는 과정입니다. 부모가 주사위를 굴려 어느 쪽 사람이 패산을 가를 지 결정합니다. 선을 정할 때와 같이 1이 자기 자신, 2가 하가, 이렇게 시계 반대 방향으로 진행합니다. 그리고 이렇게 지명된 사람이 다시 주사위를 굴려 오른쪽에서 몇 줄의 패를 분리할 지 결정합니다. 그 사람은 주사위에서 나온 눈만큼의 줄을 오른쪽으로 뗍니다. 예를 들어 부모가 첫 번째 주사위를 굴려서 6이 나왔다면 남쪽 집(1과 5와 9가 부모이므로 6은 부모의 하가인 남가입니다)에서 패를 떼야 하고, 남쪽 집에서 다시 주사위를 굴려 7이 나왔다면 오른쪽에서 7줄의 패, 즉 14장의 패를 떼어놓습니다. 이렇게 패를 떼었다면, 패를 뗀 곳에서 뗀 사람을 기준으로 왼쪽에 있는 더미의 오른쪽 끝부터 시계 방향으로 두 줄씩, 즉 네 장씩 부모부터 게임을 하는 순서대로(즉 사람 순서는 시계 반대 방향으로) 패를 가져갑니다. 이렇게 네 장씩 가져가는 것을 세 바퀴를 돈 뒤, 마지막으로 한 장씩 패를 가져갑니다. 한 장씩 가져갈 때도 역시 시계 방향으로 가져가되, 이 때는 두 단이 쌓여 있다면 위에 있는 패를 먼저 가져갑니다.

    예를 들자면 위 사진과 같습니다.

      물론 요사이에는 주사위는 한 번만 굴리고 그것으로 두 번째로 굴린 주사위도 대신하는 경우가 더 많습니다만, 이 경우에도 두 번째로 주사위를 굴리지 않고 첫 번째로 굴린 주사위의 눈을 그대로 사용한다는 것뿐, 요지는 똑같습니다. 각 집에서 이렇게 패를 열세 장씩 가져가고 정리를 끝마쳤다면, 게임을 시작해도 됩니다.[각주:3]

    • 패 정리는 어떻게 하는가?

      패 정리를 하는 데는 여러 가지 방법이 있지만, 초보자일 때는 이 방법을 추천해 드립니다.(저도 아직 쓰는 방법입니다.)

    이렇게 패를 받았다고 해 봅시다.

      일단 자패를 한 쪽에 모두 몰아넣고, 수패는 다른 쪽에 몰아넣습니다.서로 같은 종류의 수패는 한 곳에 모이도록 합니다. 예를 들어 만수패-통수패-삭수패 순서대로 정렬하는 방법이 있습니다.

    자패만 오른쪽으로 몰아넣었습니다.

    그 다음에는 만수는 만수끼리, 삭수는 삭수끼리, 통수는 통수끼리 정렬했습니다.

      수패는 오름차순 혹은 내림차순으로 정리합니다.자패는 같은 종류끼리 모아놓습니다. 정렬 순서는 상관 없지만, 되도록이면 풍패와 역패는 분리해놓는 것이 좋습니다.

    정리 완료. 수패를 오름차순으로 정렬까지 했습니다. 여기서는 자패를 같은 종류끼리 모을 필요는 없었군요.

      무엇보다 중요한 것은, 분리하라고 말씀은 드렸지만, 이것은 실제로 패 사이를 서로 벌려놓으라는 것이 아니라, 서로 섞이지 않도록 해 주시라는 당부의 말씀일 뿐입니다. 패 사이를 실제로 벌려놓게 되면 당신이 버린 패를 보지 않고서도 고수들은 당신의 패가 어떤지 짐작할 수 있게 됩니다.

    • 사용하지 않는 패

      모두가 패를 가져가고 나면, 패를 떼어 놓은 사람은 그 자리에서 오른쪽 방향에서, 즉 패를 가져가는 순서대로라면 제일 마지막에 가져가게 되는 곳에서 7줄 14장의 패를 따로 떼어놓습니다. 그 패는 "왕패"라고 불리고, 원칙적으로는 아무도 가져갈 수 없습니다. 또 거기에서 왼쪽에서 세 번째 줄의 위에 있는 패를 뒤집어서 공개합니다.이렇게 공개한 패는 그 게임에서 사용하는 보너스 패를 나타냅니다. 거기에 대해서는 지금은 신경 쓸 필요 없으니 넘어가도록 하겠습니다.

    왕패에 대한 예시입니다.

    • 준비 과정 마무리

      그 판의 첫 라운드, 그러니까 마작 용어로는 첫 (局)에서는 그 외에 준비할 것이 더 있습니다. 첫째로, 점수봉을 25000점을 맞춰야 합니다. 이는 10000점 1개, 5000점 2개, 1000점 4개,100점 10개를 각자 놓음으로써 끝납니다.

    100점 10개는 500점 1개와 100점 5개로 대체되는 수도 있습니다. 500점봉의 모양은... 치는 사람에게 물어보세요.

      둘째로, 첫 국의 부모, 즉 위에서 말한 기가는 자기 앞에 본가 표식을 "동"이 보이도록 놓습니다. (이건 앞에서 설명했죠?)

    • 게임 시작

      헥헥... 이제 게임을 시작할 모든 준비가 끝났습니다. 부모가 패를 가져오다 만 곳에서 다시 한 장의 패를 가져옴으로써 국이 시작됩니다.

    위 상황에서 이어지는 예시입니다.

      이렇게 패를 가져오는 행위는 "쯔모"라고 하는데, 앞으로도 많이 쓰일 용어이니 이 정도는 외워 두시는 것이 좋습니다. 패를 쯔모한 다음에는 패를 쯔모한 사람이 자신의 패 중에서 제일 필요 없을 것 같은 패를 버림으로써 차례를 아랫집에게 넘깁니다. 이 때 패를 버리는 위치는 패산 안쪽의 자기 쪽의 공간으로 해 둡시다.

    찍는 과정에서 미스가 있어서 조금 대면 쪽에 모든 공간이 치우치게 되었습니다 ㅠㅠ 넓은 아량으로 이해해주세요

      만약 게임이 계속 진행되면서 자신의 버림패가 여섯 장을 넘었다면, 그 아랫줄에 새 버림패를 놓습니다. 그 줄도 꽉 찼다면 다시 그 아랫줄에.

    이런 식으로 해 주시면 되겠습니다.

      그 사람이 버렸다면 그 다음 사람이 쯔모합니다. 이하 생략. 이렇게 진행되던 게임은 누군가 게임을 종료시킬 때까지 이어지게 됩니다.

    • 게임 종료

    사실 이런 기분인거 다 압니다.
    (원출처 불명, 1차출처: http://mythxim.tistory.com/8)

      "벌써 끝을 알아본다고요?"라는 목소리가 여기까지 들리는 것 같군요. 방금까지 게임의 시작을 알아보더니 게임의 진행 과정이 아니라 끝을 알아보다니? 하지만 이렇게 해야만 합니다. 마작의 목표도 궁극적으로는 다른 보드 게임과 같이 자신이 이기는 것이고, 중간 과정은 이기기 위한 과정일 뿐이니 결국 어떻게 하면 이길 수 있는 지부터 알아보기로 하는 것입니다.

    이렇게 되지 않으려면 일단 게임 목표를 알아야 합니다
    (출처: 魔法少女まどか☆マギカ 중. 샤프트 제작, 우로부치 겐 각본, 아오키 우메 원안.)

    • 게임을 끝내는 조건

      마작에서 게임을 끝내는 조건은 심플하게 세 가지가 있습니다.

    1. 누군가가 패를 가져올 차례이나 패산에 남은 패가 왕패뿐이다.[각주:4]
    2. 룰에 지정된 조건을 만족시켜 게임이 결판이 나지 않은 채로 끝난다.
    3. 자기 차례에 패를 버리는 대신 이길 수 있는 패를 만들었다고 선언하고 패를 공개한다.

      이 중 2번은 나중에 설명하도록 하겠습니다. 조금 황당한 조건들이 많아서 지금 다루기엔 머리가 깨지거든요. 남은 것은 1번과 3번인데, 일단은 내용은 길지언정 게임에서 유일하게 이길 수 있는 방법이기도 하고 설명하기도 간단한 3번을 먼저 다루기로 하겠습니다. 하지만 그 전에 배경 지식을 먼저 설명하고 넘어가도록 하겠습니다.

    • 13장의 배패와 받아오는 1장의 패, 그리고 게임 목표

      "패 나눠주기" 때 이야기했지만, 마작에서 한 사람이 사용하는 패는 기본적으로는 13장입니다. 각 사람은 자기 차례마다 한 장을 쯔모하긴 하지만 한 장을 버리게 되니까, 결과적으로는 자기 차례가 아닐 때는 13장인 셈입니다. 하지만, 자기 차례에는 일시적으로 패가 14장이 되고, 게임을 이길 수 있는 경우는 이렇게 패가 14장이 되었을 때밖에 없습니다. 즉 마작은 기본적으로 13+1장의 패를 이용해서 진행하는 게임이라고 생각하시면 됩니다.

    1만 5만 6만 7만 8만 8만 9통 5삭 6삭 7삭 동 남 서얼핏 생각하는 것과 다르게 이렇게 열 세장인 것이 기본 상태입니다.

      그럼 이 열네 장의 패를 가지고 어떻게 이길 수 있는 걸까요? 14는 다시 3+3+3+3+2로 쪼갤 수 있습니다.[각주:5] 즉 3장짜리 묶음 네 개와 2장짜리 묶음 하나가 모이면 최종적으로 이길 수 있는 것입니다. 3장짜리 묶음은 "몸통"이라 하고, 2장짜리 묶음은 "머리"라고 합니다. 즉 마작은 최종적으로 몸통 4개와 머리 1개를 만들어서 이기는 것이 목표입니다. 소원을 이루어주는 용의 몸통 네 조각과 머리를 모은다고 생각하면 편할 겁니다.

    용과 같이

      물론 아무 패나 묶어놓고 머리다, 몸통이다 하고 우길 수는 없습니다. 규칙으로 머리에 적합한 형태 한 가지와 몸통으로 적합한 형태들이 이미 정해져 있으니까요.

    1. 머리의 형태-뚜이쯔

      패를 두 장 모은 머리를 만들 수 있는 유일한 형태는 "뚜이쯔"입니다. 뚜이쯔를 만드는 방법은 심플합니다. 그냥 같은 패를 두 장 모으면 그게 뚜이쯔입니다.

    • 이렇게 모으시면 뚜이쯔가 인정됩니다.
    • 수패로도 가능합니다.
    • 당연히 이런 뚜이쯔는 세상에 없습니다.
    • 이렇게 모으면 뭔가 있어 보이지만 역시 뚜이쯔로 인정되지 않습니다.

    2. 몸통의 형태 1-슌쯔

      미리 말씀드리자면, 여기서 말씀드리는 몸통의 형태 두 가지는 모두 합쳐 "먼쯔"라고 불립니다. 먼쯔 중에 슌쯔는 같은 종류의 순서대로 이어지는 수패 세 장을 모았을 때 성립합니다.

    • 이렇게 모으시면 슌쯔가 인정됩니다.
    • 포커에서는 백 스트레이트를 인정합니다만 마작에서는 이렇게 돌아나오는 슌쯔를 인정하지 않습니다.[각주:6]
    • 슌쯔는 한 종류의 수패로 만들어야 합니다.
    • 아무리 등차수열이라지만 이렇게 간격을 두면 슌쯔로 인정하지 않습니다. 연속해야 합니다.

    • 뭔가 있어 보이지만 슌쯔는 자패에는 인정하지 않습니다.

    • 이렇게 모으셨다면, 몸통은 원칙적으로 3장의 패로 만들어야 하기 때문에, 6통이나 9통을 버리고 789의 슌쯔나 678의 슌쯔로 확정하든지, 그 둘 중 하나를 추가로 받아와서 두 장이 있는 쪽은 뚜이쯔로 돌려야 합니다. 뒤에서 나올 용어를 미리 언급하여 설명하자면, 슌쯔에 대응하는 캉쯔는 없습니다.

    3. 몸통의 형태 2-커쯔

    커쯔는 정확히 같은 패를 세 장을 모았을 때 성립합니다. 뚜이쯔만큼이나 심플하죠.

    • 커쯔가 인정됩니다.

    • 커쯔는 당연히 자패로도 가능합니다.

    4. 캉쯔?

      슌쯔 편에서 몸통은 원칙적으로 3장의 패로 만들어야 한다고 설명드렸는데, 커쯔도 그것은 마찬가지입니다. 하지만 굳이 그것을 거론하지 않은 이유는, 운 좋게 같은 패를 네 장을 모두 모았다면, 그러니까 그 판에 존재하는 그 패를 다 모았다면, 그것을 쓸 수 있는 구제책이 게임 내에 있기 때문입니다. 그것은 남에게 공개되는 대신 네 장짜리 몸통을 하나의 커쯔처럼 쓰면서 추가적인 혜택을 받을 수 있는 "캉쯔"입니다. 하지만 일단은 "이런 것도 나중에 배우는구나" 하고 생각해 주시고, 지금은 그냥 네 번째 동을 버려 주세요.

    • 이겼다!

      자기 차례에 패를 쯔모했을 때 슌쯔와 커쯔를 도합 네 개 모으고, 뚜이쯔를 하나 모았다면, 축하합니다. 당신은 이제 이길 수 있는 준비가 되어 있는 것입니다.

    이겼다고 어떻게 말해야 잘 말했다고 소문이 날까?

      아무리 패가 분간이 안 되더라도 이 경우에는 쯔모패를 손패에 합쳐놓지 마시고 그대로 떨어뜨려 놓으세요. 그 뒤, 쯔모한 패로 이겼다는 뜻으로 "쯔모"라고 외치면서 쯔모패를 앞면이 보이게 내려놓은 뒤, 자기 몫의 손패를 앞으로 엎어 모든 상대에게 보이도록 공개합니다. 수고하셨습니다.

      잘 모르시겠다면 위에 나온 모 애니메이션[각주:7](...) 장면처럼 하시면 됩니다. 물론 그렇다고 저런 식으로 작탁에 오세이돈의 가호를 내릴 필요는 없지만 말입니다. 그 뒤에 부르는 "6000, 3000"은 지금은 신경쓰지 않도록 합시다. 각 사람에게 얻어올 점수를 뜻합니다. 같이 마작을 치는 사람들 중 고수가 있다면 그 사람에게 점수는 계산해달라고 하시면 됩니다.

    • 운수 좋은 날

      물론 매 게임에서 운수가 좋을 수는 없습니다. 마작을 치다보면 남이 나서 자신의 소중한 점수를 빼앗기는 일도 다반사고, 심지어는 아무도 나지 못하는 일도 생길 수 있습니다.

    완성이 눈앞인데 왜 쯔모하질 못하니 왜 쯔모하질 못하니
    (출처: 그림에 명시되어 있습니다)

      그 게임에서 아무도 나지 못한 채로 왕패를 제외한 모든 패를 다 썼다면, 그 국은 결판이 나지 않은 채로 끝납니다. 이것을 유국(流局)이라고 합니다. 국이 그냥 아무 일 없이 흘러가 버렸다는 뜻이죠. 그런데 사실 유국 상황이 일어났다고 진짜로 아무 일 없이 게임이 끝나는 것은 아닙니다.

      한 국이 끝나면, 완성을 눈 앞에 두었으나 완성하지 못한 아까운 사람들에게는 완성하지 못하고 국이 마감된 것에 대한 보상으로 소정의 점수를 줍니다. 구체적으로는, 몇 종류가 됐건 상관 없이 한 장의 패가 들어오면 이길 수 있었던 상태를 "텐파이"[각주:8]라고 하는데, 부모부터 시작해서 패를 쯔모하는 순서와 똑같은 순서대로 각각 텐파이였을 경우 "텐파이"라고 외치고 손패를 공개하거나 "노텐"[각주:9]이라고 외치고 손패를 그냥 뒷면으로 덮어둡니다.

      예를 들어, 유국이 되었을 때 자신의 손패가 위와 같은 상태였다면, 만약  한 장이 있었다면 쯔모를 외치면서 이길 수 있었지만, 끝내 자신에게 들어오지 않았죠. 그러므로 "텐파이"를 외치면서 손패를 공개할 수 있습니다. 물론 이 경우에도 아카기 시게루와 같이 자신의 손패를 숨기기 위해 "노텐"을 외칠 수도 있습니다.

      이런 식으로 자신이 텐파이였음을 공개하면, 텐파이가 아니었던 사람들, 즉 "노텐"을 외친 사람들에게서 점수가 빠져나가서 텐파이였던 사람에게 갑니다. 주고 받는 점수는 합쳐서 3000점입니다. 즉,

    • 노텐 세 명에 텐파이 한 명이면 세 명이 1000점씩 모아서 한 명에게 줍니다.
    • 노텐 두 명에 텐파이도 두 명이면 각각 1500점씩을 마음에 드는 사람에게 주면 됩니다. 물론 서로 다른 사람에게.
    • 노텐 한 명에 텐파이 세 명이면 그 한 사람이 세 사람에게 1000점씩 줍니다.
    • 전원 노텐이거나 전원 텐파이이면 이 때 점수를 주지 않습니다. 전자의 경우 받을 사람이 없고, 후자의 경우 줄 사람이 없기 때문입니다.

      이렇게, 누가 이겼든, 아니면 아무도 이기지 못했든, 한 국이 정말로 끝났습니다. 수고하셨습니다.

    • 뭘 버릴까

      마작에서는 패를 열 세장을 받아서 한 장을 쯔모하고 한 장을 버리는 것의 연속으로 게임이 진행된다고 말씀드렸습니다. 그렇다면 어떤 패를 버려야 하는 것일까요? 그것을 건너뛰고 종료 조건에 대해 말씀을 먼저 드렸으니 조금 황당하셨을 분도 계셨을지 모르겠습니다만, 버려야 하는 패는 오히려 종료 조건으로 인해서 더 명확해지게 됩니다. 가져온 패와 짝을 맞춰 본 뒤, 그것으로 몸통을 만들 수 있을 지 조합해보고, 패에서 제일 쓸모없는 것을 버리면 됩니다. 말로 설명하기 어렵고, 그렇다고 패산을 쌓는 것처럼 그림을 이용해서 설명해 드릴 수 있는 것도 아닙니다. 게다가 무엇을 버려야 하는 지에 대한 지식은 나중에 배워야 할 것들과 직결되는 것도 있습니다. 그러니 다음 기회가 될 때까지 말을 아껴 두도록 하겠습니다.

    • 다음 시간에는

      "어라 잠깐, 끝났다면서요? 이사람들 왜 패산을 다시 쌓아요?"

      네. 마작은 한 국을 쳤다고 끝나는 것이 아닙니다. 야구로 치면 겨우 1이닝 쳤을 뿐입니다. 그러니 다음이 있는 것은 당연하지요. 다음 시간에는 한 국의 진행뿐만이 아니라, 한 "게임" 전체가 어떻게 돌아가는지를 알려드리도록 하겠습니다.

    1. 아직도 헷갈리시는 분들을 위해 제가 외운 방법을 다시 말씀드리자면, 봄-여름-가을-겨울의 계절풍을 각각 대입해 보시면 됩니다. [본문으로]
    2. 전문용어로는 "암패"라고 하지요. [본문으로]
    3. 혹시라도 검수나 태클 혹은 복습 등의 목적으로 이 글을 보시는 고수들을 위해 당부하자면, 절대로 초보자가 리패가 끝나지 않았다고 빨리 패를 버리라고 독촉하지 마세요. 아직 미숙한 사람에게는 정리되지 않은 배패를 보고 버림패를 정하는 것은 엄청나게 힘듭니다. [본문으로]
    4. 앞에서 왕패는 게임에서 사용하지 않는 패라고 했고, 그러므로 왕패에서는 패를 가져오지 않습니다. [본문으로]
    5. 2*7로 생각하는게 더 합리적이지 않냐고요? 예리하시군요. 그렇게 완성하는 형태도 실제로 존재합니다. (칠대자라고 합니다.) 이외에도 극단적으로는 전혀 뭉치지 않는 13종류의 패와 한 장 더, 그러니까 그야말로 13+1장의 패만 가지고 완성하는 형태도 존재합니다. (십삼요, 혹은 국사무쌍이라고 하며, 완성하면 정말로 높은 점수를 받을 수 있습니다.) 하지만 칠대자와 국사무쌍에 대한 설명은 기본적인 룰을 모두 이해하고 나서 해도 무방하므로 미뤄두도록 하겠습니다. [본문으로]
    6. 포커의 에이스는 13으로도 1로도 볼 수 있지만 마작의 1은 10으로 볼 수 없고 9는 0으로 볼 수 없기 때문입니다. 포커에서도 10 J Q K A와 A 2 3 4 5만 되지 Q K A 2 3은 안 되잖아요? 비슷합니다. [본문으로]
    7. 咲-Saki- 중. 픽쳐 매직 제작, 코바야시 리츠 원작. [본문으로]
    8. 聴牌, 우리말로 읽으면 들을 청(聽, 일본 한자로는 聴이군요), 호패 패(牌)를 써서 "청패" 되시겠습니다. "패의 소리를 듣는다"는 뜻입니다. [본문으로]
    9. 짐작하셨다시피 No 텐파이의 준말입니다. [본문으로]
    Posted by 애쉬군
    ,