5. 돼지러너 소개
• iOS, Android(구글 플레이)
• 점핑런게임
• 늑대의 먹이가 되지 않기 위해 도망치는 돼지의 러
닝 + 점핑요소 가미
• 친구와 함께 우정릴레이
• 100만 조합의 나만의 돼지
• 아프리카TV 퍼블리싱
• 출시 3일만에 구글플레이 무료게임 순위 1위
• 200만 회원 돌파
• 해외 진출 예정
6. 게임 컨셉
•
•
•
•
•
기존 러닝에 더해 점핑(높이높이)요소를 추가
멀리도 가야하지만 높이도 올라가야한다
우정릴레이를 통한 누적거리 계산과 보너스선물
100만종의 조합이 가능한 돼지구성
세트조합, 히든조합으로 특수효과 발동
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 방식의 인덱스생성기능을 최신버전에서 지원
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를 많이 따
라 잡았다