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

13,352 views

Published on

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

5 Comments
38 Likes
Statistics
Notes
No Downloads
Views
Total views
13,352
On SlideShare
0
From Embeds
0
Number of Embeds
3,558
Actions
Shares
0
Downloads
123
Comments
5
Likes
38
Embeds 0
No embeds

No notes for slide

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

  1. 1. 에어헌터 for kakao 포스트모템 위메이드 엔터테인먼트 최우영 2013.07.15 온라인 서버 개발자 모임
  2. 2. 들어가기 전에 • 비공식, 개인 회고 포스트모템입니다. • 회사의 견해와 다를 수 있습니다. • 실제 발표 슬라이드와 다른 배포용 편집본입니다.
  3. 3. 게임 소개
  4. 4. 에어헌터 for kakao
  5. 5. 에어헌터 for kakao 모르는 분 많으시죠?
  6. 6. 에어헌터 for kakao • 2013년 위메이드 엔터테인먼트에서 자체 개발한 모바일 슈팅 게임 • 카카오톡 플랫폼 • 전통적인 슈팅 게임의 재미 구현 • 기체 강화 • 이어하기 • 편대 전투
  7. 7. 보스전이 준비되어 있어요 슈팅게임의 재미가 그대로!
  8. 8. 제작 과정
  9. 9. • 개발 기간 6개월 • 개발 스텝 초기 5명 • 런칭시 약 40명 • 라이브팀 10여명 • 유니티 + C# • Asp.NET + NoSQL
  10. 10. 왜 하필 슈팅인가요? • 때는 2012년 10월 • 저 슈팅 게임 좋아합니다
  11. 11. 2012년 10월 마켓
  12. 12. • 모바일 게임의 신흥 강자 드래곤 플라이트! • 당시 추정 일매출 3억 • (그것도 1인 개발자라는 소문)
  13. 13. 프로젝트 시작 이제부터 고난 시작
  14. 14. 만들고 싶었던 것 • (테스팅 겸 처음 만드는 모바일이니까) • 캐주얼 유저는 버리고 간다(는 마음으로) • 하드코어 탄막 슈팅! • 화면에 총알이 무지 많이 나오고 플레이어는 신컨으로 피해야해! • 실제로는 피격 범위가 적어서 어렵지 않다.
  15. 15. 동방 프로젝트
  16. 16. 도돈파치 시리즈
  17. 17. 실제로는 • 반복되는 스테이지 구성으로 레벨링 • 총알 개수가 많아져서 여러 번 반복하면 탄막계열이 됨 • 미들 코어 유저용 슈팅 게임
  18. 18. 프로토타입의 함정(1) • 불명확한 비전 제시 : XXX는 이렇던데 • 개발사의 자존심 : xxx와는 다른 재미 • 그럴거면 완전히 새로운 기획으로 가는 게 낫다
  19. 19. 프로토타입의 함정(2) • 빠른 이터레이션 = 프로토타이핑 필수 • 불안정한 기획과 게임 방향이 휙휙 바뀌는 환경 • 한 수 앞을 내다보는 기획이 필요하다 • 프로토 타이핑 과정도 개발 기간에 포함되니 문제가 됨
  20. 20. 컨텐츠를 채워라 • 프로토타입 통과 • 제작 기간 준수를 위해 클라이언트 프로그래머 대량 투입 • 필요한 컨텐츠 – UI – 빌링 – 상점 – 게임 컨텐츠 : 적기 패턴과 보스 등 • R&D: C#, UNITY
  21. 21. ‘우린 MMORPG 만든다고 왔는데 왜 슈팅을 만들어야 해? 그것도 유니티에 C#으로?’ (라는 불만이 있었습니다)
  22. 22. 불만 제거 • 시간이 약.. – 팀 내에 꼭 해야하는 분위기가 조성됐고 – 하다보니 재미 붙여서 다들 작업했어요 – 국내 게임판 자체도 모바일로 돌아가기 시작했고요 • 작은 작업부터 시작 • R&D 할 수 있도록 여유 시간 배정 • 결과적으로 독립된 컴포넌트 개발 방식(유니티랑 잘 맞았다)
  23. 23. 후반부 작업 러시 • UI는 지속적으로 개편(출시전까지 계속 수정! 정말 힘들었어요) • 서버제작과 운영툴, 로그(꼭 런칭 1~2주전에 다량으로 쏟아짐) • 사운드 투입 – 이 안에 스파이가 있다!(사운드 하나에 게임성이 확 바뀜) • 사업팀 투입 – 카톡 게임 요소(SNG) – 편대 : 점수대결, 2인 대결, 이어하기 등 여러 의견
  24. 24. 결국 런칭!
  25. 25. 아쉬웠던 점
  26. 26. 개발 과정 • 테스팅 기기와 개발 도구의 지원 미흡 – 각종 모바일 기기, iOS 및 개발자 라이선스와 배포 권한 – 좀 더 iOS 배포와 테스팅을 빨리 했으면 좋았을 것 – 런칭하고 갤S2에서 네트웍 문제가 자주 발생했는데, 갤S2는 테스팅폰으로 구할 수가 없었어요. 단종됐데요.
  27. 27. • C#과 유니티 숙달자 부족 – 틈틈히 트랜드를 파악하며 유연해질 수 있는 능력이 중요 – 둘 중 하나라도… • iOS, Android 플랫폼 지식 부족 – 빌링, 플러그인을 위해서는 결국 플랫폼 지식 필요 • 독립된 테스팅 환경 구축 – 개발, 알파, 베타, 심사용, 서비스 망 등의 테스팅 환경 선 구축
  28. 28. • 불편한 UI – UI도 UX도 모두 불편 – 공통 UI 컨트롤의 필요성(개발자가 임의로 다이얼로그 테스팅하기 편하게) • 조작 편의성 – 왼손, 오른손 잡이, 색약 • 기체 볼륨 보다는 정교한 레벨링 – 레벨링에 신경을 더 썼다면 더욱 좋은 게임이 되었을 것 • 반복되는 게임 플레이 구성의 변화
  29. 29. • 기획 문서 부재 – 문서화 보다 말로… – 업데이트 속도가 너무 늦음 – QA, 사업팀과 협업하기 위해서는 기획문서 필수 • 스토리 부재 – 대체 내가 누구를 지키기 위해 출격하는거야? • 모노 디벨롭과 비주얼 스튜디오 개발환경 혼재(한글 주석과 엔코딩) • 자바 환경 일치(1.7에서 사인키 버그 있어서 1.6으로 통일)
  30. 30. 런칭 후 • 실서버 모니터링 불가 – 성능 측정 지표 부재(매출, 난이도 곡선, 성능 문제 등) • 광고 스팟 부재 – 로그인 화면, 광고판, 게임 내 광고 가능한 요소들 • 클라이언트 로그 부재 – 재접속률, 플레이 시간 등 클라이언트에서 모아서 전송 • 긴급 패치 위해서 개발팀 집에 못 가요 – 런칭 하루 전 잉여 인력.. 필수!
  31. 31. 잘한 점
  32. 32. 몇 개 안 되는 잘한 점 • 편대 • S펜 지원 • 보안 대응 • 유니티로 개발하기 • 카카오 플랫폼 이용하기
  33. 33. 편대 • 타 게임과 차별 요소 – 거리나 비행 시간 요소는 어울리지 않음 • 단순 점수 비교지만 멀티 느낌이 남 – 마피아 워즈를 생각해보세요 • 조금 더 다듬었으면 하는 아쉬움 – 경쟁심 생기도록 다이나믹한 요소 – 보상 요소(너무 적다고 해요)
  34. 34. S펜 지원 • 갤럭시 노트 시리즈는 펜 탑재 • 개발팀에서도, 지인들도 펜 지원 요구 • 노트1 펜보다 노트2 펜이 인식률이 좋다 • 유니티 3.5버전은 기본 S펜 지원이 안됨 • 자바로 간단하게 이벤트 처리
  35. 35. 로컬 치팅 방어 • 변화된 변수를 추적하는 앱이 존재 – 4바이트 단위로 값의 일치, 변화를 추적 • 각종 커뮤니티 사이트 검색 – 결크, 돈벅, 버그 등으로 검색하면 됩니다 – 별의 별 방법 등장 • 게임 DLL을 변조하는 경우에는 이 방법으로는 어려움 – CS 팀에서 처리
  36. 36. 유니티로 개발하기 • 때마침 유니티의 인기 급상승(자료 구하기가 쉬웠어요) • 3D 인력이 많아서 3D 오브젝트를 올리는데 유리 • 크로스 플랫폼! – 결국 iOS와 Android는 다 알고 있어야 작업 가능 – 그래도 따로 포팅해서 옮기는 것 보다는 훨씬 편함 – 카카오는 무조건 iOS, Android 동시 출시! • 닷넷이라 난독화 하셔야 합니다 – 난독화와 SendMessage – Trade off
  37. 37. 카카오 플랫폼 • 카카오의 위력 – 에어헌터 100만 돌파 보름(Android) – 퍼즐앤드래곤 100만 돌파 200일 – 밀리언아서 100만 돌파 약 100일 – 여전히 카카오 게임이 상위권 절대 다수 차지
  38. 38. 어제의 마켓 상황(최고매출)
  39. 39. 어제의 마켓 상황(최고매출) 10위 카톡 빼고 죄다 카톡게임
  40. 40. 배운 점과 느낀 점
  41. 41. 애플의 함정 • 하트 보내기 불가 – 재화 선물 불가 – 문의 엄청 들어와요 • iPhone5 대응 – 게임 컨텐츠로 채워야함 • 리뷰 대기 기간이 길다 • 심사가 객관적이라는 느낌은 잘 안든다
  42. 42. 서버는 죽어도 클라는 죽어선 안된다 • 유니티의 특징 – Android는 예외가 떨어져도 Catch가 된다 – iOS는 예외가 떨어지면 Crash가 된다 • 패치 기간이 길다 – Android는 1~3일 – iOS는 대략 3~7일 정도 걸림
  43. 43. 서버에서 제어하기 • 각종 할인, 점수 이벤트 • 상점 가격과 항목 제어 • 쿠폰이나 선물 • 푸시 메세지
  44. 44. 실시간 패치 • 용량에 따라서 개발사가 선택하면 됨 • 에어헌터는 20MB라서 전체 다운로드를 선택 • 결과적으로 패치 때마다 인기 순위 상승!
  45. 45. 패치 이슈 • 런칭 후 빠른 속도로 업데이트 상황 발생 – 버그 패치 – 각종 기기 문제 • 문제는 Android와 iOS의 패치 일정 문제 – iOS의 경우 패치가 느려서 Android와 버전 차이가 발생한다 – 방법은 iOS를 버리고 가거나 iOS에 맞춰서 가거나.
  46. 46. 최적화 이슈(1) • 메모리 풀 – 튀는 것을 없애는데 도움이 됨 • 3D 데이터 경량화 – 로우 폴리곤(폴리곤 줄이는게 킹왕짱) • 모바일 Shader – float(4바이트) 말고 fixed(1바이트)나 half(2바이트) 같은 자료형 이용
  47. 47. 최적화 이슈(2) • 이펙트 – 유니티 이펙트(슈리켄)는 드로우콜에 도움이 안됨 • 사운드 – 모노, 해상도 축소
  48. 48. 푸시 • 이벤트나 알림을 푸시로 처리 • 운영툴에서 푸시 메시지를 실시간 변경가능하도록 제작 • 몇 십만, 몇 백만 사용자에게 서버가 푸시하는 시간이 오래걸릴 수 있다 – 최악의 경우 한 밤 중에 받게 된다. – 이미 이벤트 끝난 경우에 받기도.. – 가끔 푸시 하다가 죽기도 한다 – 반드시 성능 측정과 테스트가 필요함
  49. 49. 퍼블리셔 • 위메이드는 국내 대형 퍼블리셔 • 장점 – CS 지원(좀 느리지만) – 홍보(강추) • 크로스 마켓팅 – 막강. 게임과의 제휴 이벤트 – 윈드런너가 짱임 • 지하철 광고 – 폼나요… 지인에게 자랑하기 좋음 • 위미 관련 광고 – 런칭시 유리 – 런칭 전부터 관심 끌기 좋아요 – ‘에어헌터 곧 출시!’ 하면 댓글에 ‘와우 재밌어보여요! 근데 윈드런너 업데이트 언제함?’ 이 런 댓글 달려요
  50. 50. 서버, 무엇으로 만들어야 하나 • 최근 웹서버 뿐만 아니라 TCP를 이용해서 제작 • 웹서버는 분산에 확실히 편함 • 클라이언트 언어랑 맞추면 프로토콜 등의 작업이 편함 – 유니티 + C# & Asp.NET – 유니티 + JavaScript & Node.JS – 코코스 + C++ & C++ 서버 • 개발 기간이 짧고 웹에 익숙하지 않다면 있는 거 쓰세요
  51. 51. 매출(1)
  52. 52. 매출(1) • 적당히 벌고 아주 잘살자는 불가능 – 착한 부분유료화로 이야기되는 타 게임 수입원 • LoL : 스킨, 룬, 캐릭터 – 퍼즐앤 드래곤은 과금 구조가 단순 • 가챠, 스태미너 보충, 이어하기, 보유칸 늘리기 • 최대한 벌고 아주 잘살자가 우리네 현실 • 따라서 초기에 사업부와 미팅 필수
  53. 53. 매출(2) • 소인원이 유리한 구조 • 이래저래 기본 50%~80%는 비용 – 마켓 30% – 카카오 20% – 퍼블리싱 및 서버 운용 비용 20%~30% – 지속적으로 서버 유지비… • 그래서 40명에 육박한 우리팀은 인센이…
  54. 54. 결론
  55. 55. 결론 • 게임이 재미있거나 충실하게 만들어졌다면 미들코어도 충분히 가능 • 따라하기는 개발자가 정신적으로 힘들다 • 크로스플랫폼이 가능한 엔진 선택, 플랫폼 지식도 필수 • 대박 혹은 인센을 위해서는 소인원으로 개발 • 여전히 국내의 카카오 영향력은 막강하다 • 가끔 PC방이 아닌 지하철에서 유저들을 보면 신기하다 • 모바일 개발은 역시 경험이 중요하다
  56. 56. 감사합니다 http://www.wychoe.net @whoo24

×