로그인 전략

마지막 업데이트: 2022년 1월 16일 | 0개 댓글
  • 네이버 블로그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 트위터 공유하기
  • 카카오스토리 공유하기
게임빌이 지난 9일 모바일 디펜스 역할수행게임(RPG) 신작 '아르카나 택틱스:리볼버스'를 글로벌 출시했다. 히어로즈 랜덤 디펜스 등 입소문이 난 디펜스 RPG를 개발해온 티키타카 스튜디오의 '아르카나 택틱스'에 게임빌이 직접 운영을 맡겠다고 나서면서 이용자들의 많은 관심을 받았다. /게임빌

웹 서버 개발의 Session 전략

들어가기 앞서 코드의 설명은 nodejs + express 로 하겠습니다.
전체 소스 코드는 gitHub 를 참고하시면 됩니다.

이 글을 쓰게된 이유는 스스로의 궁금증을 풀고자 합니다. 저는 CMS 블로그 Wordpress 개발을 3년 정도 했었고 현재는 Parse 로 웹 서버 개발을 하고 있습니다.

위 두 서비스의 DB 구조를 보면서 공통적인 부분을 발견했습니다.

바로 Session 이 DB 에 저장되어 있다는 것입니다. 저의 의문은 여기서 시작 되었고 왜 Session 을 DB 에 저장하는지 이유를 파헤쳐보려 합니다.

Wordpress 는 블로그로 알려진 세계적인 CMS(컨텐츠 관리 시스템) 입니다.

Parse 는 백앤드 개발을 빠르고 쉽게 지원 하기 로그인 전략 위해 각종 플랫폼(웹, 안드로이드, IOS) 에 맞는 api, sdk 를 제공합니다. 초기에 페이스북에서 BaaS(Backend as a Service)로 런칭했었고 현재는 오픈소스 입니다.

Session 이란

Session 을 이해하기 위해서는 먼저 ‘왜 Session 이란 개념이 생긴 것일까?’ 부터 이해 하셔야 합니다.
모든 웹 서비스는 로그인 전략 http 통신을 기본으로 하고 있습니다. http 통신은 서버와 클라이언트 간의 소통을 하기 위한 길 입니다.

그러면 이 길을 누가 유지 하나요? 클라이언트 or 서버 일까요? 정답은 둘 다 유지 하지 않습니다.

이러한 상황 때문에 http 는 stateless 특성을 갖습니다. 즉, 누구도 상태를 유지하지 않는다는 것이죠. 상태를 유지 하지 않으면 어떠한 상황이 발생 될까요? 예를 들면, 사용자가 온라인 구매 사이트에 접속하여 물품을 장바구니에 넣어놓고 다음날 다시 접속해서 확인하니 장바구니에 물품이 없는 상황이 발생합니다.

위와 같은 상황이 발생하기 때문에 상태 유지를 위한 statefull 을 지원하기 위해 Session 개념이 생긴 것입니다.

Session 만 얘기하면 서운한 녀석이 바로 Cookie 입니다. 쉽게 설명하면 클라이언트가 서버에 요청 했을 때, 요청한 사용자에게 증거를 남기기 위한 증거물을 Cookie 라고 이해 하시면 됩니다.

Session의 저장 방식

Session의 저장 방식은 3가지로 나눌 수 있습니다. 아래의 순서는 의미가 있습니다. 각 저장 방식에 따른 문제점을 로그인 전략 보완한 단계를 의미합니다. 어떤 문제점이 있는지 확인하는 과정을 통해 설명 하겠습니다.

  • app 을 구동하고 있는 서버의 메모리에 Session을 생성합니다.
  • app 을 구동하고 있는 서버의 특정 디렉토리에 파일 형태로 Session을 생성합니다.
  • file storage 대신에 DB 에 저장합니다.

In memory

첫번째 클라이언트가 요청 했을 때, Cookie는 없고 서버는 Cookie가 없음을 인지하고 메모리에 Session을 저장하고 클라이언트로 전달합니다. 응답 받은 클라이언트는 Cookie를 저장합니다.

두번째 클라이언트가 요청 했을 때, 클라이언트는 서버로 Cookie를 전달하고 서버는 Cookie를 분석해서 메모리에 Session이 존재하는지 확인 합니다. Session이 존재하므로 Session을 다시 생성하지 않습니다. Session은 서버에 저장하고 Cookie는 클라이언트에 저장하여 statefull 상태가 됩니다. 이후 임의의 사용자가 웹 서비스를 이용할 때, 무엇을 했는지에 대한 추적이 가능해 집니다. (주의. 로그인과 동일시 생각하면 안됩니다.)

문제점 파헤치기

자, 그러면 app 이 오류가 발생해서 죽었다고 가정합시다. app 을 재시작을 재접속하면 어떻게 될까요? Cookie는 그대로이지만 서버의 Session이 변경되었습니다. 왜 바뀌었는지 아시겠나요? app 을 재시작하면서 메모리에 저장된 Session은 모두 초기화 되었습니다. 그래서 Cookie는 동일 하지만 메모리에 Session이 없기 때문에 Session을 재생성 한 것입니다. Session이 변경되면 임의의 사용자가 무엇을 했는지에 대한 정보가 손실됩니다.

app 이 죽지 않고 잘 돌아가면 문제가 없을까요? 또 다른 이유로는 Memory 용량입니다. 메모리는 항상 제한적입니다. 사용자가 급격히 증가하면, Session이 차지하는 메모리는 증가하고 용량 app 은 시스템 메모리 초과로 인해 죽게 될 것입니다.

File storage

In Memory 방식의 문제점을 보완하여 파일형태로 Session을 저장하도록 하겠습니다.

http://localhost:3030/session 로 접속해서 Session 디렉토리 Session을 file 로 생성합니다.

mYCHWOju_gFEiGM_tvxBvi2FtsVdepju.json (sessionId 값이 파일명이 됨.)

서버를 강제로 재시작 해도 Session file 은 그대로 유지되며, 임의 사용자에 대한 정보 손실을 막을 수 있게 되었습니다. 클라이언트의 Cookie도 그대로 입니다.

문제점 파헤치기

이제 더 이상 문제가 없어 보이는데, 또 다른 문제가 있을까요? 문제가 될만한 상황을 만들겠습니다.

로드 밸런서에 의한 트래픽 분산

로드 밸런서에 의한 트래픽 분산

사용자의 급증으로 서버를 2대로 늘렸습니다. 기존 서버는 server_1, 새로운 서버는 server_2 입니다. 사용자는 로드 밸런서에 의해 분할되어 접속하게 됩니다.

서버를 늘리기 전에 사용자는 온라인 사이트에 물품을 장바구니에 넣었습니다. 서버의 Session 파일에는 사용자의 장바구니 정보가 저장되어 있습니다.

그런데 서버를 늘린 후에 로그인 전략 사용자는 자신의 장바구니의 물품이 사라졌다고 합니다. 왜 이런 문제가 발생한 걸까요? 원인은 새로운 서버에 사용자의 Session 파일이 없기 때문입니다. 이와 같은 상황은 다음 그림과 동일하다 볼 수 있습니다.

동일 사용자가 여러 디바이스로 접속

동일 사용자가 여러 디바이스로 접속

실제 동일한 사용자이지만 여러 디바이스를 통해 접속 하므로 각각의 디바이스 마다 Session과 Cookie가 생성되는 것과 동일한 상황이라 볼 수 있습니다.

그러면 위와 같은 문제를 어떻게 해결해야 할까요? 아쉽게도 Session 만으로는 한계가 있습니다. 여기까지가 Session의 역할은 다 했다고 생각합니다.

Database storage

마지막으로 DB에 Session을 저장하는 방법입니다. 이 부분은 file Storage에서의 Session 의 한계를 보완하고자 DB를 통해 로그인 기능이 필요한 이유 때문에 준비했습니다.

Session을 저장하기 위한 DB

Session을 저장하기 위한 DB

위 그림은 app 서버는 2개이고 DB 서버는 1개인 상황입니다.

사용자는 회원 가입을 하고 로그인을 합니다. DB 에는 사용자 정보를 저장하고 더 이상 Session으로 사용자 정보를 저장할 필요가 없습니다. 로그인을 통해 장바구니에 상품을 담는 것도 Session 대신에 DB에 저장하면 동일 유저의 여러 디바이스에서 로그인만 하면 내 장바구니 정보는 DB에서 불러오기만 하면 됩니다.

그러면 ‘굳이 Session을 DB 에 저장할 필요가 없지 않나?’ 라는 생각이 하실겁니다. Session의 역할은 사용자의 정보를 저장하는 것 이외에 생명주기를 설정할 수 있습니다. 쉽게 말해서 로그인을 유지하기 위한 시간을 설정 할 수 있습니다.

Session을 DB 로 관리하는 구현 방법을 설명하기에는 개발 환경마다 차이가 있으므로 대신에 제가 사용 중인 Parse 오픈소스에서는 아래와 같이 사용자의 Session 을 관리하고 있습니다.

Parse Dashboard Session Collection

Parse Dashboard Session Collection

MongoDB 를 사용 중이며 위 그림의 Session Collection 을 살펴보면, sessionToken 과 expiresAt(로그인 유지 만료시간), user(사용자 외래키) 속성이 있습니다. sessionToken 을 자세히 설명하면 사용자가 로그인 후에 주어지는 입장권 같은 것입니다. 입장권이 있으면 서비스를 이용할 때, 매번 로그인(ID,PW 입력)을 할 필요 없이 DB 에서는 sessionToken(입장권) 을 비교하고 expiresAt(만료일)이 지났는지 확인합니다. 사용자는 더 간편하게 서비스를 이용 할 수 있죠. 또한 동일한 사용자이면서 여러 디바이스 마다 recode 를 생성하여 1:N 관계로 Session을 관리 할 수 있게 됩니다.

이번 글을 정리하면서 느낀점은 개념에 대한 이해를 넘어서 기존의 문제점을 분석하고 더 나은 방법을 채택하는 이유에 대해서 파헤쳐보는 것에 프로그래밍과는 또 다른 흥미를 느꼈습니다.

번외로 개발자분들이 Session과 Cookie에 대해 얼마나 알고 계신지 궁금하여 생활코딩을 통해서 설문조사를 진행 했습니다.

글을 쓰면서 생각해보니 Session을 DB 에 저장하는 이유를 알고 있다 라는 항목을 잘 못 적었다는 생각이 드네요. 정확히는 Session의 한계를 알고 로그인 기능이 필요한 이유를 알고 있다 라고 했어야 했네요.

로그인 전략

게임빌이 지난 9일 모바일 디펜스 역할수행게임(RPG) 신작

게임빌이 지난 9일 모바일 디펜스 역할수행게임(RPG) 신작 '아르카나 택틱스:리볼버스'를 글로벌 출시했다. 히어로즈 랜덤 디펜스 등 입소문이 난 디펜스 RPG를 개발해온 티키타카 스튜디오의 '아르카나 택틱스'에 게임빌이 직접 운영을 맡겠다고 나서면서 이용자들의 많은 관심을 받았다. /게임빌

시사위크=송가영 기자 게임빌이 올해의 첫 모바일 신작 ‘아르카나 택틱스:리볼버스’를 글로벌 출시했다. 티키타카 스튜디오의 ‘아르카나 택틱스’에 게임빌의 운영력이 뒷받침된 신작으로, 출시 전부터 국내 디펜스 역할수행게임(RPG) 장르를 선호하는 이용자들로부터 많은 관심을 받았다.

아르카나 택틱스:리볼버스는 스테이지마다 랜덤으로 주어지는 영웅과 젬, 큐브 등 다양한 재화를 전략적으로 조합해 강력한 파티를 구성하고 웨이브마다 몰려오는 적들을 물리치는 것이 핵심인 랜덤 디펜스 RPG 게임으로 지난 9일 정식 출시됐다.

출시 초반 분위기는 긍정적으로 평가된다. 아르카나 택틱스:리볼버스는 18일 한국 구글 플레이 기준 인기 순위 19위, 매출 58위에 진입해 있다. 디펜스 장르에 대해 어려움을 느끼는 국내 이용자들에게도 호평을 받는 분위기다.

원조격인 아르카나 택틱스는 입소문을 타고 탄탄한 팬층을 확보해왔지만 그동안 운영 측면에서는 아쉬움이 적지 않았다. 여기에 게임빌의 운영력이 더해진 아르카나 택틱스:리볼버스는 어떤 모습일지 직접 플레이 했다.

아르카나 택틱스:리볼버스는 이용자가 처음 구상한대로 게임이 흘러가지 않는다. 원하는 영웅을 만들 수 있는 조합 가능한 영웅이 등장하지 않을 뿐더러 과금으로도 해결될 수 없는 문제다. 그러나 아르카나 택틱스:리볼버스는 특정 속성의 영웅으로 클리어 하는 등 게임을 진행하면서 보다 세밀하고 구체적이게 실시간으로 전략을 짜 게임을 클리어하도록 유도하고 있다. 사진은 기자가 직접 아르카나 택틱스:리볼버스를 플레이하며 캡처한 사진. /송가영 기자

아르카나 택틱스:리볼버스는 이용자가 처음 구상한대로 게임이 흘러가지 않는다. 원하는 영웅을 만들 수 있는 조합 가능한 영웅이 등장하지 않을 뿐더러 과금으로도 해결될 수 없는 문제다. 그러나 아르카나 택틱스:리볼버스는 특정 속성의 영웅으로 클리어 하는 등 게임을 진행하면서 보다 세밀하고 구체적이게 실시간으로 전략을 짜 게임을 클리어하도록 유도하고 있다. 사진은 기자가 직접 아르카나 택틱스:리볼버스를 플레이하며 캡처한 사진. /송가영 기자

◇ 생각 또 생각… 실시간 전략성 극대화

아르카나 택틱스:리볼버스는 전략성을 상당히 요구하는 게임이다. 결론부터 말하자면 게임 자체의 체감 난이도가 상당하다. 기존 모바일 RPG를 생각하고 설치했거나 다른 디펜스 RPG를 플레이 해 본 적 없던 이용자라면 난감할지도 모르겠다.

수많은 게임에서 숱하게 봤던 자동 전투를 지원하지 않는다. 이용자가 직접 수동으로 영웅을 조합하고 배치하고 스테이지를 클리어하는 것을 기본으로 한다.

이용자가 게임을 시작하면 무작위로 지급된 1성 영웅을 활용해 전투를 치른다. 스테이지 속 웨이브를 클리어 할 때마다 획득하는 젬, 큐브, 영웅, 각종 아이템 등을 활용해 가장 마지막 보스를 클리어 하기 위한 덱을 만들면 된다. 이 과정에서 각 영웅들의 특성, 전투를 치를 영웅들간 시너지, 이용자의 영웅 배치 및 전투 방식 등이 전투의 승패에 큰 영향을 준다.

기본적으로 △소드맨 △아처 △로그 △위저드 △클레릭 △파이터 △랜서 △스피릿 등 클래스 이름을 가진 1성 영웅이 제공된다. 1성 영웅들마다 보유하고 있는 속성들이 모두 다르고 이들 영웅간 조합에 따라 얻게 될 2~5성 영웅의 속성 또한 모두 달라진다.

3개의 영웅을 조합해야 했던 전작과 달리 아르카나 택틱스:리볼버스는 8종의 1성 영웅 2명만 조합해 2성 등급의 영웅을 만들어 낼 수 있다. 이렇게 조합해 만들어낸 2성 영웅은 총 16개다. 16개의 2성 영웅 2개를 조합하면 3성 영웅 1개를 만드는 식으로 게임은 진행된다.

게임 초반 진행되는 스테이지의 난이도는 낮은 편에 속한다. 처음 접하거나 디펜스 장르가 다소 익숙하지 않은 이용자들을 위해 튜토리얼이 진행된다. 각 스테이지 별로 도전 과제 보상에 3~4성 등급 영웅을 소환할 수 있는 보상을 제공하고 있어 이용자들이 최대한 많은 영웅을 확보할 수 있도록 했다.

특히 디펜스 장르를 처음 접하는 이용자라면 스테이지별로 지정해놓은 도전 과제를 반드시 이행하는 것을 추천한다. 도전 과제들은 이용자가 최대한 많은 방식의 전략을 구상할 수 있도록 돕는다. 특정 영웅에만 목매지 않고 다양한 영웅을 활용해 최상의 덱을 구상하도록 해 게임에 대한 이해도를 높일 수 있도록 해준다.

이용자가 스테이지 속 각 웨이브를 클리어하기 위해 영웅을 조합할 수 있는 시간은 최대 1분이 주어진다. 총 8개의 1성 영웅을 조합해 높은 등급의 영웅을 만들기 위한 초석을 다져야 한다. 이 1분은 상당히 길 것 같지만 전혀 그렇지 않다. 원하는 영웅을 조합하기 위해 필요한 영웅이 반드시 등장하리란 보장이 없다. 최종 보스는 다가오는데 원하는 영웅을 만들어내지 못할 것 같다면 다른 영웅을 조합해 스테이지를 클리어할 전략을 구상해야 한다.

그렇다고 영웅들의 모든 조합을 외우는 것도 추천하진 않는다. 공식이 상당히 복잡한데다가 1분 안에 전투 가능한 영웅들을 만들어내는 것도 바쁜 이용자들을 위한 ‘조합사전’이 있다. 이용자가 전투를 치르기 전 영웅을 조합할 때 스테이지 안에 마련된 조합사전을 참고하면 게임을 보다 원활하게 진행하는데 도움이 된다.

아르카나 택틱스:리볼버스에서는 수많은 영웅들이 있고 이 영웅을 조합할 수 있는 방법도 여러가지다. 그러나 이 모든 조합을 외울 순 없다. 개발사는 이용자들의 원활한 게임 진행을 위해 조합사전을 제공하고 있으니 반드시 참고하기를 바란다. 만약 스테이지를 클리어한 영웅들의 조합을 다음번에도 참고하고 싶다면 반드시 저장할 것을 권한다.

아르카나 택틱스:리볼버스에서는 수많은 영웅들이 있고 이 영웅을 조합할 수 있는 방법도 여러가지다. 그러나 이 모든 조합을 외울 순 없다. 개발사는 이용자들의 원활한 게임 진행을 위해 조합사전을 제공하고 있으니 반드시 참고하기를 바란다. 만약 스테이지를 클리어한 영웅들의 조합을 다음번에도 참고하고 싶다면 반드시 저장할 것을 권한다. 사진은 기자가 직접 아르카나 택틱스:리볼버스를 플레이하며 캡처한 사진. /송가영 기자

이런 방식으로 스테이지는 계속해서 이어진다. 난이도는 챕터가 중반부에 들어서며 갑작스럽게 높아진다. 이용자가 낮은 스테이지에서 어느정도 게임에 대한 이해도와 영웅 조합법을 익혔다면 실제적으로 이를 활용할 수 있도록 하는데 그 때부터 영웅을 조합하고 덱을 구상하는 1분이 1초처럼 느껴진다.

앞서 언급한대로 원하는 영웅이 등장하리란 보장이 없고 원하는 영웅을 소환할 수 있는 아이템을 마음대로 구매하거나 사용할 수도 없어 아무리 스테이지 시작 전 전략을 구상을 해도 막상 게임이 시작되면 모두 틀어지게 돼 있다. 이러한 측면에서 아르카나 택틱스:리볼버스는 ‘실시간 전략’을 요구하는 게임으로 이해하면 되겠다.

무조건 가장 높은 5성 영웅을 확보하는 것도 좋은 방법은 아니다. 많은 과금을 하지 않는 이상 모든 5성 영웅을 소환하는 것 자체도 쉽지 않다. 소환을 한다고 해도 5성 영웅을 소환할 수 있는 4성 영웅이 없다면 무용지물이다.

예를 들어 5성의 ‘데몬섀도우’를 소환하려면 4성의 ‘하이어쌔신’과 ‘섀도우댄서’가 필요하다. 그런데 둘 중 하나라도 없으면 이용자가 데몬섀도우를 보유하고 있어도 소환할 수 없다. 소환도 못할 5성 영웅을 확보하는 것보다 4성 영웅을 최대한 많이 확보하는 것이 중요하다.

여기에 전투에 영향을 주는 ‘아르카나’와 ‘유물’까지 사용하기 시작하면 난이도는 크게 올라간다. 게임 시작전 이용자가 유리하게 전투를 할 수 있도록 구상할 수 있는 것이 바로 아르카나와 유물이다. 아르카나의 경우 각성시 게임을 플레이할 때 유리한 옵션들도 부여되니 아르카나를 장착할 수 있게 되면 최대한 게임에 유리하게 작용할 수 있는 아르카나를 장착해야 할 것이다.

아르카나 택틱스:리볼버스는 챕터가 진행될수록 난이도는 점점 높아지고 고도의 전략성을 요구한다. 챕터5 기준 스테이지당 15분 안팎으로 소요됐다. 웨이브의 수도 점차 많아지는 만큼 한 챕터가 진행될수록 스테이지당 플레이 시간은 최대 20분이 예상된다.

다행히도 한번에 스테이지를 클리어하지 못할 것을 대비해 중간에 게임을 종료했다가 켜도 해당 스테이지를 다시 시작할 수 있는 기회를 5번 제공하고 있다. 자동전투 등으로 최대 5분 안에 게임이 종료되는 RPG들과 다른 게임인 만큼 이용자들이 이를 적절히 활용해야할 것으로 보인다.

아리크나 택틱스:리볼버스의 색다른 점은 향후 다른 콘텐츠를 플레이하거나 스테이지를 클리어했던 덱 중 마음에 드는 덱이 있다면 별도로 저장까지 가능한 시스템이 있다는 점이다. 이는 게임을 플레이하다가 진척이 되지 않을 경우 등에 적극 활용하면 좋다.

그래픽 측면에서는 디테일하게 개발되지 않은 것이 아쉽다. 전투를 진행하는 중에 영웅이 있는 자리의 그래픽이 깨지는가 하면 영웅이 등장할 때 전반적인 설명을 가려버리는 경우도 발생한다. 최적화가 안된 것인지 오류인지는 알수 없지만 이미 기존에 서비스했던 점을 감안하면 아쉬운 부분이다.

그래픽 측면에서는 디테일하게 개발되지 않은 것이 아쉽다. 전투를 진행하는 중에 영웅이 있는 자리의 그래픽이 깨지는가 하면 영웅이 등장할 때 전반적인 설명을 가려버리는 경우도 발생한다. 최적화가 안된 것인지 오류인지는 알수 없지만 이미 기존에 서비스했던 점을 감안하면 아쉬운 부분이다. 사진은 기자가 직접 아르카나 택틱스:리볼버스를 플레이하며 캡처한 사진. /송가영 기자

◇ 그래픽‧콘텐츠 아쉬워… 이른 시일 내 업데이트 필요

그래픽 등 여러 방면에서 다소 아쉬운 면도 없지 않다. 모든 영웅들에 대한 일러스트를 제공하고 있다는 점은 긍정적이다. 그러나 최적화면에서는 의문이 든다.

스토리가 진행되는 과정에서 영웅들이 등장하는데 대화가 끝남과 함께 영웅들이 페이드 아웃되면서 이 영웅의 일러스트를 완성하기 위해 쌓은 수많은 레이어들이 눈에 보일 정도로 상당히 부자연스럽다. 온 신경을 집중해야 보이면 예민하다고 볼 수 있겠지만 대충 봐도 보일 정도라 아쉽다.

게임 속에 등장하는 SD 캐릭터들의 디테일도 아쉽다. 이용자가 로비에서 자신이 보유하고 있는 영웅을 볼 수 있는데 디테일 등 외관에서 화려한 모습이 모두 생략된 모습으로 스테이지 속에 등장한다. 화려한 일러스트의 모습까지 기대한 것은 아니었지만 어느정도 각 영웅들의 디테일은 반영됐으면 하는 아쉬움은 남는다.

전투시 그래픽 오류가 발생하는 부분도 적지 않아 보인다. 이를 테면 보관함에 있는 영웅을 끌어다 놓으려다 되돌려놓으면 잔상이 남는 경우가 있고 공격이 이뤄지는 과정에 영웅이 배치된 공간이 깨지는 등이 그렇다. 스테이지가 끝날 때까지 오류가 발생하는 경우가 있고 도중에 수정되는 경우도 발생하고 있다.

이 외에도 영웅을 소환한 경우 몇 성인지, 영웅의 이름이 무엇인지, 어떤 스킬을 보유하고 있는지 등 디테일한 부분에서 그래픽 겹침이 발생하고 아르카나 소환시 매번 실비아 일러스트도 화질이 급격하게 떨어지는 모습을 볼 수 있었다.

콘텐츠의 경우 개선해야 할 점이 많아 보인다. 우선 이용자가 챕터 이외에 플레이 할 수 있는 콘텐츠가 거의 없다. 일정 챕터를 클리어하고 나면 ‘다크테라 모험’과 ‘파티 의뢰’ 콘텐츠가 개방되는데 다크테라 모험은 어쩐 일인지 진입 조차 되지 않고 있고 파티 의뢰는 이용자가 조작하지 않아도 되는 콘텐츠다.

이 외에도 ‘보스토벌’은 챕터8 이후부터 이용할 수 있고 결투장은 이용자의 레벨 10부터 이용할 수 있다. 미궁은 업데이트 예정이다. 이용자는 챕터를 클리어할 수 있는 ‘스토리 모드’를 중심으로만 플레이가 가능한 상황이다.

현재 가장 개선이 필요한 부분은 ‘골드 수급’이다. 이 골드 수급이 원활하지 않아 게임을 플레이하는데 전체적으로 큰 영향을 주고 있다. 골드는 영웅의 레벨을 올리고 아르카나 각성 등 다양하게 사용되는 재화다.

그럼에도 불구하고 골드는 미션 및 스테이지 클리어 보상, 소탕 등을 통해서만 가능하다. 골드의 경우 의외로 레벨을 올리거나 아르카나 각성을 하는데 상당 부분 사용되는 만큼 별도의 콘텐츠나 이벤트, 밸런스 조정 등이 필요해 보인다.

아르카나 택틱스:리볼버스는 디펜스 RPG인 만큼 쉽지 않은 게임이다. 그러나 국내외 모바일 게임 시장에 출시된 비슷한 RPG, 자동전투로 콘텐츠를 소비하는 것 자체에 지루함을 느끼는 이용자들이라면 확연히 다른 게임성을 느낄 수 있을 것이라고 확신한다. 화려한 일러스트와 빠른 스토리 전개, 실시간 전략 전투 등은 새로운 재미를 선사할 것이다.

아르카나 택틱스:리볼버스는 디펜스 RPG인 만큼 쉽지 않은 게임이다. 그러나 국내외 모바일 게임 시장에 출시된 비슷한 RPG, 자동전투로 콘텐츠를 소비하는 것 자체에 지루함을 느끼는 이용자들이라면 확연히 다른 게임성을 느낄 수 있을 것이라고 확신한다. 화려한 일러스트와 빠른 스토리 전개, 실시간 전략 전투 등은 새로운 재미를 선사할 것이다. 사진은 기자가 직접 아르카나 택틱스:리볼버스를 플레이하며 캡처한 사진. /송가영 기자

◇ 비슷한 RPG 질린다면… 디펜스 장르 입문 추천 게임

아르카나 택틱스:리볼버스의 난이도는 중상급이고 콘텐츠도 크게 즐길만한 것이 많지 않다. 그럼에도 불구하고 재밌다. 기본적으로 스토리의 진행 속도가 빠른 편인데다가 자동전투가 아닌 RPG를 얼마만에 해보는지 모르겠다.

기존의 게임에서 볼 수 있는 △보스전 △레이드 △이용자간 대전(PVP) 등은 이용자의 조작을 기본으로 하지만 가장 기본이 되는 스테이지 및 퀘스트 클리어 콘텐츠는 최근 대부분의 게임사들이 자동전투를 지원하기 시작하면서 직접 조작하지 않는 경우가 많다.

아르카나 택틱스:리볼버스는 디펜스 장르인 만큼 반드시 이용자의 조작을 필요로 한다. 더군다나 로그인 전략 하나의 스테이지를 클리어하기 위한 필승 전략까지 구상해야 한다. 생각만해도 머리만 아프고 지루할 것 같지만 그동안 일괄적인 자동전투 시스템에 싫증을 느낀 이용자들이라면 부담스럽지 않게 접근할 수 있는 게임이다.

다만 앞서 언급했듯 전반적인 콘텐츠가 부족하다. 스테이지를 클리어하는데 시간과 체력이 크게 소모된다고 이용자들이 다른 콘텐츠를 즐기지 않는 것은 아니다. 장시간 플레이하는 콘텐츠가 메인인 만큼 오히려 가볍게 즐길 수 있는 콘텐츠를 원하게 된다.

더군다나 영웅과 관련된 콘텐츠도 별도로 마련돼 있는 것이 아니어서 사실상 이용자들이 메인 콘텐츠를 제외하고는 즐길 수 있는 콘텐츠가 하나도 없는 셈이다. 이른 시일 내 이를 해소해줄 수 있는 업데이트 로그인 전략 및 개편이 이뤄지기를 기대한다.

아르카나 택틱스:리볼버스는 디펜스 RPG 장르를 재밌게 구현하기 위해 노력한 흔적이 엿보이는 모바일 게임이다. 개발사 티키타카 스튜디오가 ‘히어로즈 랜덤 디펜스’ 등을 개발하며 쌓아온 노하우가 담겼다. 마이너로만 취급받던 장르를 끌어올리기 위해 게임빌이 가세했다. 국내외 모바일 게임 시장에 출시된 비슷한 RPG에 싫증이 났다면, 새로운 장르의 도전을 생각하는 이용자라면 아르카나 택틱스:리볼버스 입성을 추천한다.

앱 유지율을 높이는 방법: 10가지 전략

유지율(리텐션)은 유저 생애 가치(LTV)의 중요한 요소로서, 모바일 마케터에게 핵심적인 지표입니다. 유저를 앱에 유지하는 가장 좋은 방법은 양질의 유저 경험을 제공하는 것이지만, 그 외에도 유지율을 높이고 나아가 매출과 브랜드 충성도를 높일 수 있는 전략이 존재합니다. Adjust는 본 가이드를 통해 앱의 유지율을 개선할 수 있는 10가지 전략과 전문 팁을 공유합니다.

유지율이란?

유지율(retention rate)은 앱 설치 이후 일정 기간이 지난 후에도 계속해서 앱을 사용하고 있는 유저의 비율을 의미하며, 일반적으로 1일차, 7일차, 30일차에 측정됩니다. 유저의 유지 기간이 길수록 매출이 증가할 확률도 높아집니다. 또한, 모바일 앱의 유지율이 높다는 것은 유저가 앱에서 긍정적인 경험을 하고 있다는 것을 보여줍니다. 반대로 유지율이 낮은 경우 앱에 문제가 있다는 뜻입니다. 1일차에 유저 이탈률이 비정상적으로 높다면 앱의 온보딩 과정에 문제가 로그인 전략 있는 것입니다.

유저 유지 vs 유저 획득

유저 유지와 획득은 동전의 양면과도 같습니다. 모바일 마케터들은 성장 목표 달성을 위해 유저를 반드시 획득해야 하지만, 획득한 유저를 최대한 많이 유지하는 것도 중요합니다. 따라서 어느 채널에서 가장 높은 가치의 유저가 유입되는지 파악하는 것이 매우 중요하며, 이를 통해 유저 유지 전략을 수립하여 유저의 LTV를 극대화하고, 유지 기간을 최대화할 수 있습니다.

모바일 앱의 '좋은 유지율'이란?

모든 앱 카테고리를 대상으로 유지율을 비교한 Adjust의 연구에 따르면, Andorid와 iOS에서 1일차 유지율은 평균 26%였습니다. 7일차에는 유지율이 Android에서는 11%, iOS에서는 12%로 하락했습니다. 30일차에는 Android와 iOS의 평균 유지율이 6% 수준이었습니다. 이러한 수치가 시사하는 바는 무엇일까요? 1일차에 유저 중 1/3 이상을 앱에 유지한다면 유지율이 좋은 것입니다. 그러나 평균 유지율은 앱 카테고리에 따라 달라지며, 계속적인 테스트를 통해 결정되어야 할 것입니다.

유지율이 가장 높은 앱 카테고리

유저의 행동과 앱의 특성이 모두 다르기 때문에 앱 카테고리마다 유지율은 크게 달라집니다. 예를 들어 날씨 앱과 같은 유틸리티 앱은 유저가 매일 날씨를 확인하기 때문에 유지율이 높을 것입니다. 그러나 여행 앱의 경우 30일차 유지율이 낮을 수 있습니다. 보딩패스를 받기 위해 항공사의 공식 앱을 설치한 뒤 여행 이후에는 앱을 삭제하는 경우가 바로 이 경우에 해당합니다.

앱 유지율을 높이는 방법: 10가지 전략

1. 데이터 트래킹을 최대한 초기에 시작하기

유지율과 개선 정도를 정확히 측정하려면 데이터를 최대한 초기부터 트래킹해야 합니다. 이를 통해 성과 측정과 어떠한 전략 및 기능이 긍정적인 영향을 미치는지 확인하는 데 필요한 모든 데이터를 얻을 수 있습니다.

2. 앱 베타 테스트하기

초대한 오디언스를 통해 베타 로그인 전략 테스트를 거치면 이후 앱의 공식 출시 시 유지율이 증가할 확률이 높습니다. 베타 테스트는 유저 유지율의 하락을 야기할 수 있는 중대한 문제나 버그가 없는지 확인할 수 있는 스마트한 방법입니다. 앱을 베타 테스트하려면 피드백을 얻기 위해 유저들을 초대하고, 피드백을 기반으로 유저 경험을 최적화해야 합니다. 이를 통해 출시일 전에 앱을 최적화할 수 있습니다. 또한, 베타 테스트는 열성적인 유저들이 미리 앱을 경험할 기회를 제공하여, 앱이 스토어에 공식 출시되기 이전부터 브랜드 충성도를 구축할 수 있습니다.

3. 소프트 론칭하기

앱을 아직 공식 출시하지 않았다면, A/B 테스트와 앱 성과 최적화를 위해 소프트 론칭을 고려해볼 수 있습니다. 소프트 론칭은 앱을 대규모로 본격 출시하기에 앞서 앱의 최적화를 위해 상대적으로 작은 규모의 유사 지역에 앱을 시범 출시하는 것을 의미합니다. 예를 들어, 뉴질랜드에 먼저 앱을 소프트 론칭하여 영국이나 미국에서 앱이 어떠한 성과를 거둘지 예측할 수 있습니다. 베타 테스트와 마찬가지로 소프트 론칭은 이후 본격 론칭 시 앱의 유지율을 훨씬 높일 수 있습니다.

4. 제품과 마케팅의 통일성 유지하기

모바일 앱의 마케팅 전략은 홍보하는 제품이 실제로 제공하는 것을 기반으로 통일성을 유지해야 합니다. 효과적인 마케팅 전략이라도 마케팅 내용과 실제 유저 경험 사이에 간극이 있다면 유지율이 하락할 수밖에 없습니다. 허위 광고는 일시적으로는 유저 확보에 도움이 될 수 있으나, 장기적으로는 치명적인 결과를 낳을 것입니다. 제품과 마케팅 전략의 통일성을 유지하면, 유저가 마케팅의 허위 정보로 인해 첫 세션 이후 앱을 삭제하는 상황을 방지할 수 있으며, 높은 가치의 유저를 유입할 수 있습니다. 예를 들어, 모바일 게임 앱의 실제 동영상을 광고에서 보여주는 것이 앱에서 실제로 사용되지 않는 그래픽에 투자하는 것보다 더 좋은 마케팅 방법입니다.

5. 유저 온보딩 최적화하기

온보딩은 유저 여정에서 핵심적인 단계이자, 유지율을 높이기 위해 가장 중요한 요소입니다. 유저 온보딩은 유저를 성공적으로 획득한 뒤 유저가 앱을 처음으로 실행한 단계이기 때문에, 첫 세션에서 유저의 앱 여정을 잘 안내해주는 것이 매우 중요합니다. 온보딩을 최적화하기 위해서는 다음을 고려하시기 바랍니다.

  • 핵심만 간단하게 전달하기: 온보딩에서는 앱의 주요 기능을 강조하는 것이 중요합니다. 그러나 지나치게 많은 정보로 유저가 압도되지 않게 해야 합니다. 따라서, 유저가 어려움 없이 앱을 사용할 수 있도록 앱 경험에 대한 핵심 인사이트만을 제공하는 것이 효과적이며, 유저가 원하는 경우에는 추가적인 도움을 받을 수 있도록 옵션을 제공할 수 있습니다. 예를 들어, 물음표 아이콘을 통해 유저가 필요한 경우 추가적인 정보를 확인하도록 할 수 있습니다.
  • 시각적인 요소 사용하기: 이미지나 애니메이션은 유저의 관심을 포착하고, 앱 사용 방식을 설명하기에 효과적일 수 있습니다. 관심을 로그인 전략 사로잡는 시각적인 요소를 통해 온보딩 과정을 최대한 이해하기 쉽게 만드시기 바랍니다.
  • 설명할 필요 없는 기능이 무엇인지 파악하기: 이미 널리 사용되는 기능에 대해서는 별도로 설명할 필요 없습니다. 예를 들어, 대부분의 유저는 '좋아요', '공유하기', '댓글'과 같은 기능을 잘 알고 있기 때문에 온보딩에서 별도로 설명하지 않아도 됩니다.
  • 온보딩 마지막에 CTA 포함하기: 유지율을 높이기 위해 온보딩 마지막 단계에 CTA를 포함할 수 있습니다. 예를 들어, 뉴스레터 구독이나 푸시알림 허용 CTA를 사용할 수 있습니다. 온보딩의 마지막 단계는 유저가 앱의 가치를 배운 시점이기 때문에, 유저 유지 전략에 유저를 유도하기에 최적의 시점입니다.

6. 앱 스토어 최적화(ASO)하기

앱 스토어 최적화(App Store Optimization)는 앱의 순위를 높이기 위해 앱 스토어의 설명 페이지를 최적화하는 것입니다. 이를 통해 높은 가치의 유저를 유입하여 유지율을 높일 수 있으며, 앱 설치 시 유저가 기대할 수 있는 것이 무엇인지 투명한 정보를 제공할 수 있습니다.

ASO는 앱의 이름, 설명, iOS 키워드, 아이콘, 스크린샷이나 동영상에 활용할 수 있습니다. 순위가 높은 앱들은 대부분 앱 설명을 불릿 포인트로 간략하게 요점 정리하여, 유저가 쉽게 앱을 이해할 수 있습니다. ASO는 오가닉 유저 유입에도 도움이 됩니다. 광고 노출이 아니라 스스로 앱에 관심이 있어 앱을 설치한 유저는 가치 있는 유저로, 유지 기간이 훨씬 길 것입니다. ASO와 모범 사례에 대한 자세한 내용은 Adjust 가이드를 참조하시기 바랍니다.

7. 개인화 마케팅 도입하기

개인화(personalization)는 유지율을 높일 수 있는 강력한 모바일 마케팅 툴입니다. 실제로 소비자 중 91%가 개별 맞춤 프로모션 및 추천을 제공하는 브랜드에서 더 자주 쇼핑을 한다고 응답했으며, 미국 소비자 중 90%는 브라우징 시 이러한 개별 맞춤 마케팅을 선호한다고 대답했습니다. 유저 데이터를 사용하여 유저를 이름으로 부르고, 유저가 관심 있을 만한 추천을 제공하고, 유저의 선호에 따라 앱에서 제공하는 바를 개별 맞춤화함으로써 개안화 마케팅을 도입할 수 있습니다. 이러한 로그인 전략 변화는 시간이 지날수록 더욱 개선될 것이며, 유저의 앱 복귀율을 높이는 데도 도움이 됩니다.

개인화 전략을 사용할 때는 균형이 중요합니다. 우선 도입하고자 하는 개인화 전략이 유저 경험 개선에 실제로 도움이 되는지 생각해보시기 바랍니다. 일부 개인화 전략은 유저를 오히려 불편하게 할 수 있기 때문에 시점과 전략을 선별적으로 도입해야 합니다.

8. 푸시 알림 사용하기

푸시 알림은 유저의 기기에 직접 전송할 수 있는 알림으로, 유저의 잠금 화면에 표시됩니다. 푸시 알림을 전송하려면 유저가 앱에서 푸시 알림 수신을 허용해야 하지만, 유저의 앱 복귀율과 유지율을 높이는데 효과적인 툴입니다. 푸시 알림 허용 비율은 앱 카테고리마다 다릅니다. 유저 중 57%가 소셜 미디어의 푸시 알림을 받고 싶다고 대답했으며, 뉴스 앱(45.94%), 전자상거래 앱(25.29%), 모바일 게임 앱(19.05%), 여행 앱(10.08%), 블로그 앱(9.24%)이 그 뒤를 이었습니다.

9. 이메일 마케팅 사용하기

모바일 마케터들은 브랜드 충성도를 구축하고, 인게이지먼트와 유지율을 높이기 위해 이메일 마케팅을 사용합니다. 가치 있는 구독자에 대한 메일 전송 리스트를 만들어서 독점 할인이나 세일, 프로모션 소식을 통해 유저의 앱 복귀율을 높일 수 있습니다. 이는 회사 규모나 예산의 구애를 받지 않는 효과적인 전략으로, 중소 규모의 회사 중 80%가 이메일 마케팅을 통해 가치 있는 유저를 유지하고 있습니다. 이메일 마케팅은 또한 제품이나 인앱 아이템의 할인과 같이 유저에게 가치 있는 것을 제공함으로써 유저를 유지할 수 있는 스마트한 방법입니다. 이메일 마케팅은 유저와 마케터 모두에게 '윈윈'의 결과를 제공합니다. 실제로, 소비자 중 49%는 좋아하는 브랜드로부터 정기적인 프로모션 소식을 받아보고 싶다고 응답한 바 있습니다. 이메일 마케팅에 관한 자세한 내용은 Adjust의 가이드를 확인하시기 바랍니다.

10. 인앱 메세지

푸시 알림과 마찬가지로 인앱 메시지 또한 인게이지먼트를 높일 수 있는 좋은 방법입니다. 인앱 메시지로 유저와 소통하는 경우 28일차 이후 앱의 유지율이 61%-74%로 증가할 수 있습니다.

그러나 이러한 유지 전략을 혼합해서 사용할 때, 모든 채널에서 똑같은 정보를 전달하지 않도록 주의하시기 바랍니다. 업데이트 소식이 있을 때마다 같은 내용을 푸시 알림과 인앱 메시지 모두에서 전달하면 오히려 유저의 경험에 부정적인 영향을 미치며, 앱을 이탈하거나 푸시 알림 차단으로 이어질 수 있습니다. 또한 선호에 따라 유저를 세분화하고 인앱 메시지를 최적화하여, 유저에게 유용한 정보만을 제공하시기 바랍니다. 유저에게 추가적인 가치를 제공함으로써 유지율을 개선할 수 있습니다.

본 유지율 전략 가이드가 유용하셨다면 CPI 투자를 통한 LTV 개선 글에서 수익을 증대하는 법도 확인해보시기 바랍니다. 앱 구독 전략에 관한 유저 획득과 리인게이지먼트 글도 확인하실 수 있습니다.

다래전략사업화센터

교육/컨설팅

교육/컨설팅 운영

유사 제품/서비스

답(D.A.B.) 프로그램

스타트업 투자 지원 프로그램

프로그램

프로그램 운영

유사 제품/서비스

4차산업 스타트업 액셀러레이팅 프로그램

지역 기반 스타트업 액셀러레이팅 프로그램

제주기반 스타트업 액셀러레이팅 프로그램

특허 컨설팅

특허(IP) 거래 중개 및 컨설팅

교육/컨설팅

교육/컨설팅 운영

유사 제품/서비스

특허(IP) 거래 중개 및 컨설팅

특허(IP) 거래 중개 및 컨설팅

온라인 특허 검색 및 거래 플랫폼

온라인 간편 상표등록 서비스

AI기반의 유사 상표 이미지 검색 서비스

인공지능 기반 특허조사 서비스

한국 스타트업 투자 데이터베이스

사업자 등록번호 426-81-00521 | 주식회사 더브이씨

서울특별시 마포구 만리재옛길 36, 2층 211-17호 | 대표 변재극

Copyright © THE VC Inc. All rights reserved.

더브이씨(THE VC)에서 제공하는 정보는 신뢰할 만한 자료 및 정보로부터 얻어진 것이나 그 정확성이나 완전성을 보장할 수 없으며, 시간이 경과함에 따라 변경될 수 있습니다. 따라서 정보의 오류, 누락에 대하여 더브이씨(THE VC) 또는더브이씨(THE VC)에 자료를 제공하는 기관에서는 그 결과에 대해 법적인 책임을 지지 않습니다. 모든 콘텐츠에 대한저작권은 더브이씨(THE VC)에 있으며 사전 허가없이 이를 무단으로 사용하거나, 로그인 전략 데이터베이스화 할 경우 민형사상책임을 물을 수 있습니다.

어디서든 애플리케이션을 실행하고 관리

오픈 하이브리드 클라우드 전략을 구현하면 애플리케이션을 다시 빌드하거나, 인력을 채용하거나, 이기종 환경을 유지 관리하지 않고도 베어 메탈에서 가상 머신(VM), 엣지 컴퓨팅, 프라이빗 클라우드, 퍼블릭 클라우드에 이르는 다양한 환경에서 애플리케이션을 유연하게 실행할 수 있습니다.

오픈 하이브리드 클라우드란?

오픈 하이브리드 클라우드는 애플리케이션을 다양하게 결합해 설계, 개발 및 운영하기 위해 Red Hat에서 권장하는 전략입니다. 이를 통해 디지털 비즈니스 트랜스포메이션에 필요한 속도, 안정성, 규모를 확보하고 진정으로 유연한 클라우드 경험을 제공할 수 있습니다.

오픈 하이브리드 클라우드 전략의 결과

미래에 대비한 인프라 안정성

여러 환경에서 일관성 있게 유지되는 운영 체제를 전략적으로 선택해야 합니다. Red Hat Enterprise Linux를 통해 일관된 기반에서 새로운 애플리케이션을 실행하고, 현재 또는 레거시 시스템을 유지 관리하고, 취약점 해결 및 위협 완화로 보안을 강화할 수 있습니다.

모든 클라우드를 지원하는 설계 환경

Red Hat OpenShift는 검증된 애플리케이션 인프라 기반인 Red Hat Enterprise Linux를 포함해 이를 기반으로 구축된 엔터프라이즈급 쿠버네티스 플랫폼입니다. Red Hat은 어떤 인프라에서나 실행 가능한 단일 플랫폼을 제공하여 모든 클라우드에서 개발 및 운영의 일관성을 제공합니다.

혁신적인 애플리케이션을 더 빠르게 개발

개발자가 혁신적인 애플리케이션을 제공하려면 적합한 툴이 필요합니다. 애플리케이션을 빌드, 테스트, 배포 및 실행하는 완전한 플랫폼을 통해 개발 속도를 높여보세요. Red Hat OpenShift는 쿠버네티스를 확장하여 풀스택 애플리케이션 개발에 필요한 기능을 추가한 엔터프라이즈급 쿠버네티스 플랫폼입니다.

셀프 서비스 속도 및 유연성

Red Hat OpenShift와 같은 애플리케이션 개발 플랫폼에서 개발자 툴뿐 아니라 애플리케이션 구성 요소(예: 엔터프라이즈 통합, 언어 런타임, 데이터 및 로그인 전략 스토리지 서비스, 애플리케이션 제공 자동화를 위한 전체 CI/CD 서비스)에도 셀프 서비스로 액세스할 수 있습니다.

자동화된 IT 인프라 제공

조직 전체의 자동화는 IT와 비즈니스 모두에 이익이 되는 전략입니다. Red Hat Ansible Automation Platform은 모든 IT 도메인 또는 인프라에서 사용자를 연결하여 십여 가지의 활용 사례를 관리하고 간소화함으로써 조직 전반에 표준 자동화를 구현합니다.

빠르게 진화하는 IT 환경에 대한 준비

운영 체제는 아키텍처의 기반입니다. 다양한 환경에서 일관성이 보장되는 Red Hat Enterprise Linux를 통해 상황 변화에 관계없이 안정성을 유지하세요. Red Hat Enterprise Linux를 기반으로 IT 인프라 전반을 표준화하여 보안을 강화하고, 운영 부담을 완화하고, 비용을 줄일 수 있습니다.

모든 인프라 또는 클라우드에서 애플리케이션 실행

시스템 관리자와 운영 팀은 Red Hat Enterprise Linux를 기반으로 Red Hat OpenShift의 애플리케이션 플랫폼 기능을 사용하여, 모든 클라우드 또는 인프라에서 애플리케이션을 실행하고 관리할 수 있습니다. Red Hat Ansible Automation Platform에서 쿠버네티스 외부 구성 요소를 통합 자동화하십시오.


0 개 댓글

답장을 남겨주세요