Upload
alex-kang
View
1.324
Download
6
Embed Size (px)
DESCRIPTION
인디 게임 개발자 스터디 1회 오픈 세미나 "Cocos2 d 모바일 게임 개발하기 & 게임 서비스 준비를 위한 tip" by 이평섭
Citation preview
http://www.cocos2d-x.org/wiki/Relationships_in_Cocos2d_Family
http://www.cocos2d-x.org/wiki/Relationships_in_Cocos2d_Family
http://www.cocos2d-x.org/wiki/Supported_Platforms_and_Programming_Languages
Cocos2d 개발 Kit
배포환경 !개발환경
Android iOS/OSX MS Windows
MS Windows
Android SDK Android NDK
CygWin Eclipse
Android Studio
Visual Studio
OSX Mac
Android SDK Android NDK
Eclipse Android Studio
iOS SDK Xcode
Linux
Android SDK Android NDK
Eclipse Android Studio
버전 관리
• http://tortoisesvn.net
!
• http://www.visualsvn.com/
!
!
• github.com
• yobi.io
Cocos2d 개발 이슈• 멀티플랫폼 • 해상도 • UI
• 애니메이션 • In App Purchase
• Unique ID
멀티플랫폼
• iOS 7
멀티플랫폼
• Android
http://upload.wikimedia.org/wikipedia/commons/7/7e/Android_historical_version_distribution.png
Cocos2d-x Multi Resolution
http://www.cocos2d-x.org/wiki/Multi_resolution_support
iOS 해상도
http://www.koboldtouch.com/display/IDCAR/Developing+for+Multiple+Screen+Resolutions
UI
http://cocosbuilder.com/ http://code.zynga.com/2012/10/creating-a-game-with-cocosbuilder/
Atlas
http://www.codeandweb.com/texturepacker
iOS In App Purchase
https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/StoreKitGuide/Introduction.html
Android In App Billing
http://developer.android.com/google/play/billing/billing_overview.html
Unique ID
Unique ID Type iOS Android
디바이스 제조사의 ID
디바이스 기반 UDID 사용시 앱 심사 리젝사유
OS 버전별로 다양 OS 버전별 호환성 이슈
Universally Unique Identifier
OS 기본 제공 identifierForVendor
Universally Unique Identifier 구현하여 사용
Wifi Mac AddressiOS에서 Mac Address값이 부여된 값으로 나오지 않음 (iOS7 02:00:00:00:00:00)
Wifi가 없는 디바이스가 있어, 이 경우는 불가
OS 제공 플랫폼 GameCenter google play account
3rd Party ID소셜 플랫폼에서 제공하는 계정기반의 고유 ID 사용
ex) Kakao, Facebook, OpenFeint
개발 마무리
• 소셜 플랫폼 적용하기 • Kakao, Line, Wechat > 플랫폼 사업자가 선정
• Facebook, OpenFeint, Twitter > 누구나 사용
• Apple GameCenter > iOS
• Google Play Games > Android
개발 마무리
• 마케팅 플랫폼 적용하기 • http://www.flurry.com/
• http://www.playhaven.com/
• http://www.google.com/analytics/
Q & A
서비스 전략
• 서비스 정책 무점검 점검 !!
• 마일스톤 업데이트 이벤트
소셜플랫폼은 제공하지 않음알아서구현.
서비스 전략
• 고객대응 App Store Page Facebook, Twitter Cafe, Blog Email 기타 !
• 운영툴
소셜플랫폼은 제공하지 않음알아서구현.
앱스토어 심사 준비
• 심사 체크 사항 iOS
https://developer.apple.com/appstore/guidelines.html https://developer.apple.com/icloud/documentation/data-storage/
Android http://play.google.com/about/developer-content-policy.html
!• 심사 시점
미국 휴가시즌에 심사하는 경우 일정이 더 길어짐. iOS, Android 심사 통과 시점이 다름.
평균적으로 iOS 심사기간 > Android 심사기간 첫 심사기간 > 업데이트 심사 기간
• 스토어에 표시되는 게임 타이틀 심사 중 변경 안됨
앱스토어 심사 준비
• 심사 리젝 회피하기 심사시에는 disable 하고, 서비스 시작시에는 enable하기 ex) 서버에서 상태값을 설정하고, 이를 클라이언트가 연동하여 회피 !!
• 사례 ★ iOS ★ 게임내 저장소는 Library - Cache 폴더 사용 ★ 로그인 없이도 게임 진행이 되게 하기 ★ 캐시 구매 아이템 다른 사용자에 전달불가
게임 서버 & 클라이언트 준비 #1
● 서비스 시작 전(개발 중 & 개발 완료) !!!!!
!!!!!!!
● 서비스 시작 라이브 서버 & 심사를 통과한 클라이언트로 서비스 시작
개발 알파 베타
라이브
개발 = 알파 = 베타
라이브(앱스토어 심사용)
게임 서버 & 클라이언트 준비 #2
● 서비스 후(업데이트 개발 순서)
개발
알파
베타
라이브 라이브 서버 & 심사 통과 클라이언트
라이브 서버와 동일한 상태의 서버로 업데이트시 앱스토어 심사용으로 사용 클라이언트는 앱스토어 심사 제출용으로 사용
개발 완료된 서버 & 클라이언트
개발 중인 서버 & 클라이언트
서비스 상태 관리
점검
업데이트
이벤트
서비스 상태
점검 기간 알림 / 점검시 게임진행 가능여부 / 게임 진행 중 점검 상태 진입 처리
App Upate : 앱스토어 연결 / 게임 진행 가능 여부 In App Update : 앱 내부에서 업데이트 진행 / 업데이트 완료 후 게임 진행
특정 기간에 진행되는 이벤트 알림 게임 컨텐츠에 따라, 앱 내부, 외부 이벤트 연동 처리가 달라짐.
서비스 정상적인 게임 플레이가 되는 상태
서비스 상태 흐름 예 #점검
클라이언트 서비스 상태 관리 서버
시작시 상태서버에 접속하여 상태를 받아 옴.점검
점검 상태
점검 UI 표시
서비스 상태 체크
시작
서비스 상태 흐름 예 #In App 업데이트
클라이언트서비스 상태 관리 서버
시작시 상태서버에 접속하여 상태를 받아 옴.
업데이트
업데이트 상태
업데이트 서버
업데이트 가져오기
업데이트 버전관리
업데이트 진행 UI
서비스 상태 체크
서비스 상태 흐름 예 #App 업데이트
클라이언트서비스 상태 관리 서버
시작시 상태서버에 접속하여 상태를 받아 옴.
업데이트
업데이트 상태
앱 스토어
업데이트 다운로드 링크 UI
업데이트
서비스 상태 체크
서비스 상태 흐름 예 #이벤트
클라이언트서비스 상태 관리 서버
시작시 상태서버에 접속하여 상태를 받아 옴.
이벤트
이벤트 상태
이벤트 서버
이벤트 가져오기 이벤트 버전관리
이벤트 진행 UI
서비스 상태 체크
서비스 상태 흐름 예 #서비스
클라이언트서비스 상태 관리 서버
시작시 상태서버에 접속하여 상태를 받아 옴.서비스
서비스 상태
게임 진행
서비스 상태 체크
서비스 상태 흐름 예 #플레이 중 점검
클라이언트서비스 상태 관리 서버
시작시 상태서버에 접속하여 상태를 받아 옴.점검
점검 상태
점검 UI 표시
플레이
서비스 상태 체크
게임 데이터 보안
• 통신 프로토콜 정의, 프로토콜 command로 서버와 데이터 교환 프로토콜정의를 통해 보안처리의 수준 및 내용을 파악하기 !
• get/set Property 를 이용한 데이터 보안 get/set Property 내에서 데이터 암호화 get/set Property 로만 데이터에 접근하게 되므로, 데이터에 직접 접근을 피함 !
• 서버 통신 보안 보안키 교환 중요데이터 암호화/복호화 송수신 서버-클라이언트 데이터 비교 서버에서 중요데이터 생성 후 클라이언트에 전송 !!!
Q & A