카테고리 보관물: Development

Articles for game development
게임 개발 관련 글

Docker 사용기

현재 파이드 파이퍼스의 웹 서버는 사무실 내에 비치 된 서버에서 운영 되고 있다. 아직까지는 – 그리고 아마도 앞으로도 대규모의 사용자를 대상으로 서비스를 하진 않을 것이기 때문에 지금의 웹서버 만으로도 충분하다고 개인적으로 생각한다.

하지만 문제라면 역시

같은 일. 서버의 위치 상 주말에 생기는 갑작스러운 정전 사태에는 어쩔 수 없이 대응하기 힘든데, 사실 이것에 대한 가장 명쾌한 해결책은 호스팅 업체를 찾아가거나 서버를 AWS 같은 서비스에 옮기는 것 뿐이다.

어쨌든 당장은 아니지만, 장기적으로는 지금의 사무실을 이전해야 할 가능성이 높은데다, 위와 같은 정전 등의 사태를 피하고 안정적인 서비스를 유지하기 위해 웹서버를 안정적인 곳으로 옮길 생각은 하루에도… 아니 한 달에도 몇 번은 하고 있었다(비즈스파크로 받은 애저 이용권은 대체 어디에 먼지가 쌓인채로 처박혀 있는지는 묻지 말아 주시길 – 실은 최후의 날을 대비해 묵혀두고 있다고…).

이런 와중, 화창한 어느날, “님, Docker 한 번 키워보시죠” 라는 아노아씨의 영업에 내가 덥썩 낚인 것은, 그날 그가 자랑하던 라즈베리 파이2(Raspberry Pi 2)의 아름다움에 눈이 멀어서 때문만은 아니었을 것이다.

Raspberry Pi 2
나, 나도 갖고싶다!

Docker? 뭔가요 그건?

기술자가 아닌 내가 도커(Docker)에 대해 이해하고 있는 것은 “무언가 VM이랑 비슷한 기술인데, 리눅스에서 돌아가고 엄청 가벼워” 라는 것이다. “리눅스의 컨테이너 가상화 기술에 기반한 경량 컨테이너” 라고 하는데 기술적인 설명은 여기를 참조하자.

Docker Logo Image

왜 하필 도커 같은 힙 한 기술에 주목을 하고 있었느냐고 한다면,

  • 어쨌든 웹서버는 언제가 되었든 옮길 필요가 있었다.
  • 새 환경에서 OS, 웹서버 프로그램, DB 세팅 같은걸 일일히 다시 하고 싶지 않았다.
  • 호스팅 업체는 여러 이유로 커스터마이징을 잘 허용하지 않는다.
  • VM(Virtual Machine)은 일단 용량부터 너무 무거웠다 – 가상 하드 디스크가 아무리 못해도 Gb 단위.

이러한 문제에 대해서 도커는 꽤 많은 장점들이 있었는데,

  • AWS 를 비롯한 다양한 서비스들이 도커를 지원하기 시작했다.
  • 서버 이전 때 마다 무거운 VM을 몽땅 옮길 필요가 없다. 이미지 크기가 그저 수백 Mb 정도.
  • 현재 웹 서비스를 운영하는데 필요한 어플리케이션이 이미지 형태로 다양하게 제공되고 있다.
  • 어플리케이션의 설치 / 설정 / 삭제가 무척 용이하다.
  • 때문에 웹 서버의 이전도 손쉽게 할 수 있다.

정도가 되겠다.

Docker 입주 이야기

도커의 설치 과정 자체는 손쉬웠다. 깔끔하게 새로 설치한 우분투 머신에 설치 가이드에 따라서 설치를 하고, 워드프레스와 MySQL(이후 MariaDB로 갈아탐) 도커 이미지를 다운로드 받고 컨테이너를 띄우고 워드프레스가 정상 동작하는지 확인하는데 걸린시간은 (OS 설치 시간 제외하고) 딱 10분(그나마 영어 페이지 해석하고 메뉴얼 읽고 하는 시간이 대부분이었다).

이렇게 손쉽게 웹서버 + 워드프레스의 세팅이 끝날 줄은 정말 기대하지 않았었다. 물론, 기대하지 않은 일은 이 이후에 또 벌어졌지만.

기대하지 않은 두 번째 일은 바로 기존 웹서비스를 그대로 이전하는데 대한 난관에 봉착한 것. 몇 가지 이유로는…

  • 공식 어플리케이션 이미지들은 서비스 이전이나 복구가 아닌 처음 사용에 대해서만 안내하고 있다.
  • 공식 이미지의 구조를 일일히 뜯어서 확인해야 커스터마이징이 가능했다.
  • 서비스를 제대로 이전하기 위해서는 워드프레스의 구조를 파악해야만 했다.
  • 처음 컨테이너를 만들 때 설정한 옵션의 변경 방법을 결국 끝끝내 찾지 못했다 – 이것 때문에 컨테이너를 만들었다 지웠다가 몇 번이었는지… 누군가 친절히 알려주신다면 감사!
  • 가장 큰 문제는 일단 내가 전문적인 웹서버 관리자, 웹서비스 개발자가 아니다. (…..)

어쨌든 컨텐츠를 이전, 기존의 공유되었던 글들의 고유주소 문제를 해결, 플러그인 복구, 워드프레스 재세팅 등등의 일들을 각종 삽질 끝에 성공적으로 마무리하고 새로운 서버를 시작한 것이 지금의 상태. 현재 이 페이지는 도커 위에서 워드프레스와 MariaDB를 이용하여 동작 중에 있다.

지금의 웹 서버 이전 작업은 언젠가를 위한 작업이다. 과연 그 언젠가가 언제 올 것인가! 같은 사소한 의문은 뒤로하고 일단은 만들던 게임 제작을 위해 도커 사용기는 여기까지. (사실 더 할 이야기가 없… 읍!읍!)

아미 앤 스트레테지 개발 근황 – 2015년 03월

안녕하세요 파이드 파이퍼스입니다. 작년 말 이후로 공식적으로 개발 근황을 남기는 것은 오랜만인 듯 합니다. 긴 시간 동안 별 다른 소식 없이 개발에 전념하였습니다만, 그래도 역시 잠잠한 기간이 이렇게 길어서는 곤란하겠지요. 죄송합니다.

가장 궁금해 하실 아미 앤 스트레테지: 십자군의 개발 진척 사항에 대해서 먼저 말씀을 드리자면, 현재 게임의 메인 컨텐츠인 시나리오 모드의 5개 시나리오 중 4번째 시나리오의 1차 작업을 마무리 하고 있습니다. 현재 남아있는 개발 이슈들 중 굵직한 녀석들만 골라서 이야기를 해 보자면,

  • 4번 시나리오의 마무리
  • 5번 시나리오, 후원자 컨텐츠의 추가
  • 전체 게임 퀄리티 개선 작업 및 베타 테스트
  • 스팀 웍스 연동 및 스팀 발매 준비
  • 게임 발매 전 제반 행정 업무 처리 – 사업자 등록, 게임 심의 등
  • 텀블벅 후원자 후원 보상 준비

… 흐음, 아직도 일들이 많이(;;;) 남아 있네요.

Steam Works
스팀 웍스 적용 테스트만 완료되었습니다 – 완성은 아직… ㅠㅠ

그밖에

그 동안 아미 앤 스트레테지: 십자군의 게임 디자인 기록이 업데이트 되었습니다. 예전에 연작 시리즈로 글을 작성하다가 한동안 포스팅이 없었습니다만, 시나리오 모드와 이후 변경점에 대한 부분을 간략하게 정리하였습니다.

오랜만의 개발 근황이지만, 일단 여기까지 소식 전해드리도록 하겠습니다. 앞으로의 개발 근황은 비정기적으로 여러분들께 소식을 자주 전할 수 있도록 하겠습니다.

긴 시간 동안 프로젝트를 기다려주시는 모든 분들께 다시 한 번 감사드리며! 좋은 소식 가지고 다시 여러분들을 찾아뵙도록 하겠습니다!

아미 앤 스트레테지 개발 기록 – 바뀐 것들

기존의 디자인 기록에서 추가 변경 된 것들에 대한 정리를 해 보고자 한다.

수도원 / 모스크의 개선

수도원 / 모스크의 기본 방향은 게임 내 사용되는 기본 자원 중 하나인 ‘연구 점수’와 기본 세금 이외의 ‘골드’ 획득을 위한 시스템의 확보였다. 여기에 투입되는 주요 자원은 왕국에서 보유하고 있는 장군들의 ‘행동력’ 이다.

연구 점수를 획득하는 방식에 있어서 기존에는 단순히 책을 일렬로 쌓아 올리되, 운이 좋으면 같은 색의 책을 하나의 라인에 연속(Combo)으로 쌓아 올리면 보너스 점수를 획득하는 형태였다. 단순하게 클릭 만을 하게 만들고 지루하다는 의견이 반영되어 이 부분에 대한 시스템이 개선 되었다.

Research Points System

개선된 시스템은 기본적으로 Match-3 방식의 퍼즐 형태를 띄고 있다. 3 권 이상의 책을 가로 – 세로 – 대각선 형태로 3권 이상 맞출 경우 이에 해당하는 연구 점수를 획득하게 된다. 여기에 추가하여.

  • ‘연구’ 해금을 통하여 한 턴에 획득 할 수 있는 연구 점수의 폭을 늘린다. 이는 후반부에 대량의 연구 점수를 획득하여 다른 연구를 해금하기 수월하게 만들기 위한 장치이다.
  • 연구는 ‘시도 횟수를 늘리는 것’, ‘판의 크기를 늘려 콤보 확률을 늘리는 것’ 과 같은 종류의 연구를 게임 진행에 맞춰 배치한다.

외교의 개선 및 종교회의

단순하긴 하지만 그 단순함 때문에 밋밋해보이는 외교 시스템을 개선하기 위하여 ‘그룹’ 이라는 형태의 시스템을 추가하였다. 각 왕국들은 게임에 세팅 되어 있는 외교 / 지정학적인 조건에 따라서 ‘그룹’으로 묶여 있다(이 그룹은 ‘~연맹’, ‘~동맹’, ‘~연합’ 등의 다양한 명칭으로 게임 내에 설정되어 있다).

종교, 종파, 지역에 따라 그룹이 지정되어 있다
종교, 종파, 지역에 따라 그룹이 지정되어 있다

그룹 내에 있는 경우, 기존과 달리 각 왕국의 사정 뿐만 아니라 ‘그룹’ 입장에서의 외교 행동을 개별 왕국들이 선택하게 된다(그룹 외부 왕국이 그룹 내 왕국을 공격하면 그룹 멤버들과 사이가 나빠진다거나 하는 식). 또한 그룹은 추가 시스템인 ‘종교회의’에서도 영향을 미친다.

역사상의 공의회에서 영감을 얻은 종교회의에서 플레이어를 비롯한 각 왕국은 종교회의에 몇 가지 안건을 올리고 이에 대한 투표를 진행 할 수 있다. 안건은 특정 상대를 외교적으로 공격하거나, 특별한 장군들(예를 들어 여성이나 이교도 장군)을 사용을 못하게 막는 등 게임 진행에 직접적인 영향을 미치는 사안들로 구성되어 있다.

각 왕국의 표결 행동은 외교 상황 + 자신이 속한 그룹의 상황 등이 복합적으로 작용하여 결정 된다. 이후 필요하다면 플레이어의 개입에 의해 표를 조작 할 수 있다.

여관(Tavern)

부족한 컨텐츠 추가를 위하여 확장된 장군 방문 장소. 기본적으로 여관은 휴식을 통한 ‘부대의 완전 회복’을 위한 기능이 존재한다.

기존 게임에서는 전쟁을 통해서만 장군 및 부대의 성장이 가능하다는 단점이 있었고, 또한 이 문제로 인하여 컨텐츠의 소모가 극단적이었기 때문에 이를 개선하기 위하여 여관에는 ‘선택형 퀘스트’가 존재한다. 플레이어는 게임 초 중반 장군 성장을 위하여 이를 선택할 수 있다.

여관이라는 장소가 생김으로써 기존 ‘수도원 / 모스크’에 존재한 ‘장군 영입’ 시스템이 여관으로 이동, 확대 개편되었다. 기존의 장군 영입은

  • 특정 규칙에 따라서 새 장군이 수도원 / 모스크에 등장.
  • 적절한 비용을 지불하고 고용.

의 두 단계를 거쳤지만, 이 시스템이 여관으로 옮겨오면서 다음과 같이 변경되었다.

  • 특정 규칙에 따라서 새 장군이 여관에 등장.
  • 플레이어는 해당 장군과 환담을 나눌 수 있다 – 소정의 비용이 필요.
  • 환담을 나눈 장군은 호감도가 점차 올라간다. 호감도를 완전히 체우면 해당 장군을 고용한다.
  • 호감도를 완전히 체우지 못한 경우라도 별도의 보상이 주어진다.

병영, 병기창 통합

베타 테스트 이후 지나치게 난해하고 동작이 효율적이지 못하다는 지적을 받은 병기창을 병영과 통합하였다. 모든 부대 성장과 관리는 병영에서 이루어지기 때문에 기존 병기창에서 처럼 ‘부대를 장군에게서 부터 빼내 왔다가 조합하고 다시 그 결과물을 장군에 넣는다’ 같은 복잡한 조작은 사라졌다.

기존 병기창의 기능은 병영에 통합되었다
기존 병기창의 기능은 병영에 통합되었다

각 클래스 트리 중 창병과 궁병의 경우, 각각 그 특성이 차이나는 분기형 트리를 도입함으로써 성장에도 선택권을 가질 수 있도록 하였다. 창병 클래스의 경우 ‘방어, 공격, 공격 속도’에서의 선택을, 궁병 클래스의 경우 ‘곡사, 직사’ 중 자신이 원하는 방향으로 성장 선택이 가능하다.

그밖에, 부대 성장을 다양화 하기 위한 ‘훈장 수여 시스템’ 등이 추가 되었다. 부대의 각 스테이터스를 개별적으로 올려주는 훈장을 개별 부대에 수여함으로써 서로간의 성능 차이를 이끌어내기 위함을 목적으로 한다.

아미 앤 스트레테지 게임 디자인 연작 글 보기