SlideShare uma empresa Scribd logo
1 de 27
Baixar para ler offline
카카오게임 첫 도전기
㈜블리스소프트
김경민
회사소개
• 주식회사 블리스소프트
• 캐쥬얼게임 전문 모바일게임
개발사
• 마우스피싱(Rat Fishing)
• 돼지러너 for kakao
• 아프리카TV로부터 투자
발표자소개
•
•
•
•

김경민
COO
사업제안 언제든 환영
min@blissoft.com
스크린샷
돼지러너 소개
• iOS, Android(구글 플레이)
• 점핑런게임
• 늑대의 먹이가 되지 않기 위해 도망치는 돼지의 러
닝 + 점핑요소 가미
• 친구와 함께 우정릴레이
• 100만 조합의 나만의 돼지
• 아프리카TV 퍼블리싱
• 출시 3일만에 구글플레이 무료게임 순위 1위
• 200만 회원 돌파
• 해외 진출 예정
게임 컨셉
•
•
•
•
•

기존 러닝에 더해 점핑(높이높이)요소를 추가
멀리도 가야하지만 높이도 올라가야한다
우정릴레이를 통한 누적거리 계산과 보너스선물
100만종의 조합이 가능한 돼지구성
세트조합, 히든조합으로 특수효과 발동
돼지러너 소개
• cocos2d-x
• LAMP, mongoDB, memcached
• 팀구성
– PM 1명
– 게임디자이너 1명
– 아트디자이너 2명
– 클라이언트 개발자 3명
– 서버 개발자 1명
게임서버

게임서버

로그서버

게임서버

게임서버

캐시서버

이미지 스토리지

운영서버

DB서버
아키텍쳐
•
•
•
•

자체 IDC
로드밸런싱은 간단하게 라운드로빈 구성
게임서버와 나머지 서버들은 망분리
모든 통신은 SSL 이용
게임서버
• LAMP – Linux, Apache, MySQL, PHP
• 모두 무료
• PHP는 코드 배포시 컴파일이나 서버의 재시동
이 필요 없음
• RESTful API
• RESTful은 수평 확장이 매우 쉬움
캐시서버
• Memcached
• 랭킹을 비롯한 임시데이터 저장소
• 유실되어도 상관없거나, 값의 무결성이 중요하
지 않은 데이터 저장
• 질의 연산이 비싼 데이터를 캐싱하여 DB부하
분산
• 캐시서버가 다운되더라도 게임은 정상적으로 운
영되도록 예외처리
로그서버
• 많은 NoSQL 을 후보군으로 놓고 검토
– Schema less
– 빠른 Insert속도

• mongoDB를 선택한 이유
– 방대한 문서와 예제, 구글링 검색결과
– RDB에서 넘어오기 가장 부담없는 NoSQL
– 친절하게 SQL을 어떻게 mongoDB로 포팅해야하는지 제공

•
•
•
•

사용자 액션 수집(아이템 구매, 소비, 행동)
로그서버가 다운되더라도 게임은 정상적으로 운영되도록 예외처리
데이터를 검색하기 위해 index 생성은 필수
서버 중지 없이 index를 생성할 수 있도록 락을 걸지 않는
Background 방식의 인덱스생성기능을 최신버전에서 지원
스토리지 + CDN
• 공지사항, 이벤트 등에 쓰이는 이미지를 비롯한
리소스 보관
경험과 배운것, 느낀점
• 당연한것들의 재발견
• Go to Basic
인앱해킹
• 반드시 서버에서 결제정보를 재검증
• 영수증이 유효한지 체크(애플, 구글)
• 영수증이 기존에 처리된 영수증인지 주문번호를
통해 체크할것(중복 지급하지 않도록)
• 결제요청이 들어온 인앱상품이 우리 앱에 존재
하는지 확인. 다른 앱의 유효한 영수증이 날아
온다(iOS)
메모리해킹
• 점수, 코인 등 중요 정보는 꼭 메모리해킹 대응
• 업그레이드 상태, 체력, 공격력, 방어력, 속도
모두 메모리 해킹의 대상
• 요즘 메모리해킹 도구는 굉장히 발전해서 게임
을 중간중간에 멈춘 다음에 변화하는 int값을
추려내어 값을 조작할 수 있는 해킹 인터페이스
를 제공
• 모두 대응할 수 없다. 적당히 trade off
안드로이드 테스트
• 안드로이드 파편화(다양한 크기의 디스플레이)
• 많은 기기를 테스트하면 할수록 좋다
• 오래된 기종이라도 많은 판매량을 기록한 기기
들은 꼭 체크(갤2, 갤노트1)
안드로이드 대응
• 심사가 없어서 좋은 안드로이드
• 마켓등록 후 3시간 정도면 검색가능(사람마다
차이가 있음)
• 원하는 기능을 제약없이 마음대로
• 다른 사람에게 인앱 선물하기 가능
iOS 국내에서 어렵다
•
•
•
•
•

긴 검수기간
Android에 비해 1~3개 빌드 늦어지는 iOS
개별 사용자 결제 취소 불가
대한민국은 Android 텃밭
돼지러너의 경우 95:5(Android : iOS)
DB
• MyISAM엔진은 쓰기가 많은 게임용으론 적당
하지 않다
• 꼭 검색에 사용하는 필드는 인덱스 생성
• slow-query 수시로 체크하여 튜닝
퍼포먼스 테스트
• 출시전 게임 퍼포먼스 테스트
• Jmeter, apache ab, nGrinder
• RESTful API는 테스트 케이스를 만들기도 매우
간단하다
• 테스트를 통해 인덱스가 필요한 곳이나 비즈니
스 로직을 개선해야할 부분을 발견할 수 있다.
운영툴
•
•
•
•
•
•
•
•

운영툴 (CS툴 + 개발툴 + 통계툴)
오버스펙 경계
Boostrap은 빠른 개발도구
디자이너의 도움 없이 컴포넌트를 붙여넣
는 식으로 빠르게 개발가능
CS담당자들이 사용자의 행동을 추적하여
고객요청에 대응할 수 있도록
클라이언트개발자들이 스스로 값을 변경하
여 클라이언트 기능을 테스트 해볼 수 있
도록
매니저들이 중요 지표들을 확인할 수 있도
록
운영툴개발은 개발자의 시간을 많이 빼앗
지만 잘 만들어놓은 운영툴은 잡무에서 벗
어날 수 있게 해주어 오히려 이득
로그의 활용
• 미리미리 KPI 설정하자
• 계속 변경되는 게임기능상의 변화로 어쩔 수 없
이 기능이 픽스되는 후반에 후다닥할 수밖에 없
는 로그넣기 작업
• 필요한 로그만 넣기
• 활용 다 못한다
• 쓰레기 쌓아두는격
통계가공
• KPI에 따른 통계
• 자주 체크해야하는 통계는 운영툴에서 언제든
볼 수 있도록 제공
• Google chart API
디버그, 테스트 도구와 문서화
• RESTful API를 테스트 할
수 있는 도구를 자체 개
발하여 사용중
• 문서화는 필수
• 클라이언트 개발자들이
쉽게 알 수 있도록

Swagger
클라우드서비스
• 개발유휴인력, 서버자원이 부족한 스타트업에게 딱인 클라우
드서비스
• 대표적으로 AWS, 국내에는 KT ucloud(대표 게임 확밀아)
• 수요에 따라 서버를 증설 가능
• Auto scaling, 웹UI
• 보안과 편의성의 trade off
• AWS는 가장 가까운 데이터센터가 tokyo
• AWS tokyo로 서비스하는 게임들도 있다
• 그렇지만 tokyo도 국내에서 서비스하기엔 응답속도가 아쉽
다
• KT유클라우드 이제는 auto scaling을 비롯 AWS를 많이 따
라 잡았다
감사합니다

Mais conteúdo relacionado

Mais procurados

쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기Brian Hong
 
NDC 11 자이언트 서버의 비밀
NDC 11 자이언트 서버의 비밀NDC 11 자이언트 서버의 비밀
NDC 11 자이언트 서버의 비밀승명 양
 
[Gaming on AWS] 넥슨 - AWS를 활용한 모바일 게임 서버 개발: 퍼즐 주주의 사례
[Gaming on AWS] 넥슨 - AWS를 활용한 모바일 게임 서버 개발: 퍼즐 주주의 사례[Gaming on AWS] 넥슨 - AWS를 활용한 모바일 게임 서버 개발: 퍼즐 주주의 사례
[Gaming on AWS] 넥슨 - AWS를 활용한 모바일 게임 서버 개발: 퍼즐 주주의 사례Amazon Web Services Korea
 
모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트
모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트
모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트Dae Kim
 
Python과 AWS를 이용하여 게임 테스트 환경 구축하기
Python과 AWS를 이용하여 게임 테스트 환경 구축하기Python과 AWS를 이용하여 게임 테스트 환경 구축하기
Python과 AWS를 이용하여 게임 테스트 환경 구축하기iFunFactory Inc.
 
[IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」
[IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」[IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」
[IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」강 민우
 
[Koss Con 2016] CloudBread Tutorial PT
[Koss Con 2016] CloudBread Tutorial PT[Koss Con 2016] CloudBread Tutorial PT
[Koss Con 2016] CloudBread Tutorial PT윤석 홍
 
클라우드 기반 Unity 게임 서버 구축, 60분이면 충분하다
클라우드 기반 Unity 게임 서버 구축, 60분이면 충분하다클라우드 기반 Unity 게임 서버 구축, 60분이면 충분하다
클라우드 기반 Unity 게임 서버 구축, 60분이면 충분하다Dae Kim
 
(GameTech2015) Live Operation by Adbrix의 Node.js와 MongoDB를 이용한 멀티테넌트 인프라 구축사례
(GameTech2015) Live Operation by Adbrix의 Node.js와 MongoDB를 이용한 멀티테넌트 인프라 구축사례(GameTech2015) Live Operation by Adbrix의 Node.js와 MongoDB를 이용한 멀티테넌트 인프라 구축사례
(GameTech2015) Live Operation by Adbrix의 Node.js와 MongoDB를 이용한 멀티테넌트 인프라 구축사례Jeongsang Baek
 
노기태, 김대우, 모바일 게임 데이터에 입각한 머신러닝 예측 분석 도입 및 삽질 후기, NDC2017
노기태, 김대우, 모바일 게임 데이터에 입각한 머신러닝 예측 분석 도입 및 삽질 후기, NDC2017노기태, 김대우, 모바일 게임 데이터에 입각한 머신러닝 예측 분석 도입 및 삽질 후기, NDC2017
노기태, 김대우, 모바일 게임 데이터에 입각한 머신러닝 예측 분석 도입 및 삽질 후기, NDC2017devCAT Studio, NEXON
 
게임서버 구축 방법비교 : GBaaS vs. Self-hosting
게임서버 구축 방법비교 : GBaaS vs. Self-hosting게임서버 구축 방법비교 : GBaaS vs. Self-hosting
게임서버 구축 방법비교 : GBaaS vs. Self-hostingiFunFactory Inc.
 
[DEVIEW 2021] 1000만 글로벌 유저를 지탱하는 기술과 사람들
[DEVIEW 2021] 1000만 글로벌 유저를 지탱하는 기술과 사람들[DEVIEW 2021] 1000만 글로벌 유저를 지탱하는 기술과 사람들
[DEVIEW 2021] 1000만 글로벌 유저를 지탱하는 기술과 사람들Brian Hong
 
로그 기깔나게 잘 디자인하는 법
로그 기깔나게 잘 디자인하는 법로그 기깔나게 잘 디자인하는 법
로그 기깔나게 잘 디자인하는 법Jeongsang Baek
 
200819 NAVER TECH CONCERT 10_맥북에서도 아이맥프로에서 빌드하는 것처럼 빌드 속도 빠르게 하기
200819 NAVER TECH CONCERT 10_맥북에서도 아이맥프로에서 빌드하는 것처럼 빌드 속도 빠르게 하기200819 NAVER TECH CONCERT 10_맥북에서도 아이맥프로에서 빌드하는 것처럼 빌드 속도 빠르게 하기
200819 NAVER TECH CONCERT 10_맥북에서도 아이맥프로에서 빌드하는 것처럼 빌드 속도 빠르게 하기NAVER Engineering
 
[테크데이즈2015] 개발하기 바쁜데 푸시와 메시지큐는 있는거 쓸래요
[테크데이즈2015] 개발하기 바쁜데 푸시와 메시지큐는 있는거 쓸래요[테크데이즈2015] 개발하기 바쁜데 푸시와 메시지큐는 있는거 쓸래요
[테크데이즈2015] 개발하기 바쁜데 푸시와 메시지큐는 있는거 쓸래요Youngjae Kim
 
왜 레진코믹스는 구글앱엔진을 선택했나
왜 레진코믹스는 구글앱엔진을 선택했나왜 레진코믹스는 구글앱엔진을 선택했나
왜 레진코믹스는 구글앱엔진을 선택했나소리 강
 
[아이펀팩토리]2017 NDC 강연 자료_아이펀 엔진 개발 노트
[아이펀팩토리]2017 NDC 강연 자료_아이펀 엔진 개발 노트[아이펀팩토리]2017 NDC 강연 자료_아이펀 엔진 개발 노트
[아이펀팩토리]2017 NDC 강연 자료_아이펀 엔진 개발 노트iFunFactory Inc.
 
iFun Engine plugin 만들기 (for Stingray)
iFun Engine plugin 만들기 (for Stingray) iFun Engine plugin 만들기 (for Stingray)
iFun Engine plugin 만들기 (for Stingray) iFunFactory Inc.
 
[아이펀팩토리] 클라이언트 개발자, 서버 개발 시작하기
[아이펀팩토리] 클라이언트 개발자, 서버 개발 시작하기 [아이펀팩토리] 클라이언트 개발자, 서버 개발 시작하기
[아이펀팩토리] 클라이언트 개발자, 서버 개발 시작하기 iFunFactory Inc.
 

Mais procurados (20)

쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기
 
NDC 11 자이언트 서버의 비밀
NDC 11 자이언트 서버의 비밀NDC 11 자이언트 서버의 비밀
NDC 11 자이언트 서버의 비밀
 
[Gaming on AWS] 넥슨 - AWS를 활용한 모바일 게임 서버 개발: 퍼즐 주주의 사례
[Gaming on AWS] 넥슨 - AWS를 활용한 모바일 게임 서버 개발: 퍼즐 주주의 사례[Gaming on AWS] 넥슨 - AWS를 활용한 모바일 게임 서버 개발: 퍼즐 주주의 사례
[Gaming on AWS] 넥슨 - AWS를 활용한 모바일 게임 서버 개발: 퍼즐 주주의 사례
 
모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트
모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트
모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트
 
Python과 AWS를 이용하여 게임 테스트 환경 구축하기
Python과 AWS를 이용하여 게임 테스트 환경 구축하기Python과 AWS를 이용하여 게임 테스트 환경 구축하기
Python과 AWS를 이용하여 게임 테스트 환경 구축하기
 
[IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」
[IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」[IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」
[IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」
 
[Koss Con 2016] CloudBread Tutorial PT
[Koss Con 2016] CloudBread Tutorial PT[Koss Con 2016] CloudBread Tutorial PT
[Koss Con 2016] CloudBread Tutorial PT
 
클라우드 기반 Unity 게임 서버 구축, 60분이면 충분하다
클라우드 기반 Unity 게임 서버 구축, 60분이면 충분하다클라우드 기반 Unity 게임 서버 구축, 60분이면 충분하다
클라우드 기반 Unity 게임 서버 구축, 60분이면 충분하다
 
(GameTech2015) Live Operation by Adbrix의 Node.js와 MongoDB를 이용한 멀티테넌트 인프라 구축사례
(GameTech2015) Live Operation by Adbrix의 Node.js와 MongoDB를 이용한 멀티테넌트 인프라 구축사례(GameTech2015) Live Operation by Adbrix의 Node.js와 MongoDB를 이용한 멀티테넌트 인프라 구축사례
(GameTech2015) Live Operation by Adbrix의 Node.js와 MongoDB를 이용한 멀티테넌트 인프라 구축사례
 
노기태, 김대우, 모바일 게임 데이터에 입각한 머신러닝 예측 분석 도입 및 삽질 후기, NDC2017
노기태, 김대우, 모바일 게임 데이터에 입각한 머신러닝 예측 분석 도입 및 삽질 후기, NDC2017노기태, 김대우, 모바일 게임 데이터에 입각한 머신러닝 예측 분석 도입 및 삽질 후기, NDC2017
노기태, 김대우, 모바일 게임 데이터에 입각한 머신러닝 예측 분석 도입 및 삽질 후기, NDC2017
 
게임서버 구축 방법비교 : GBaaS vs. Self-hosting
게임서버 구축 방법비교 : GBaaS vs. Self-hosting게임서버 구축 방법비교 : GBaaS vs. Self-hosting
게임서버 구축 방법비교 : GBaaS vs. Self-hosting
 
[DEVIEW 2021] 1000만 글로벌 유저를 지탱하는 기술과 사람들
[DEVIEW 2021] 1000만 글로벌 유저를 지탱하는 기술과 사람들[DEVIEW 2021] 1000만 글로벌 유저를 지탱하는 기술과 사람들
[DEVIEW 2021] 1000만 글로벌 유저를 지탱하는 기술과 사람들
 
로그 기깔나게 잘 디자인하는 법
로그 기깔나게 잘 디자인하는 법로그 기깔나게 잘 디자인하는 법
로그 기깔나게 잘 디자인하는 법
 
200819 NAVER TECH CONCERT 10_맥북에서도 아이맥프로에서 빌드하는 것처럼 빌드 속도 빠르게 하기
200819 NAVER TECH CONCERT 10_맥북에서도 아이맥프로에서 빌드하는 것처럼 빌드 속도 빠르게 하기200819 NAVER TECH CONCERT 10_맥북에서도 아이맥프로에서 빌드하는 것처럼 빌드 속도 빠르게 하기
200819 NAVER TECH CONCERT 10_맥북에서도 아이맥프로에서 빌드하는 것처럼 빌드 속도 빠르게 하기
 
iFun Deploy 소개
iFun Deploy 소개iFun Deploy 소개
iFun Deploy 소개
 
[테크데이즈2015] 개발하기 바쁜데 푸시와 메시지큐는 있는거 쓸래요
[테크데이즈2015] 개발하기 바쁜데 푸시와 메시지큐는 있는거 쓸래요[테크데이즈2015] 개발하기 바쁜데 푸시와 메시지큐는 있는거 쓸래요
[테크데이즈2015] 개발하기 바쁜데 푸시와 메시지큐는 있는거 쓸래요
 
왜 레진코믹스는 구글앱엔진을 선택했나
왜 레진코믹스는 구글앱엔진을 선택했나왜 레진코믹스는 구글앱엔진을 선택했나
왜 레진코믹스는 구글앱엔진을 선택했나
 
[아이펀팩토리]2017 NDC 강연 자료_아이펀 엔진 개발 노트
[아이펀팩토리]2017 NDC 강연 자료_아이펀 엔진 개발 노트[아이펀팩토리]2017 NDC 강연 자료_아이펀 엔진 개발 노트
[아이펀팩토리]2017 NDC 강연 자료_아이펀 엔진 개발 노트
 
iFun Engine plugin 만들기 (for Stingray)
iFun Engine plugin 만들기 (for Stingray) iFun Engine plugin 만들기 (for Stingray)
iFun Engine plugin 만들기 (for Stingray)
 
[아이펀팩토리] 클라이언트 개발자, 서버 개발 시작하기
[아이펀팩토리] 클라이언트 개발자, 서버 개발 시작하기 [아이펀팩토리] 클라이언트 개발자, 서버 개발 시작하기
[아이펀팩토리] 클라이언트 개발자, 서버 개발 시작하기
 

Destaque

2 111009035503-phpapp01
2 111009035503-phpapp012 111009035503-phpapp01
2 111009035503-phpapp01상준 이
 
퍼스널 브랜딩 윤혜자
퍼스널 브랜딩 윤혜자퍼스널 브랜딩 윤혜자
퍼스널 브랜딩 윤혜자Heiza Yoon
 
브랜드시스템디자인
브랜드시스템디자인브랜드시스템디자인
브랜드시스템디자인Q&COMPANY
 
TDD: Test Driven Development 첫번째 이야기
TDD: Test Driven Development 첫번째 이야기TDD: Test Driven Development 첫번째 이야기
TDD: Test Driven Development 첫번째 이야기Ji Heon Kim
 
Rhea smart product130316
Rhea smart product130316Rhea smart product130316
Rhea smart product130316Rhea Strike
 
공유경제시작학교 : 브랜딩 워크샵(이지윤)
공유경제시작학교 : 브랜딩 워크샵(이지윤)공유경제시작학교 : 브랜딩 워크샵(이지윤)
공유경제시작학교 : 브랜딩 워크샵(이지윤)oeclab
 
Tdd retro agile_korea_게시용
Tdd retro agile_korea_게시용Tdd retro agile_korea_게시용
Tdd retro agile_korea_게시용Sangcheol Hwang
 

Destaque (7)

2 111009035503-phpapp01
2 111009035503-phpapp012 111009035503-phpapp01
2 111009035503-phpapp01
 
퍼스널 브랜딩 윤혜자
퍼스널 브랜딩 윤혜자퍼스널 브랜딩 윤혜자
퍼스널 브랜딩 윤혜자
 
브랜드시스템디자인
브랜드시스템디자인브랜드시스템디자인
브랜드시스템디자인
 
TDD: Test Driven Development 첫번째 이야기
TDD: Test Driven Development 첫번째 이야기TDD: Test Driven Development 첫번째 이야기
TDD: Test Driven Development 첫번째 이야기
 
Rhea smart product130316
Rhea smart product130316Rhea smart product130316
Rhea smart product130316
 
공유경제시작학교 : 브랜딩 워크샵(이지윤)
공유경제시작학교 : 브랜딩 워크샵(이지윤)공유경제시작학교 : 브랜딩 워크샵(이지윤)
공유경제시작학교 : 브랜딩 워크샵(이지윤)
 
Tdd retro agile_korea_게시용
Tdd retro agile_korea_게시용Tdd retro agile_korea_게시용
Tdd retro agile_korea_게시용
 

Semelhante a 카카오게임 첫 도전기 <돼지러너>

역삼역, 이마트 AI_v최종.pdf
역삼역, 이마트 AI_v최종.pdf역삼역, 이마트 AI_v최종.pdf
역삼역, 이마트 AI_v최종.pdfDeukJin Jeon
 
2016 NDC - 클라우드 시대의 모바일 게임 운영 플랫폼 구현
2016 NDC  - 클라우드 시대의  모바일 게임 운영 플랫폼 구현2016 NDC  - 클라우드 시대의  모바일 게임 운영 플랫폼 구현
2016 NDC - 클라우드 시대의 모바일 게임 운영 플랫폼 구현iFunFactory Inc.
 
Log Design Case Study
Log Design Case StudyLog Design Case Study
Log Design Case StudyDataya Nolja
 
[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장
[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장
[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장Dylan Ko
 
에어헌터 for kakao 포스트모템(공개용)
에어헌터 for kakao 포스트모템(공개용)에어헌터 for kakao 포스트모템(공개용)
에어헌터 for kakao 포스트모템(공개용)Woo Yeong Choi
 
게임 스타트업 시작하기 두달 후
게임 스타트업 시작하기 두달 후게임 스타트업 시작하기 두달 후
게임 스타트업 시작하기 두달 후기룡 남
 
AI = SE , giip system manage automation with A.I
AI = SE , giip system manage automation with A.IAI = SE , giip system manage automation with A.I
AI = SE , giip system manage automation with A.ILowy Shin
 
기계 학습 접목을 통한 전자 제조사의 플랫폼 사업자로의 진화 – 이종우 솔루션스 AWS 아키텍트, 박승환 삼성전자 엔지니어:: AWS Cl...
기계 학습 접목을 통한 전자 제조사의 플랫폼 사업자로의 진화 – 이종우 솔루션스 AWS 아키텍트, 박승환 삼성전자 엔지니어:: AWS Cl...기계 학습 접목을 통한 전자 제조사의 플랫폼 사업자로의 진화 – 이종우 솔루션스 AWS 아키텍트, 박승환 삼성전자 엔지니어:: AWS Cl...
기계 학습 접목을 통한 전자 제조사의 플랫폼 사업자로의 진화 – 이종우 솔루션스 AWS 아키텍트, 박승환 삼성전자 엔지니어:: AWS Cl...Amazon Web Services Korea
 
NDC17 장창완(최종)
NDC17 장창완(최종)NDC17 장창완(최종)
NDC17 장창완(최종)창완 장
 
20170813 django api server unit test and remote debugging
20170813 django api server unit test and remote debugging20170813 django api server unit test and remote debugging
20170813 django api server unit test and remote debuggingJongwon Han
 
[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기
[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기
[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기강 민우
 
02. After developed - 개발한 뒤에. 테스트 배포 및 마켓 관리.
02. After developed - 개발한 뒤에. 테스트 배포 및 마켓 관리.02. After developed - 개발한 뒤에. 테스트 배포 및 마켓 관리.
02. After developed - 개발한 뒤에. 테스트 배포 및 마켓 관리.Abraham Park
 
게임 개발에 적용해보자. 머신 러닝과 인공 지능! – 김일호 AWS 이머징 테크 리드 솔루션즈 아키텍트:: AWS Cloud Week - ...
게임 개발에 적용해보자. 머신 러닝과 인공 지능! – 김일호 AWS 이머징 테크 리드 솔루션즈 아키텍트:: AWS Cloud Week - ...게임 개발에 적용해보자. 머신 러닝과 인공 지능! – 김일호 AWS 이머징 테크 리드 솔루션즈 아키텍트:: AWS Cloud Week - ...
게임 개발에 적용해보자. 머신 러닝과 인공 지능! – 김일호 AWS 이머징 테크 리드 솔루션즈 아키텍트:: AWS Cloud Week - ...Amazon Web Services Korea
 
애자일 스크럼과 JIRA
애자일 스크럼과 JIRA 애자일 스크럼과 JIRA
애자일 스크럼과 JIRA Terry Cho
 
성장하는 스타트업의 프로세스 개척기
성장하는 스타트업의 프로세스 개척기성장하는 스타트업의 프로세스 개척기
성장하는 스타트업의 프로세스 개척기DomainDriven DomainDriven
 
서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)수보 김
 
모바일게임 1인 QA 업무 경험담
모바일게임 1인 QA 업무 경험담모바일게임 1인 QA 업무 경험담
모바일게임 1인 QA 업무 경험담dgclan
 

Semelhante a 카카오게임 첫 도전기 <돼지러너> (20)

역삼역, 이마트 AI_v최종.pdf
역삼역, 이마트 AI_v최종.pdf역삼역, 이마트 AI_v최종.pdf
역삼역, 이마트 AI_v최종.pdf
 
2016 NDC - 클라우드 시대의 모바일 게임 운영 플랫폼 구현
2016 NDC  - 클라우드 시대의  모바일 게임 운영 플랫폼 구현2016 NDC  - 클라우드 시대의  모바일 게임 운영 플랫폼 구현
2016 NDC - 클라우드 시대의 모바일 게임 운영 플랫폼 구현
 
Log Design Case Study
Log Design Case StudyLog Design Case Study
Log Design Case Study
 
최웅규
최웅규최웅규
최웅규
 
[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장
[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장
[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장
 
에어헌터 for kakao 포스트모템(공개용)
에어헌터 for kakao 포스트모템(공개용)에어헌터 for kakao 포스트모템(공개용)
에어헌터 for kakao 포스트모템(공개용)
 
게임 스타트업 시작하기 두달 후
게임 스타트업 시작하기 두달 후게임 스타트업 시작하기 두달 후
게임 스타트업 시작하기 두달 후
 
AI = SE , giip system manage automation with A.I
AI = SE , giip system manage automation with A.IAI = SE , giip system manage automation with A.I
AI = SE , giip system manage automation with A.I
 
기계 학습 접목을 통한 전자 제조사의 플랫폼 사업자로의 진화 – 이종우 솔루션스 AWS 아키텍트, 박승환 삼성전자 엔지니어:: AWS Cl...
기계 학습 접목을 통한 전자 제조사의 플랫폼 사업자로의 진화 – 이종우 솔루션스 AWS 아키텍트, 박승환 삼성전자 엔지니어:: AWS Cl...기계 학습 접목을 통한 전자 제조사의 플랫폼 사업자로의 진화 – 이종우 솔루션스 AWS 아키텍트, 박승환 삼성전자 엔지니어:: AWS Cl...
기계 학습 접목을 통한 전자 제조사의 플랫폼 사업자로의 진화 – 이종우 솔루션스 AWS 아키텍트, 박승환 삼성전자 엔지니어:: AWS Cl...
 
NDC17 장창완(최종)
NDC17 장창완(최종)NDC17 장창완(최종)
NDC17 장창완(최종)
 
20170813 django api server unit test and remote debugging
20170813 django api server unit test and remote debugging20170813 django api server unit test and remote debugging
20170813 django api server unit test and remote debugging
 
[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기
[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기
[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기
 
02. After developed - 개발한 뒤에. 테스트 배포 및 마켓 관리.
02. After developed - 개발한 뒤에. 테스트 배포 및 마켓 관리.02. After developed - 개발한 뒤에. 테스트 배포 및 마켓 관리.
02. After developed - 개발한 뒤에. 테스트 배포 및 마켓 관리.
 
게임 개발에 적용해보자. 머신 러닝과 인공 지능! – 김일호 AWS 이머징 테크 리드 솔루션즈 아키텍트:: AWS Cloud Week - ...
게임 개발에 적용해보자. 머신 러닝과 인공 지능! – 김일호 AWS 이머징 테크 리드 솔루션즈 아키텍트:: AWS Cloud Week - ...게임 개발에 적용해보자. 머신 러닝과 인공 지능! – 김일호 AWS 이머징 테크 리드 솔루션즈 아키텍트:: AWS Cloud Week - ...
게임 개발에 적용해보자. 머신 러닝과 인공 지능! – 김일호 AWS 이머징 테크 리드 솔루션즈 아키텍트:: AWS Cloud Week - ...
 
애자일 스크럼과 JIRA
애자일 스크럼과 JIRA 애자일 스크럼과 JIRA
애자일 스크럼과 JIRA
 
성장하는 스타트업의 프로세스 개척기
성장하는 스타트업의 프로세스 개척기성장하는 스타트업의 프로세스 개척기
성장하는 스타트업의 프로세스 개척기
 
서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)
 
모바일게임 1인 QA 업무 경험담
모바일게임 1인 QA 업무 경험담모바일게임 1인 QA 업무 경험담
모바일게임 1인 QA 업무 경험담
 
H사 IPA Usecase
H사 IPA UsecaseH사 IPA Usecase
H사 IPA Usecase
 
Ipa usecase
Ipa usecaseIpa usecase
Ipa usecase
 

카카오게임 첫 도전기 <돼지러너>

  • 2. 회사소개 • 주식회사 블리스소프트 • 캐쥬얼게임 전문 모바일게임 개발사 • 마우스피싱(Rat Fishing) • 돼지러너 for kakao • 아프리카TV로부터 투자
  • 5. 돼지러너 소개 • iOS, Android(구글 플레이) • 점핑런게임 • 늑대의 먹이가 되지 않기 위해 도망치는 돼지의 러 닝 + 점핑요소 가미 • 친구와 함께 우정릴레이 • 100만 조합의 나만의 돼지 • 아프리카TV 퍼블리싱 • 출시 3일만에 구글플레이 무료게임 순위 1위 • 200만 회원 돌파 • 해외 진출 예정
  • 6. 게임 컨셉 • • • • • 기존 러닝에 더해 점핑(높이높이)요소를 추가 멀리도 가야하지만 높이도 올라가야한다 우정릴레이를 통한 누적거리 계산과 보너스선물 100만종의 조합이 가능한 돼지구성 세트조합, 히든조합으로 특수효과 발동
  • 7. 돼지러너 소개 • cocos2d-x • LAMP, mongoDB, memcached • 팀구성 – PM 1명 – 게임디자이너 1명 – 아트디자이너 2명 – 클라이언트 개발자 3명 – 서버 개발자 1명
  • 9. 아키텍쳐 • • • • 자체 IDC 로드밸런싱은 간단하게 라운드로빈 구성 게임서버와 나머지 서버들은 망분리 모든 통신은 SSL 이용
  • 10. 게임서버 • LAMP – Linux, Apache, MySQL, PHP • 모두 무료 • PHP는 코드 배포시 컴파일이나 서버의 재시동 이 필요 없음 • RESTful API • RESTful은 수평 확장이 매우 쉬움
  • 11. 캐시서버 • Memcached • 랭킹을 비롯한 임시데이터 저장소 • 유실되어도 상관없거나, 값의 무결성이 중요하 지 않은 데이터 저장 • 질의 연산이 비싼 데이터를 캐싱하여 DB부하 분산 • 캐시서버가 다운되더라도 게임은 정상적으로 운 영되도록 예외처리
  • 12. 로그서버 • 많은 NoSQL 을 후보군으로 놓고 검토 – Schema less – 빠른 Insert속도 • mongoDB를 선택한 이유 – 방대한 문서와 예제, 구글링 검색결과 – RDB에서 넘어오기 가장 부담없는 NoSQL – 친절하게 SQL을 어떻게 mongoDB로 포팅해야하는지 제공 • • • • 사용자 액션 수집(아이템 구매, 소비, 행동) 로그서버가 다운되더라도 게임은 정상적으로 운영되도록 예외처리 데이터를 검색하기 위해 index 생성은 필수 서버 중지 없이 index를 생성할 수 있도록 락을 걸지 않는 Background 방식의 인덱스생성기능을 최신버전에서 지원
  • 13. 스토리지 + CDN • 공지사항, 이벤트 등에 쓰이는 이미지를 비롯한 리소스 보관
  • 14. 경험과 배운것, 느낀점 • 당연한것들의 재발견 • Go to Basic
  • 15. 인앱해킹 • 반드시 서버에서 결제정보를 재검증 • 영수증이 유효한지 체크(애플, 구글) • 영수증이 기존에 처리된 영수증인지 주문번호를 통해 체크할것(중복 지급하지 않도록) • 결제요청이 들어온 인앱상품이 우리 앱에 존재 하는지 확인. 다른 앱의 유효한 영수증이 날아 온다(iOS)
  • 16. 메모리해킹 • 점수, 코인 등 중요 정보는 꼭 메모리해킹 대응 • 업그레이드 상태, 체력, 공격력, 방어력, 속도 모두 메모리 해킹의 대상 • 요즘 메모리해킹 도구는 굉장히 발전해서 게임 을 중간중간에 멈춘 다음에 변화하는 int값을 추려내어 값을 조작할 수 있는 해킹 인터페이스 를 제공 • 모두 대응할 수 없다. 적당히 trade off
  • 17. 안드로이드 테스트 • 안드로이드 파편화(다양한 크기의 디스플레이) • 많은 기기를 테스트하면 할수록 좋다 • 오래된 기종이라도 많은 판매량을 기록한 기기 들은 꼭 체크(갤2, 갤노트1)
  • 18. 안드로이드 대응 • 심사가 없어서 좋은 안드로이드 • 마켓등록 후 3시간 정도면 검색가능(사람마다 차이가 있음) • 원하는 기능을 제약없이 마음대로 • 다른 사람에게 인앱 선물하기 가능
  • 19. iOS 국내에서 어렵다 • • • • • 긴 검수기간 Android에 비해 1~3개 빌드 늦어지는 iOS 개별 사용자 결제 취소 불가 대한민국은 Android 텃밭 돼지러너의 경우 95:5(Android : iOS)
  • 20. DB • MyISAM엔진은 쓰기가 많은 게임용으론 적당 하지 않다 • 꼭 검색에 사용하는 필드는 인덱스 생성 • slow-query 수시로 체크하여 튜닝
  • 21. 퍼포먼스 테스트 • 출시전 게임 퍼포먼스 테스트 • Jmeter, apache ab, nGrinder • RESTful API는 테스트 케이스를 만들기도 매우 간단하다 • 테스트를 통해 인덱스가 필요한 곳이나 비즈니 스 로직을 개선해야할 부분을 발견할 수 있다.
  • 22. 운영툴 • • • • • • • • 운영툴 (CS툴 + 개발툴 + 통계툴) 오버스펙 경계 Boostrap은 빠른 개발도구 디자이너의 도움 없이 컴포넌트를 붙여넣 는 식으로 빠르게 개발가능 CS담당자들이 사용자의 행동을 추적하여 고객요청에 대응할 수 있도록 클라이언트개발자들이 스스로 값을 변경하 여 클라이언트 기능을 테스트 해볼 수 있 도록 매니저들이 중요 지표들을 확인할 수 있도 록 운영툴개발은 개발자의 시간을 많이 빼앗 지만 잘 만들어놓은 운영툴은 잡무에서 벗 어날 수 있게 해주어 오히려 이득
  • 23. 로그의 활용 • 미리미리 KPI 설정하자 • 계속 변경되는 게임기능상의 변화로 어쩔 수 없 이 기능이 픽스되는 후반에 후다닥할 수밖에 없 는 로그넣기 작업 • 필요한 로그만 넣기 • 활용 다 못한다 • 쓰레기 쌓아두는격
  • 24. 통계가공 • KPI에 따른 통계 • 자주 체크해야하는 통계는 운영툴에서 언제든 볼 수 있도록 제공 • Google chart API
  • 25. 디버그, 테스트 도구와 문서화 • RESTful API를 테스트 할 수 있는 도구를 자체 개 발하여 사용중 • 문서화는 필수 • 클라이언트 개발자들이 쉽게 알 수 있도록 Swagger
  • 26. 클라우드서비스 • 개발유휴인력, 서버자원이 부족한 스타트업에게 딱인 클라우 드서비스 • 대표적으로 AWS, 국내에는 KT ucloud(대표 게임 확밀아) • 수요에 따라 서버를 증설 가능 • Auto scaling, 웹UI • 보안과 편의성의 trade off • AWS는 가장 가까운 데이터센터가 tokyo • AWS tokyo로 서비스하는 게임들도 있다 • 그렇지만 tokyo도 국내에서 서비스하기엔 응답속도가 아쉽 다 • KT유클라우드 이제는 auto scaling을 비롯 AWS를 많이 따 라 잡았다