에어헌터 for kakao 포스트모템(공개용)

57
에어헌터 for kakao 포스트모템 위메이드 엔터테인먼트 최우영 2013.07.15 온라인 서버 개발자 모임

Upload: woo-yeong-choi

Post on 18-Dec-2014

9.735 views

Category:

Documents


1 download

DESCRIPTION

메인 개발자로 참여한 모바일게임 에어헌터 for kakao의 개인적 회고 목적의 포스트모템 2013.07.15 온라인서버개발자모임에서 발표 http://cafe.naver.com/ongameserver

TRANSCRIPT

Page 1: 에어헌터 for kakao 포스트모템(공개용)

에어헌터 for kakao 포스트모템

위메이드 엔터테인먼트

최우영

2013.07.15 온라인 서버 개발자 모임

Page 2: 에어헌터 for kakao 포스트모템(공개용)

들어가기 전에

• 비공식, 개인 회고 포스트모템입니다.

• 회사의 견해와 다를 수 있습니다.

• 실제 발표 슬라이드와 다른 배포용 편집본입니다.

Page 3: 에어헌터 for kakao 포스트모템(공개용)

게임 소개

Page 4: 에어헌터 for kakao 포스트모템(공개용)

에어헌터 for kakao

Page 5: 에어헌터 for kakao 포스트모템(공개용)

에어헌터 for kakao

모르는 분 많으시죠?

Page 6: 에어헌터 for kakao 포스트모템(공개용)

에어헌터 for kakao

• 2013년 위메이드 엔터테인먼트에서 자체 개발한 모바일 슈팅 게임

• 카카오톡 플랫폼

• 전통적인 슈팅 게임의 재미 구현

• 기체 강화

• 이어하기

• 편대 전투

Page 7: 에어헌터 for kakao 포스트모템(공개용)

보스전이 준비되어 있어요 슈팅게임의 재미가 그대로!

Page 8: 에어헌터 for kakao 포스트모템(공개용)

제작 과정

Page 9: 에어헌터 for kakao 포스트모템(공개용)

• 개발 기간 6개월

• 개발 스텝 초기 5명

• 런칭시 약 40명

• 라이브팀 10여명

• 유니티 + C#

• Asp.NET + NoSQL

Page 10: 에어헌터 for kakao 포스트모템(공개용)

왜 하필 슈팅인가요?

• 때는 2012년 10월

• 저 슈팅 게임 좋아합니다

Page 11: 에어헌터 for kakao 포스트모템(공개용)

2012년 10월 마켓

Page 12: 에어헌터 for kakao 포스트모템(공개용)

• 모바일 게임의 신흥 강자 드래곤 플라이트!

• 당시 추정 일매출 3억

• (그것도 1인 개발자라는 소문)

Page 13: 에어헌터 for kakao 포스트모템(공개용)
Page 14: 에어헌터 for kakao 포스트모템(공개용)

프로젝트 시작

이제부터 고난 시작

Page 15: 에어헌터 for kakao 포스트모템(공개용)

만들고 싶었던 것

• (테스팅 겸 처음 만드는 모바일이니까)

• 캐주얼 유저는 버리고 간다(는 마음으로)

• 하드코어 탄막 슈팅!

• 화면에 총알이 무지 많이 나오고 플레이어는 신컨으로 피해야해!

• 실제로는 피격 범위가 적어서 어렵지 않다.

Page 16: 에어헌터 for kakao 포스트모템(공개용)

동방 프로젝트

Page 17: 에어헌터 for kakao 포스트모템(공개용)

도돈파치 시리즈

Page 18: 에어헌터 for kakao 포스트모템(공개용)

실제로는

• 반복되는 스테이지 구성으로 레벨링

• 총알 개수가 많아져서 여러 번 반복하면 탄막계열이 됨

• 미들 코어 유저용 슈팅 게임

Page 19: 에어헌터 for kakao 포스트모템(공개용)

프로토타입의 함정(1)

• 불명확한 비전 제시 : XXX는 이렇던데

• 개발사의 자존심 : xxx와는 다른 재미

• 그럴거면 완전히 새로운 기획으로 가는 게 낫다

Page 20: 에어헌터 for kakao 포스트모템(공개용)

프로토타입의 함정(2)

• 빠른 이터레이션 = 프로토타이핑 필수

• 불안정한 기획과 게임 방향이 휙휙 바뀌는 환경

• 한 수 앞을 내다보는 기획이 필요하다

• 프로토 타이핑 과정도 개발 기간에 포함되니 문제가 됨

Page 21: 에어헌터 for kakao 포스트모템(공개용)

컨텐츠를 채워라

• 프로토타입 통과

• 제작 기간 준수를 위해 클라이언트 프로그래머 대량 투입

• 필요한 컨텐츠

– UI

– 빌링

– 상점

– 게임 컨텐츠 : 적기 패턴과 보스 등

• R&D: C#, UNITY

Page 22: 에어헌터 for kakao 포스트모템(공개용)

‘우린 MMORPG 만든다고 왔는데 왜 슈팅을 만들어야 해? 그것도 유니티에 C#으로?’ (라는 불만이 있었습니다)

Page 23: 에어헌터 for kakao 포스트모템(공개용)

불만 제거

• 시간이 약..

– 팀 내에 꼭 해야하는 분위기가 조성됐고

– 하다보니 재미 붙여서 다들 작업했어요

– 국내 게임판 자체도 모바일로 돌아가기 시작했고요

• 작은 작업부터 시작

• R&D 할 수 있도록 여유 시간 배정

• 결과적으로 독립된 컴포넌트 개발 방식(유니티랑 잘 맞았다)

Page 24: 에어헌터 for kakao 포스트모템(공개용)

후반부 작업 러시

• UI는 지속적으로 개편(출시전까지 계속 수정! 정말 힘들었어요)

• 서버제작과 운영툴, 로그(꼭 런칭 1~2주전에 다량으로 쏟아짐)

• 사운드 투입

– 이 안에 스파이가 있다!(사운드 하나에 게임성이 확 바뀜)

• 사업팀 투입

– 카톡 게임 요소(SNG)

– 편대 : 점수대결, 2인 대결, 이어하기 등 여러 의견

Page 25: 에어헌터 for kakao 포스트모템(공개용)

결국 런칭!

Page 26: 에어헌터 for kakao 포스트모템(공개용)

아쉬웠던 점

Page 27: 에어헌터 for kakao 포스트모템(공개용)

개발 과정

• 테스팅 기기와 개발 도구의 지원 미흡

– 각종 모바일 기기, iOS 및 개발자 라이선스와 배포 권한

– 좀 더 iOS 배포와 테스팅을 빨리 했으면 좋았을 것

– 런칭하고 갤S2에서 네트웍 문제가 자주 발생했는데, 갤S2는 테스팅폰으로 구할 수가 없었어요. 단종됐데요.

Page 28: 에어헌터 for kakao 포스트모템(공개용)

• C#과 유니티 숙달자 부족

– 틈틈히 트랜드를 파악하며 유연해질 수 있는 능력이 중요

– 둘 중 하나라도…

• iOS, Android 플랫폼 지식 부족

– 빌링, 플러그인을 위해서는 결국 플랫폼 지식 필요

• 독립된 테스팅 환경 구축

– 개발, 알파, 베타, 심사용, 서비스 망 등의 테스팅 환경 선 구축

Page 29: 에어헌터 for kakao 포스트모템(공개용)

• 불편한 UI

– UI도 UX도 모두 불편

– 공통 UI 컨트롤의 필요성(개발자가 임의로 다이얼로그 테스팅하기 편하게)

• 조작 편의성

– 왼손, 오른손 잡이, 색약

• 기체 볼륨 보다는 정교한 레벨링

– 레벨링에 신경을 더 썼다면 더욱 좋은 게임이 되었을 것

• 반복되는 게임 플레이 구성의 변화

Page 30: 에어헌터 for kakao 포스트모템(공개용)

• 기획 문서 부재

– 문서화 보다 말로…

– 업데이트 속도가 너무 늦음

– QA, 사업팀과 협업하기 위해서는 기획문서 필수

• 스토리 부재

– 대체 내가 누구를 지키기 위해 출격하는거야?

• 모노 디벨롭과 비주얼 스튜디오 개발환경 혼재(한글 주석과 엔코딩)

• 자바 환경 일치(1.7에서 사인키 버그 있어서 1.6으로 통일)

Page 31: 에어헌터 for kakao 포스트모템(공개용)

런칭 후

• 실서버 모니터링 불가

– 성능 측정 지표 부재(매출, 난이도 곡선, 성능 문제 등)

• 광고 스팟 부재

– 로그인 화면, 광고판, 게임 내 광고 가능한 요소들

• 클라이언트 로그 부재

– 재접속률, 플레이 시간 등 클라이언트에서 모아서 전송

• 긴급 패치 위해서 개발팀 집에 못 가요

– 런칭 하루 전 잉여 인력.. 필수!

Page 32: 에어헌터 for kakao 포스트모템(공개용)

잘한 점

Page 33: 에어헌터 for kakao 포스트모템(공개용)

몇 개 안 되는 잘한 점

• 편대

• S펜 지원

• 보안 대응

• 유니티로 개발하기

• 카카오 플랫폼 이용하기

Page 34: 에어헌터 for kakao 포스트모템(공개용)

편대

• 타 게임과 차별 요소

– 거리나 비행 시간 요소는 어울리지 않음

• 단순 점수 비교지만 멀티 느낌이 남

– 마피아 워즈를 생각해보세요

• 조금 더 다듬었으면 하는 아쉬움

– 경쟁심 생기도록 다이나믹한 요소

– 보상 요소(너무 적다고 해요)

Page 35: 에어헌터 for kakao 포스트모템(공개용)

S펜 지원

• 갤럭시 노트 시리즈는 펜 탑재

• 개발팀에서도, 지인들도 펜 지원 요구

• 노트1 펜보다 노트2 펜이 인식률이 좋다

• 유니티 3.5버전은 기본 S펜 지원이 안됨

• 자바로 간단하게 이벤트 처리

Page 36: 에어헌터 for kakao 포스트모템(공개용)

로컬 치팅 방어

• 변화된 변수를 추적하는 앱이 존재

– 4바이트 단위로 값의 일치, 변화를 추적

• 각종 커뮤니티 사이트 검색

– 결크, 돈벅, 버그 등으로 검색하면 됩니다

– 별의 별 방법 등장

• 게임 DLL을 변조하는 경우에는 이 방법으로는 어려움

– CS 팀에서 처리

Page 37: 에어헌터 for kakao 포스트모템(공개용)

유니티로 개발하기

• 때마침 유니티의 인기 급상승(자료 구하기가 쉬웠어요)

• 3D 인력이 많아서 3D 오브젝트를 올리는데 유리

• 크로스 플랫폼!

– 결국 iOS와 Android는 다 알고 있어야 작업 가능

– 그래도 따로 포팅해서 옮기는 것 보다는 훨씬 편함

– 카카오는 무조건 iOS, Android 동시 출시!

• 닷넷이라 난독화 하셔야 합니다

– 난독화와 SendMessage – Trade off

Page 38: 에어헌터 for kakao 포스트모템(공개용)

카카오 플랫폼

• 카카오의 위력

– 에어헌터 100만 돌파 보름(Android)

– 퍼즐앤드래곤 100만 돌파 200일

– 밀리언아서 100만 돌파 약 100일

– 여전히 카카오 게임이 상위권 절대 다수 차지

Page 39: 에어헌터 for kakao 포스트모템(공개용)

어제의 마켓 상황(최고매출)

Page 40: 에어헌터 for kakao 포스트모템(공개용)

어제의 마켓 상황(최고매출)

10위 카톡 빼고 죄다 카톡게임

Page 41: 에어헌터 for kakao 포스트모템(공개용)

배운 점과 느낀 점

Page 42: 에어헌터 for kakao 포스트모템(공개용)

애플의 함정

• 하트 보내기 불가

– 재화 선물 불가

– 문의 엄청 들어와요

• iPhone5 대응

– 게임 컨텐츠로 채워야함

• 리뷰 대기 기간이 길다

• 심사가 객관적이라는 느낌은 잘 안든다

Page 43: 에어헌터 for kakao 포스트모템(공개용)

서버는 죽어도 클라는 죽어선 안된다

• 유니티의 특징

– Android는 예외가 떨어져도 Catch가 된다

– iOS는 예외가 떨어지면 Crash가 된다

• 패치 기간이 길다

– Android는 1~3일

– iOS는 대략 3~7일 정도 걸림

Page 44: 에어헌터 for kakao 포스트모템(공개용)

서버에서 제어하기

• 각종 할인, 점수 이벤트

• 상점 가격과 항목 제어

• 쿠폰이나 선물

• 푸시 메세지

Page 45: 에어헌터 for kakao 포스트모템(공개용)

실시간 패치

• 용량에 따라서 개발사가 선택하면 됨

• 에어헌터는 20MB라서 전체 다운로드를 선택

• 결과적으로 패치 때마다 인기 순위 상승!

Page 46: 에어헌터 for kakao 포스트모템(공개용)

패치 이슈

• 런칭 후 빠른 속도로 업데이트 상황 발생

– 버그 패치

– 각종 기기 문제

• 문제는 Android와 iOS의 패치 일정 문제

– iOS의 경우 패치가 느려서 Android와 버전 차이가 발생한다

– 방법은 iOS를 버리고 가거나 iOS에 맞춰서 가거나.

Page 47: 에어헌터 for kakao 포스트모템(공개용)

최적화 이슈(1)

• 메모리 풀

– 튀는 것을 없애는데 도움이 됨

• 3D 데이터 경량화

– 로우 폴리곤(폴리곤 줄이는게 킹왕짱)

• 모바일 Shader

– float(4바이트) 말고 fixed(1바이트)나 half(2바이트) 같은 자료형 이용

Page 48: 에어헌터 for kakao 포스트모템(공개용)

최적화 이슈(2)

• 이펙트

– 유니티 이펙트(슈리켄)는 드로우콜에 도움이 안됨

• 사운드

– 모노, 해상도 축소

Page 49: 에어헌터 for kakao 포스트모템(공개용)

푸시

• 이벤트나 알림을 푸시로 처리

• 운영툴에서 푸시 메시지를 실시간 변경가능하도록 제작

• 몇 십만, 몇 백만 사용자에게 서버가 푸시하는 시간이 오래걸릴 수 있다

– 최악의 경우 한 밤 중에 받게 된다.

– 이미 이벤트 끝난 경우에 받기도..

– 가끔 푸시 하다가 죽기도 한다

– 반드시 성능 측정과 테스트가 필요함

Page 50: 에어헌터 for kakao 포스트모템(공개용)

퍼블리셔

• 위메이드는 국내 대형 퍼블리셔

• 장점 – CS 지원(좀 느리지만)

– 홍보(강추) • 크로스 마켓팅 – 막강. 게임과의 제휴 이벤트 – 윈드런너가 짱임

• 지하철 광고 – 폼나요… 지인에게 자랑하기 좋음

• 위미 관련 광고 – 런칭시 유리 – 런칭 전부터 관심 끌기 좋아요

– ‘에어헌터 곧 출시!’ 하면 댓글에 ‘와우 재밌어보여요! 근데 윈드런너 업데이트 언제함?’ 이런 댓글 달려요

Page 51: 에어헌터 for kakao 포스트모템(공개용)

서버, 무엇으로 만들어야 하나

• 최근 웹서버 뿐만 아니라 TCP를 이용해서 제작

• 웹서버는 분산에 확실히 편함

• 클라이언트 언어랑 맞추면 프로토콜 등의 작업이 편함

– 유니티 + C# & Asp.NET

– 유니티 + JavaScript & Node.JS

– 코코스 + C++ & C++ 서버

• 개발 기간이 짧고 웹에 익숙하지 않다면 있는 거 쓰세요

Page 52: 에어헌터 for kakao 포스트모템(공개용)

매출(1)

Page 53: 에어헌터 for kakao 포스트모템(공개용)

매출(1)

• 적당히 벌고 아주 잘살자는 불가능

– 착한 부분유료화로 이야기되는 타 게임 수입원

• LoL : 스킨, 룬, 캐릭터

– 퍼즐앤 드래곤은 과금 구조가 단순

• 가챠, 스태미너 보충, 이어하기, 보유칸 늘리기

• 최대한 벌고 아주 잘살자가 우리네 현실

• 따라서 초기에 사업부와 미팅 필수

Page 54: 에어헌터 for kakao 포스트모템(공개용)

매출(2)

• 소인원이 유리한 구조

• 이래저래 기본 50%~80%는 비용

– 마켓 30%

– 카카오 20%

– 퍼블리싱 및 서버 운용 비용 20%~30%

– 지속적으로 서버 유지비…

• 그래서 40명에 육박한 우리팀은 인센이…

Page 55: 에어헌터 for kakao 포스트모템(공개용)

결론

Page 56: 에어헌터 for kakao 포스트모템(공개용)

결론

• 게임이 재미있거나 충실하게 만들어졌다면 미들코어도 충분히 가능

• 따라하기는 개발자가 정신적으로 힘들다

• 크로스플랫폼이 가능한 엔진 선택, 플랫폼 지식도 필수

• 대박 혹은 인센을 위해서는 소인원으로 개발

• 여전히 국내의 카카오 영향력은 막강하다

• 가끔 PC방이 아닌 지하철에서 유저들을 보면 신기하다

• 모바일 개발은 역시 경험이 중요하다

Page 57: 에어헌터 for kakao 포스트모템(공개용)

감사합니다

http://www.wychoe.net

@whoo24