Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

최근 글

트위터 서드파티 서비스의 API 제한에 어느 정도 동의

2023년 초 트위터가 서드파티 앱의 API 접근을 차단합니다. 덕분에 오랜 시간에 걸쳐 유용하게 사용하던 트윗봇이 하루 아침에 못 쓰게 되어 황망했습니다. 한편으로는 트윗봇에서 지원하지 않는 기능이 필요할 때만 사용하던 트위터 앱을 이제 트위터를 사용해야 할 때마다 항상 사용해야 했는데 기초적인 가독성부터 시작해서 마음에 안 드는 부분이 한 둘이 아니었습니다.

현대의 트위터 앱은 지난 2008년에 처음 출시되어 ‘당겨서 새로고침’을 처음으로 소개한 트위티를 인수해서 개발한 것입니다. 지금은 너무 많은 곳에서 아무렇게나, 또 맥락 없이 사용하는 방법이지만 이 사용 방법이 처음 등장했을 때 타임라인을 당겼다 놓을 때 경험은 정말 대단했습니다. 또 당겼다 놓지 않고 계속해서 당기면 그 자리에 제작사 로고가 나타나는 동작들도 재미있었고요. 트위티는 당시 난립하던 트위터 앱 중 가장 진보한 앱이었지만 트위터에 인수되고 나서 세월이 흐르면서 그저 트위터의 리퍼런스 앱 정도의 역할을 하게 되었습니다. [계속]

아틀라시안 때문에 cloak.ist 드랍

cloak.ist’는 커스텀 도메인을 지원하지 않는 웹 서비스를 대상으로 커스텀 도메인으로 랩핑 해 주는 서비스입니다. 전에 CLOUD-6999에 대해 이야기하면서 커스텀 도메인의 필요성을 언급했는데 아틀라시안 제품 말고도 기업용 제품이면서도 커스텀 도메인을 지원하지 않는 서비스가 많아진 상황입니다. 그럼에도 여전히 커스텀 도메인을 필요로 하는 사람들이 있고 장점도 있기 때문에 등장한 서비스인 것 같습니다.

DNS가 이 서비스를 가리키도록 해 놓고 이 서비스에서 커스텀 도메인으로 랩핑할 주소를 지정하면 도메인을 요청할 때 이 서비스가 중간에서 실제 주소를 읽어 커스텀 도메인을 통해 접근할 수 있게 해 줍니다. 중간에서 데이터를 가로채는 역할을 하므로 로그인이 필요한 위치에는 적용할 수 없습니다. 기술적으로 적용이 불가능하지는 않을 것 같지만 중간에서 모든 것을 보고 있는 이 서비스의 특성 상 보안 문제를 일으킬 수 있어 아예 지원하지 않는 모양입니다. [계속]

‘CLOUD-6999’의 미래에 대한 암울한 생각

아틀라시안 제품군은 크게 서버, 데이터센터, 클라우드 제품군으로 나뉩니다. 서버 제품군은 중소규모로 아틀라시안 제품을 사용할 때 언프레미스 환경에서 사용하는데 몇 년 전부터 판매가 중단되었고 작년에 지원이 중단되었습니다. 이전에 경험한 몇몇 조직에서는 보안 문제로 컨플루언스 서버 제품을 사용하기 시작해 메이저 버전업 때마다 라이선스 비용을 추가로 지불하고 싶지 않아 오래된 서버 버전을 유지해 사용자(직원)들로부터 컨플루언스에 낡은 사용 경험을 주기도 했습니다. 데이터센터 제품군은 대규모로 아틀라시안 제품을 사용할 때 온프레미스 환경에서 사용하는 제품으로 컨플루언스 기준 최소 계약 단위가 500명 부터입니다. 연간 소프트웨어 이용 요금으로만 몇 만 달러를 지불해야 하는데 여기에 데이터센터 환경에 별도로 지출할 수 있는 수준의 기업에서 사용할 수 있을 겁니다. 서버 버전의 판매와 지원이 종료되었지만 데이터센터 버전은 여전히 구입할 수도 있고 개발과 지원도 계속 되고 있습니다. [계속]

풀소유와 분할소유 사이의 감정

현실 세계에서 물건을 소유하는 개념을 생각해봅시다. 지금 제 전 재산 뿐만 아니라 미래의 수입 일부까지 저당 잡는 신용카드라는 마법의 도구를 사용해 심호흡을 한 번 하고 어깨를 당당히 편 다음 외향인들이 판치는 애플스토어에 걸어 들어가 아이폰을 구매할 작정입니다. 미래의 수입을 저당 잡은 할부거래계약을 마친 다음 아이폰의 소유권을 넘겨 받아 상자를 열고 기계를 꺼내 전원을 켭니다.

어쩌면 처음 등록할 때 나오는 도저히 읽을 수 없는 기나긴 약관에는 제 손에 든 아이폰의 모든 부분이 온전한 제 소유가 아니며 내가 아이폰에 기록한 모든 정보 역시 온전히 제 소유가 아니라는데 동의해야만 기계를 사용할 수 있음을 나타내고 있을지도 모르지만 일단 표면적으로 할부거래계약이 성사된 이상 이 기계는 저 한 명의 소유입니다. 내가 아이폰을 소유하고 있다는 말의 의미는 이제 제가 집에 돌아가는 길에 폰을 떨어뜨려 박살을 내더라도 온전히 제 스스로 책임을 지며 반대로 아이폰을 활용한 부가가치 역시 적어도 부가가치가 생성된 그 순간만큼은 가치가 온전히 제 소유라는 의미일 것입니다. [계속]

혹시 이 앱 게임 아닐까?

이전에 멀티 유틸리티 토큰 모델, NFT화된 인게임 자원과 법률 준수, 그리고 크립토 게임의 법률 및 플랫폼 정책에 따른 설계 과제 같은 생각을 하면서 전통적인 게임 경제에 블록체인에 기반을 둔 토큰을 도입하는 것은 재미있기도 하고 또 도전적인 과제임과 동시에 약간은 모호한 법률을 위반할 소지가 있음을 알게 되었습니다. 법률 상 블록체인에 기반한 토큰을 도입해서는 안된다고 명시하지는 않고 있지만 경품을 제공해서는 안된다는 법률의 해석에 따라 약관 상 소유권이 사용자에게 있는 데이터가 발생하는 특징을 경품으로 해석해 법률을 위반하게 됩니다. 그래서 게임에 블록체인에 기반한 토큰을 도입하려 한다면 게임 안으로는 인게임 경제가 게임 외부의 경제 여건 변화에 따라 쉽게 고장 나지 않도록 설계해야 하는 과제가 있고 또 게임 밖으로는 이런 경제 체계를 도입한 게임을 정상적으로 서비스 하기 위한 법률적 대비가 필요합니다. [계속]

영혼이 없이 개발해야만 임무를 완수할 수 있을 때가 있다.

복제를 강요받는 환경에서 일하다 보면 그래도 그저 복제하는 대신 내 스스로 옳다고 생각하는 뭔가를 더하거나 빼고 싶을 때가 있습니다. 그래서 복제를 강요받는 환경에서 살아남기 위한 방법으로 관리자 입장에서는 복제를 정확히 지시하고 또 복제해야 하는 이유를 설명하며 복제 하는 입장에서는 이 시스템이 게임 전체에 어떤 역할을 하는지 정확히 이해해야 한다고 이야기했었습니다. 복제를 수행하는 자세에 있어 이처럼 자신의 의지를 포함해 복제를 할 때도 있지만 가끔은 영혼 없이 복제해야만 프로젝트를 완수할 수 있는 상황이 있다고 생각합니다. [계속]

움직이는 엘리베이터 안에서 움직일 수 있는 사례

지난번에 '레버를 돌리면 움직이는 엘리베이터 사례'를 소개하면서 목적에 따라 선택할 수 있는 엘리베이터의 특징에는 자동으로 움직이는가와 버튼을 눌러야 움직이는가, 그리고 엘리베이터 안에서 플레이어를 움직일 수 있는가 그렇지 않은가에 따라 달라진다고 설명했습니다. 이때 소개한 사례는 레버를 돌려야 움직이기 시작하는 엘리베이터였는데 이 엘리베이터는 동시에 엘리베이터가 움직이는 동안 조작할 수 없었습니다.

한 게임에 엘리베이터를 사용하는 여러 장면이 나오더라도 모두 같은 메커닉을 사용하지 않습니다. 필요에 따라 다른 엘리베이터를 사용하기도 하고 게임을 긴 기간에 걸쳐 개발한다면 처음 개발한 엘리베이터와 나중에 개발한 엘리베이터가 서로 다른 메커닉을 사용하게 됐는데 처음 개발한 부분을 고치자니 비용이 높아 그대로 두기도 합니다. [계속]

NPC가 문을 못 지나갈 상황을 귀엽게 해결한 사례

지난번 ‘NPC가 지나가면 닫히는 문 사례’를 소개하면서 고약한 문 문제에 대해 소개했습니다. 게임에 일상적으로 등장하는 문이 사실은 그걸 만드는 사람들을 심각하게 괴롭힌다는 내용인데요, 시간이 흐르면서 문을 거슬리지 않게 처리하는 방법들이 고안됐습니다. 그럴듯한 문을 만들기에 이전만큼 어렵고 복잡하지는 않습니다. 하지만 싱글플레이에서 문과 멀티플레이에서 문은 또 완전히 다른 이야기입니다. 서양에서 싱글플레이 환경에서 동작하는 문을 발달시켰다면 동양에서는 멀티플레이 환경에서 동작하는 문을 발달시켰는데 특히 던전 안에서 몬스터가 문의 여닫힘에 따라 달리 행동해야 했기 때문에 동양의 문은 문과 그 문에 의해 다른 행동을 해야 하는 몬스터 제어와 함께 발달했습니다.

갓오브워는 플레이 하면 할수록 이런 게임을 여러 차례에 걸쳐 개발한 경험 있는 제작사가 개발했다고 하기엔 아쉬운 부분이 많이 눈에 띄는데 그 중 하나가 NPC와 문 문제를 가장 싼 방법으로 해결한 점입니다. 이 게임에서 문은 스테이지를 구분하고 레벨디자인의 완결성을 외부 요소로부터 격리하고 새로운 챕터를 구분하는 등 여러 상황에 사용됩니다. 이는 다른 게임에 문을 도입하는 이유와 다르지 않습니다. [계속]

왜 현대 게임에 그렇게 많은 종류의 재화를 사용하나요?

종종 서양에서 디아블로 이모탈 같은 게임을 처음 접해 스무가지가 넘는 재화가 등장하는 구조를 보고 소위 ‘독성 게임’이라며 열을 올리는 영상을 보며 동양에서 게임의 성장 구조와 경제 구조 설계가 어떤 식으로 다르게 발전하고 있는지 생각해볼 수 있는 계기가 되어 의미 있기도 하고 또 한편으로는 웃기기도 합니다. 아니 선생님들은 그럼 MMO 게임이 겪는 온갖 경제 문제를 어떻게 해결하고 있느냐고 묻고 싶었지만 영상을 만드는 분들은 주로 게임을 만드는 분들은 아닌 것 같아 물어볼 수는 없었습니다.

여튼 현대 게임에 여러 종류의 재화를 사용하는 이유를 설명하겠습니다. 게임에 이렇게나 많은 재화가 필요한 이유는 크게 두 가지입니다. 첫째. 게임 경제 어느 한 곳에 발생한 문제가 다른 곳으로 전파되지 않도록 하기 위한 안전장치. 마치 큰 배가 더 작은 여러 구획으로 구분되어 있고 각 구획 사이를 필요에 따라 차단할 수 있도록 설계한 것과 비슷합니다. [계속]

동물의 숲과 디아블로의 성장 표현 방법

몇 달 전에 ‘왜 숫자를 많이 보여줄까요?’에서 게임에 웬 숫자가 그리 많이 등장하는지 설명한 적이 있습니다. 게임에 숫자가 많이 나오는 이유는 성장을 선형성장, 계단형성장, 그리고 비효율성장으로 구분할 때 선형성장을 만들기 어렵기 때문입니다. 또 게임 후반부에 가서는 비효율성장 구간의 변별력을 만들고 리를 고객들에게 납득 시키는데도 중요한 역할을 합니다.

하지만 분명 어떤 게임은 숫자를 거의 사용하지 않아도 훌륭하게 성장을 체감 시키기도 합니다. 회사에서 이런 주제로 이야기를 하다가 동물의 숲은 숫자를 거의 사용하지 않는데도 시간이 흐름에 따라 충분한 성장 체감을 주는 반면 흔히 볼 수 있는 수집형 장르나 모바일 롤플레잉 장르는 왜 그렇지 않은지 구체적으로 생각해보면 좋겠다 싶었습니다. 가령 동물의 숲은 숫자를 거의 사용하지 않고 성장을 표현할 수 있는 반면 디아블로는 그렇지 않을까요? 결론부터 이야기하면 서로 성장을 표현하고 이를 체감하는 방법이 전혀 다르기 때문입니다. 동물의 숲에서 유저가 조작하는 플레이어는 귀여운 사람 한 명이지만 이 플레이어의 성장은 플레이어에 국한되지 않습니다. 거의 유일하게 성장을 체감할 수 있는 숫자는 돈 뿐인데 그나마 돈은 그 자체만으로는 성장 체감에 영향을 주지 않습니다. [계속]

크립토 게임의 법률 및 플랫폼 정책에 따른 설계 과제

한번은 ‘NFT화된 인게임 자원과 법률 준수’에 대해 생각해본 적이 있습니다. 이때 블록체인에 연동된 토큰을 사용하지 않고 서비스하는 가칭 노 토큰 모델을 설명하는 트윗을 보고 여기서 설명한 모델은 개인적인 관점에서는 멀티 유틸리티 토큰 모델에 가깝다는 생각을 했습니다. 그래서 만약 블록체인에 연동된 토큰을 도입하지 않고 그저 인게임 상의 뭔가를 NFT 모양으로 만드는 기능만 제공한다면 이는 국내 법률을 위반하지 않는 모양이 아닐까 하는 생각을 했습니다. 하지만 ‘첫 P2E 게임 소송 기각됐다. 게임위 손 들어준 법원’ 기사를 살펴보면 그것이 인게임 화폐와 비슷한 역할을 하는 블록체인에 연동된 토큰이든 단순히 인게임 상의 뭔가를 NFT 모양으로만드는 기능을 통한 토큰이든 관계 없이 소유권이 사용자에게 있다면 이를 경품으로 해석하는 것 같습니다. 이 관점에서는 게임의 형태, 경제를 지탱하는데 사용하는 기술에 관계 없이 근본적으로 약관 상 게임으로부터 얻은 뭔가의 소유권이 사용자에게 있다고 정의하면 안됩니다. [계속]

최근 반년 사이에 사용하는 오토메이션 사례

컨플루언스 오토메이션 프리뷰

지라는 지라 오토메이션이 소개되기 전과 후로 구분할 수 있습니다. 프로젝트나 사이트 단위에 사용하는 오토메이션이 많아지면 관리하기 좀 어렵고 한 가지 상황에 여러 오토메이션이 개입해 이상한 결과를 만들 수 있긴 하지만 조건에 따라 태스크 생성, 수정, 답글, 컨플루언스 위키 페이지 생성을 잘 짜맞추면 이전에는 꽤 쉽게 일어나던 실수를 상당히 줄이고 관리되지 않은 채 방치되는 태스크가 훨씬 덜 나타나게 할 수 있었습니다.

근본적으로 지라는 각 항목을 태스크 모양으로 표시하는 데이터베이스입니다. 각 항목을 구성하는 값과 항목의 상태, 상태 전환 조건을 조합해 프로젝트를 관리하는데 주로 사용하고 있지만 각 태스크를 데이터베이스의 레코드라고 생각하면 활용 범위가 급격히 넓어집니다. 아틀라시안이 지라를 소프트웨어, 서비스데스크 등으로 구분하기 시작한 것도 이런 맥락이라고 봅니다. 근본적으로 데이터베이스이기 때문에 오토메이션이 동작하기에 더 좋은 환경입니다. [계속]

누가 고쳐야 할까

언리얼 환경에서 개발하는 가상의 프로젝트에서 사용하는 아이템 데이터 엑셀 파일을 생각해 봅시다. 엑셀 파일을 열면 거대한 워크시트가 펼쳐지고 첫 칼럼에는 아이템 아이디 수 천 개가 줄줄이 늘어서 있습니다. 오른쪽으로 조금 스크롤 해 보면 아이템 아이콘을 설정하는 자리가 있고요. 여기에는 언리얼 에디터에서 에셋 경로를 복사한 에셋 종류와 경로, 네임스페이스가 쭉 연결된 텍스트가 붙어 있습니다. 아이템 아이콘을 수정하고 싶으면 언리얼 에디터에서 원하는 아이콘의 스프라이트 에셋을 찾은 다음 컨텐츠 브라우저에서 경로를 복사해 엑셀 워크시트에 붙여 넣고 저장한 다음 클라이언트를 다시 실행하거나 클라이언트가 실행된 상태에서 데이터만 새로 고쳐 테스트 해 보면 됩니다. [계속]

전체 글 목록

블로그

경험

현재

  • 리드시스템디자인, UNOPND (2022 ~ 현재)

이전

...

리드시스템디자인스마일게이트알피지 (2019 - 2021)

  • 로스트아크모바일 프로젝트 참여.

...

게임디자인 및 UI디자인, 넷게임즈 (현 넥슨게임즈) (2017 - 2018)

  • 오버히트 프로젝트 개발 및 라이브서비스.

    • UI설계, 시스템디자인, 이벤트 설계 및 집행, UITF 참여.

...

리드시스템디자인, 블루홀스튜디오 (현 크래프톤) (2015 - 2016)

  • ‘Project T2' 참여.

    • 리드시스템디자인, 코어루프 시스템디자인 및 UI설계

...

시스템디자인엔씨소프트 (2010 - 2014)

  • 리니지 이터널 프로젝트 참여.

    • 엔드컨텐츠 디자인, 인하우스툴, 랜덤던전 개발에 시스템디자인 역할로 참여.

  • 명인장기, 미션아르피아 개발 및 라이브서비스.

    • 플래시 기반의 미니게임 게임디자인, 명인장기 모바일 개발.

...

게임디자인넥슨 (2008 - 2009)

시스템디자인그라비티 (2005 - 2007)

라그나로크 온라인 2 개발 및 라이브서비스.

...

Info

kono.pub 마스토돈 서버

kono.pub이라는 자유 주제 마스토돈 서버를 운영하고 있습니다. 서버에 대한 소개와 여러 가지 정보는 docs.kono.pub을 참고해 주세요. 혹시 마스토돈을 사용해볼 생각이라면 이 서버를 고려해 주세요. (smile)

전체 글 목록