Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
LINE Game 
Global 도전기 
Hwang Seonpill 
LINE Corp.
들어가는 말
글로벌 업무를 진행하면서 
가장 많이 받는 질문 
1. 어떤 디바이스를 대응하면 되나요? 
2. 그 디바이스는 점유율이 얼마에요? 
묻고 싶습니다. 몇% 까지 알아보셨어요 ? 
1. 저도 잘 모르고, 
2. 태국사람도 ...
거꾸로 생각해보면 
저런 류의 질문이 많다는 사실은 
1. 글로벌 대응이 특정 디바이스를 대응하는 것이다? 
2. S 사의 G 가 인기가 많다던데 여기서만 잘 돌아가면 되는걸까? 
3. 정말 S 사의 G 가 인기가 많은...
라인의 글로벌 
라인이 
1. 글로벌의 정답은 아닙니다. 
2. 글로벌하게 잘 하고 있는 것도 아니고 
3. 글로벌 문제를 잘 해결한 것은 더더욱 아닙니다. 
라인도 
1. 문제 생기면 우왕 좌왕합니다. 
2. 큰 조직...
이 강연은 
라인이 겪었던 시행착오를 비롯한 
글로벌의 경험 공유를 목표로 합니다 . 
대부분의 문제는 현재 진행중이고, 
해결을 위해 노력 중입니다. 
라인도 아직 대부분 해결 못했어요 .
여러가지 문제들
Device Fragmentation 
그럼 정말 몇 % 까지 알아 보셨어요 ? 
Indonesia 
Rank Brand Name USD 2013 3 13 Percentage 
1 SAMSUNG E 1205 18 144...
Device Fragmentation 
그래도 S 사가 최고였어요 . 
점유율 1.88% 
밖에 안되고 
점유율 3.82% 
밖에 안되도 내가 제일 잘 나가
Device Fragmentation 
잠깐만요 
이게 점유율이라구요? 그럼 어디까지 대응해야해요 ? 
1. 1 등 디바이스가 4~5% 에 불과합니다. 
2. 상위 20 위까지 디바이스의 점유율 합이 50% 미만이지요....
Device Fragmentation 
이런 스마트폰도 있습니다. Galaxy Y 
Dimensions 104 x 58 x 11.5 mm Internal Storage 180MB 
Weight 97.5 g RAM 290...
Device Fragmentation 
• 한국의 파편화는 글로벌 시장에 비해 매우 양호합니다. 
• 디바이스 파편화를 특정 디바이스를 테스트해서 
해결하기는 쉽지 않습니다. 
• 클라이언트의 덤프 수집 , 통계 시스템...
Low Spec Devices 
왜죠? 왜 하필 대표님 스마트폰인가요? 
언제나 게임을 오픈하면 
1. 대표님, 이사님 스마트폰만 문제가 생깁니다. 
2. 저장 용량이 거의 남아있지 않은 iPhone4 를 쓰고 계신 대...
Low Spec Devices 
다시 등장한 S 사의 Y디바이스 
점유율 3.82% 밖에 안되도 
Armv6 CPU라도 
동남아 서비스를 위해서 
Galaxy Y 가 꼭 지원되 
동남아 서비스를 위해서 
Galaxy Y...
Armv6는 
Low Spec Devices 
1. 2008년 iPhone 3의 CPU가 Armv6 호환 CPU였습니다. 
2. 2009년 iPhone 3Gs의 CPU는 Armv7호환 CPU였습니다. 
3. 2013년 ...
Low Spec Devices 
• Armv6 는 제작툴에서 지원하지 않는 경우가 있습니다 . 
• 게임의 CPU, Memory, Storage 제한은 확인해봅시다 . 
• 저 사양 Devices 는 설치 단계에서 많이...
Low Quality Network 
예 비행기안인데 안되신다구요? 
1. 김과장 비행기에서 안된데 
2. 이대리 여기 사우나인데 안되는데? 
3. 박차장 후지산 정상인데 안테나는 잡히는데 왜 안되? 
4. 사장님들 출...
Low Quality Network 
Network Available 인데 
1. GPRS, Edge, 3G, 3G+, 4G, LTE and Airplane WiFi 등 
우리 생각보다 훨씬 다양한 네트워크 환경이 존재...
Low Quality Network 
전 세계에 안테나를 꽂는게 빠를겁니다. 
1. 농담으로 던진 이 한마디가 
2. 태국에서는 현실이 되었습니다. 
3. 3G 와 Edge 가 기본이던 네트워크 환경이 
4. 1년만에 ...
Low Quality Network 
Decreasing Round Trip 
1. 저품질 네트워크의 가장 큰 문제는 긴 Round Trip Time입니다. 
2. Round Trip Time 을 줄이는 것은 불가능합니...
Low Quality Network 
Network Link Conditioner 
1. Uplink, Downlink 의 Network Delay, Bandwidth 를 강제로 고정시켜서 
Low Quality Net...
Low Quality Network 
• “No Network” is better than 
“Available but Low Quality Network” 
• “Available but Low Quality Netw...
Data Synchronization 
Smartphone Game의 Data 처리는 
1. Online PC Game보다 
2. Console Game 의 저장 방식과 비슷합니다. 
Online PC Game : 다른...
Data Synchronization 
대부분의 경우 
실시간으로 서버와 동기화를 할 필요는 없습니다. 
데이터 연동은 
게임 시작 시 데이터는 클라이언트에 가지고 있는 
데이터로 시작해도 됩니다. 
게임 종료, 기록은...
Data Synchronization 
First OK 
1. 데이터 갱신이 필요한 경우 
2. 클라이언트에 저장하고 그냥 게임 진행하자. 
3. 10~20 초 후 랭킹이 갱신된다고 내가 게임을 못하지 않는다. 
Las...
Data Synchronization 
Client Security and Business Model 
1. Client 에 저장된 Data 는 언젠가는 공격자에게 뚫립니다. 
2. Client 에 Play log 도 ...
Data Synchronization 
• Smart phone Game 의 Data Sync 는 Console 과 닮았다 . 
• First OK, Last Synchronization 
• Client Securit...
CDN Download 
Big size image from CDN 
1. 대한민국의 인터넷 환경, 특히 스마트폰 네트워크 환경은 전세계 최고 
2. 대한민국의 스마트폰 개발자 분중에 “일부”는 
파일 사이즈에 너무 관...
CDN Download 
Delete Redundant Files 
1. 중복 파일을 관리해야해요. 
2. 중복되는 파일이 없도록 파일단위로 관리하고, 
같은 숫자면 하나의 파일로 압축 후 전송합시다. 
압축명 파일명 ...
CDN Download 
CDN Request 는 최대한 적게 
1. Round Trip Time 은 CDN Download 에서도 큰 장애가 됩니다. 
2. Keep Alive 나 다른 해결 방식도 존재하지만, 
가장...
CDN Download 
Low Resolution Image File 을 준비합시다 . 
1. Device 의 종류에 따라서 2~3 가지 
Resolution 의 Image 파일을 준비 합시다. 
2. 최대 사이즈의 ...
CDN Download 
• 파일 갯수를 줄이고 
• 파일 사이즈를 줄이고 
• 중복 파일은 꼭 골라냅시다.
SIM Card 
한국과 일본의 SIM Card는 
1. 개인정보가 담긴 소중한 것 것입니다. 
2. 2 년에 한번 또는 더 오랜 기간 사용 후 가끔 교체합니다. 
3. 그래서 SIM Card 에서 예외 사항이 발생하는...
SIM Card 
하지만 그렇지 않은 나라가 대부분입니다. 
1. SIM Card 는 언제나 바꿀 수 있는 것이고, 
2. 프로모션에 따라 바로 바로 바꿔 쓰기도 하고 
3. Data 용 SIM 과 통화용 SIM 을 동...
SIM Card 
MCCMNC 
1. 유저의 국가를 구분할 때는 MCCMNC 를 사용하세요. 
Mobile Country Code / Mobile Network Code 
2. ISO 3166 로 추출하는 코드보다 효율...
SIM Card 
태국인의 30% 가 미국인 
1. 일본 서비스에서는 전혀 문제가 없었는데, 
2. 태국 서비스 오픈 이후 태국 매출의 30% 가 
미국인에 의해서 발생하고 있습니다. 
Dual SIM, Device 설...
Dual SIM Device 
• SIM Card 의 정보 이용은 신중해야 합니다 . 
• Dual SIM Card 의 정보를 효율적으로 컨트롤할 수 있는 
Google 의 API 는 존재하지 않습니다 . 
• 국가 코...
Abusing 
Global Platform은 
1. Global Economic System 이라고 정의하신 분이 있습니다. 
2. 클라이언트에서는 저장되어있는 값을 찾아서 하나씩 수정해나가거나 
Client memo...
Abusing 
• 알려진 모든 형태의 Abusing 에 대한 
기본적인 대응이 필요합니다. 
• 하지만 모든 Abusing 을 피할 수 없습니다. 
• 상세한 유저 패턴의 저장 , 분석, CS 대응이 필요합니다 .
User Pattern Analysis 
새로운 앱 릴리즈 후 발생하는 문제는 
1. Key Word 만 알아도 문제 해결에 많은 도움이 됩니다. 
2. 하지만 수많은 Comment 를 모두 분석해서 해결하는 것은 
생...
Length of Currency 
환율이 너무해 
1. 모 게임에서 인도네시아에서 결제가 안된다는 문의가 들어왔습니다. 
2. 개발자들과 조사를 해봤지만, 인도네시아에서만 안될 이유는 없었습니 
다. 
3. 현지의 비...
Carrier 
불변의 진리 Carrier사 
1. KT 는 진리, SKT 는 진리, 불변의 법칙 그 이름은 한국 Carrier입니다 
. 
2. 그리고, 3G, 4G 의 셀룰러 망은 믿을만한 네트워크라고 생각했습니다....
그러나 이런 문제들 
• 다 라인 때문이다. 
• 모두 라인탓이고, 해결해야죠. 
• 해결하려고 시작했습니다.
라인은 이렇게 바뀌어 왔습니다
LINE Game Platform HSP 
LINE Game 의 시작은 
1. 한게임 스마트폰 플랫폼이었습니다. 
2. Pokopang 을 비롯해서 훌륭한 게임들의 
동시접속자가 100 만이 넘게 서비스 할 수 있는 
...
LINE Game Platform Phase1 
글로벌 대응을 위한 첫번째 작업 
1. RTT 를 최소화해서 로그인등의 속도를 높이고, 
2. 기본적으로 최소한의 필요한 기능만을 새로 만들었습니다. 
그러다보니, API...
LINE Game Platform Phase2 
글로벌 테스트 결과가 적용되기 시작한 Phase2에서는 
1. 네트워크 반응성을 높이기 위한 3G Warm Up 을 적용하거나, 
2. Round Trip 회수를 줄이기 ...
3G Warm UP 
네트워크의 반응성을 높이기 위한 대책 
1. 대기 상태의 3G 모듈을 Active 상태로 두어 네트워크의 반응성을 높 
임 
2. 원리는 간단합니다. 
일어날때까지 때리기 
잘못 사용하면 
밧데리가...
Merge API 
Round Trip 회수를 줄이기 위한 대책 
1. Round Trip Time 을 줄이는 것은 매우 힘들거나 불가능합니다. 
2. 그러나 요청 회수를 줄일 수는 있습니다. 
3. 몇 가지 관련 내용...
Client Caching 
모든 데이터를 Client 에 저장하기 시작했습니다. 
1. 보안과 관계없는 유저 Profile, 친구리스트, 랭킹 리스트들과 
2. 서버 접속 수치 등 서버에서 받아와야 하나 재사용가능한 ...
LINE Game Platform Phase3 
최종 목적지 
1. Front Proxy 
2. Cloud 
3. Client Network Library 
• Caching 
• Packet Analysis 
• Pr...
LINE Global POP 
Frankfurt Beijing New York 
Seoul 
Tokyo 
HK 
Singapore 
POP 구성없는 게임 서비스는 태국이 한계 
Front Server 대응 후는 전세계가...
LINE Game Test Process 
• Low Spec Device Test 
• Low Speed Network Test 
• 각 오피스의 원격 테스트용 Android 
• Local Office Test (T...
Additional… 
Communication Problem 
1. 글로벌의 가장 큰 문제는 사실 Communication이에요. 
2. 제가 일하는 사람의 국적은 
한국, 일본, 중국, 태국, 대만, 프랑스, 미국이...
KGC 2014 Hwang Seonpill Line Game Global
You’ve finished this document.
Download and read it offline.
Upcoming SlideShare
인턴실1주차 실습과제 박보람
Next
Upcoming SlideShare
인턴실1주차 실습과제 박보람
Next
Download to read offline and view in fullscreen.

47

Share

KGC 2014 Hwang Seonpill Line Game Global

Download to read offline

Line Game Global in KGC 2014

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

KGC 2014 Hwang Seonpill Line Game Global

  1. 1. LINE Game Global 도전기 Hwang Seonpill LINE Corp.
  2. 2. 들어가는 말
  3. 3. 글로벌 업무를 진행하면서 가장 많이 받는 질문 1. 어떤 디바이스를 대응하면 되나요? 2. 그 디바이스는 점유율이 얼마에요? 묻고 싶습니다. 몇% 까지 알아보셨어요 ? 1. 저도 잘 모르고, 2. 태국사람도 몰라요. 3. Carrier 도 잘 모를꺼고, 4. 용산에서 파는 분도 모릅니다
  4. 4. 거꾸로 생각해보면 저런 류의 질문이 많다는 사실은 1. 글로벌 대응이 특정 디바이스를 대응하는 것이다? 2. S 사의 G 가 인기가 많다던데 여기서만 잘 돌아가면 되는걸까? 3. 정말 S 사의 G 가 인기가 많은건 맞는 걸까? 10 명 중에 9 명은 이렇게 시작하는 글로벌 그럼 글로벌 서비스를 위해서는 도대체 무엇을 준비해야 하는 걸 까요 ?
  5. 5. 라인의 글로벌 라인이 1. 글로벌의 정답은 아닙니다. 2. 글로벌하게 잘 하고 있는 것도 아니고 3. 글로벌 문제를 잘 해결한 것은 더더욱 아닙니다. 라인도 1. 문제 생기면 우왕 좌왕합니다. 2. 큰 조직에서 발생한 과도한 정보로 더욱 혼란스러운 상황이 발생하곤 했습니다. 3. 큰 그림을 보지 못했고 작은 이슈들의 임기 응변의 연속이었습니다.
  6. 6. 이 강연은 라인이 겪었던 시행착오를 비롯한 글로벌의 경험 공유를 목표로 합니다 . 대부분의 문제는 현재 진행중이고, 해결을 위해 노력 중입니다. 라인도 아직 대부분 해결 못했어요 .
  7. 7. 여러가지 문제들
  8. 8. Device Fragmentation 그럼 정말 몇 % 까지 알아 보셨어요 ? Indonesia Rank Brand Name USD 2013 3 13 Percentage 1 SAMSUNG E 1205 18 144,586 5.08 2 BLACKBERRY CURVE 9220 181 133,548 4.69 3 SAMSUNG GALAXY Y S 5360 99 108,644 3.82 4 BLACKBERRY CURVE 9320 235 97,420 3.42 5 SAMSUNG E 1195 29 96,959 3.41 6 NOKIA 103 21 92,852 3.26 7 NOKIA 100 26 68,127 2.39 8 SAMSUNG C 3322 52 57,678 2.03 9 NOKIA ASHA 305 85 54,769 1.92 10 NOKIA 101 32 54,495 1.91 11 SAMSUNG GALAXY CHAT B 5330 129 53,471 1.88
  9. 9. Device Fragmentation 그래도 S 사가 최고였어요 . 점유율 1.88% 밖에 안되고 점유율 3.82% 밖에 안되도 내가 제일 잘 나가
  10. 10. Device Fragmentation 잠깐만요 이게 점유율이라구요? 그럼 어디까지 대응해야해요 ? 1. 1 등 디바이스가 4~5% 에 불과합니다. 2. 상위 20 위까지 디바이스의 점유율 합이 50% 미만이지요. 3. 그럼 글로벌 디바이스를 대응하기 위해서 국가별로 디바이스 20 대를 사서 테스트해야 하나요? 4. 이런 방법은 현실적이지 않습니다. 하지만 라인도 이런 비현실적인 방법을 쓰기도 했습니다 .
  11. 11. Device Fragmentation 이런 스마트폰도 있습니다. Galaxy Y Dimensions 104 x 58 x 11.5 mm Internal Storage 180MB Weight 97.5 g RAM 290MB Android 2.3.5 CPU 830MHz ARMv6 LINE Game 은 공식적으로 ARMv6 CPU를 지원하지 않았지만… 지원해야하는 이슈가 발생합니다 . 참고 iPhone 3 : 2008 년 armv6 iPhone 3GS : 2009 년 armv7
  12. 12. Device Fragmentation • 한국의 파편화는 글로벌 시장에 비해 매우 양호합니다. • 디바이스 파편화를 특정 디바이스를 테스트해서 해결하기는 쉽지 않습니다. • 클라이언트의 덤프 수집 , 통계 시스템을 구축하여 문제를 빨리 발견 하는 것이 효율적일 수 있습니다.
  13. 13. Low Spec Devices 왜죠? 왜 하필 대표님 스마트폰인가요? 언제나 게임을 오픈하면 1. 대표님, 이사님 스마트폰만 문제가 생깁니다. 2. 저장 용량이 거의 남아있지 않은 iPhone4 를 쓰고 계신 대표님. 용량 부족으로 OS 업그레이드도 잘 안됩니다. 대표님 돈도 많이 버시는데 6+ 로 하나 사시면 안되겠습니까? 3. 개발자들의 진정한 복지는 대표님의 iPhone 6+으로부터 실장님 대표님 댁에 iPhone 6+ 놔드려야 겠어요 . 그런데 바꿔드리고 그 스마트폰 버리시면 안됩니다 . 그렇게 문제가 잘 발생하는 테스트폰도 구하기 힘듭니다 .
  14. 14. Low Spec Devices 다시 등장한 S 사의 Y디바이스 점유율 3.82% 밖에 안되도 Armv6 CPU라도 동남아 서비스를 위해서 Galaxy Y 가 꼭 지원되 동남아 서비스를 위해서 Galaxy Y 가 꼭 지원되 야 합니다. 야 합니다. LINE Plus 이모씨
  15. 15. Armv6는 Low Spec Devices 1. 2008년 iPhone 3의 CPU가 Armv6 호환 CPU였습니다. 2. 2009년 iPhone 3Gs의 CPU는 Armv7호환 CPU였습니다. 3. 2013년 동남아 저가 디바이스 시장의 주역이었습니다. HDD는 2TB, 그래픽 카드는 온보드인 조립 PC를 아시나 요 ? 1. 저가 시장에는 이런 형태의 디바이스가 꽤 있습니다. 2. 싼 부품의 스펙을 높이고 고가 부품의 성능을 낮춘 형태입니다. 3. 전체가 스펙이 낮은 경우보다 문제를 해결하기 더 힘든 경우가 있습니다. 아니 최신형 4.5 인치 스마트폰을 샀는데 왜 이 게임은 안되는겁니까 ? Memory 100MB, CPU ARMV6니까요.
  16. 16. Low Spec Devices • Armv6 는 제작툴에서 지원하지 않는 경우가 있습니다 . • 게임의 CPU, Memory, Storage 제한은 확인해봅시다 . • 저 사양 Devices 는 설치 단계에서 많이 실패합니다 . • 저 사양 디바이스의 대응은 시간이 매우 많이 걸립니다. • 대응 디바이스의 사양을 제한할 필요도 있습니다. • 하지만 대응 사양은 명확해야 합니다.
  17. 17. Low Quality Network 예 비행기안인데 안되신다구요? 1. 김과장 비행기에서 안된데 2. 이대리 여기 사우나인데 안되는데? 3. 박차장 후지산 정상인데 안테나는 잡히는데 왜 안되? 4. 사장님들 출장 많이 다니시니 게임이 안되는 경험도 많습니다. 출장도 안가시는게 개발자 복지에 좋을것 같습니다 . But, 진짜 생각하지 못한 장소에도 유저들이 있습니다 .
  18. 18. Low Quality Network Network Available 인데 1. GPRS, Edge, 3G, 3G+, 4G, LTE and Airplane WiFi 등 우리 생각보다 훨씬 다양한 네트워크 환경이 존재합니다. 2. 이런 다양한 네트워크 환경사이에 잦은 handover 로 인해 예상치 못한 문제가 발생하고, 3. 언제 올지 모르는 Response 를 기다리거나, 너무 빨리 Connection Timeout 해버리는 문제가 발생합니다. 4. 현실적으로 이런 모든 상황을 대응하기는 어렵습니다. 가장 해결하기 어려운 문제 : 안테나는 떠 있는데 안돼 .
  19. 19. Low Quality Network 전 세계에 안테나를 꽂는게 빠를겁니다. 1. 농담으로 던진 이 한마디가 2. 태국에서는 현실이 되었습니다. 3. 3G 와 Edge 가 기본이던 네트워크 환경이 4. 1년만에 3G 와 4G 환경으로 변했습니다. But, 그 외의 국가라면 1. SPDY 등의 Protocol 로 변경을 고려해보거나, 2. More Light More Efficiency Protocol 을 목표로 전체 Request, Response 를 재설계하거나, 3. Round Trip 자체를 줄이는 등의 노력이 필요합니다. RTT 가 느리다는 것을 고려하지 않고 설계된 Request, Response는 문제가 생깁니다 .
  20. 20. Low Quality Network Decreasing Round Trip 1. 저품질 네트워크의 가장 큰 문제는 긴 Round Trip Time입니다. 2. Round Trip Time 을 줄이는 것은 불가능합니다. 3. 하지만 Round Trip 의 회수를 줄일 수는 있습니다. 4. 필요없는 Request 가 있는지 게임의 Flow 를 점검해야 합니다. 5. 한번에 보낼 수 있는 Request 는 하나로 합칩니다. (Merging)
  21. 21. Low Quality Network Network Link Conditioner 1. Uplink, Downlink 의 Network Delay, Bandwidth 를 강제로 고정시켜서 Low Quality Network 환경을 만들어 줍니다. 2. Delay 의 경우 정확도가 떨어지므로, Ping 등을 이용하여 오차를 수정한 후 사용해야 합니다. 3. LINE 내부에서는 Delay 설정의 정확도 문제로 별도 툴을 자체 개발해서 사용합니다. 하지만 매우 좋은 툴입니다 !!
  22. 22. Low Quality Network • “No Network” is better than “Available but Low Quality Network” • “Available but Low Quality Network” is more than “No Network” • Connection Timeout, Read Timeout • Decreasing Round Trip Time • Apple 에서 제공하는 Network Link Conditioner 는 Low Quality Network 테스트에 큰 도움이 됩니다 .
  23. 23. Data Synchronization Smartphone Game의 Data 처리는 1. Online PC Game보다 2. Console Game 의 저장 방식과 비슷합니다. Online PC Game : 다른 유저와의 상호작용 중요 , 즉시 데이터 갱신 필요 Smart Phone, Console : 다른 유저와의 상호작용이 실시간으로 필요하지 않음. 나의 랭킹 데이터는 30 초 후 쯤에 랭킹 리스트에 갱신되도 OK
  24. 24. Data Synchronization 대부분의 경우 실시간으로 서버와 동기화를 할 필요는 없습니다. 데이터 연동은 게임 시작 시 데이터는 클라이언트에 가지고 있는 데이터로 시작해도 됩니다. 게임 종료, 기록은 나중에 보고해도 됩니다. 데이터의 흐름에 맞춘 게임보다 , 유저 편의에 맞춘 데이터 흐름 하지만 한국산 게임은 온라인 게임의 데이터 흐름 그대로인 경우가 많습니다 .
  25. 25. Data Synchronization First OK 1. 데이터 갱신이 필요한 경우 2. 클라이언트에 저장하고 그냥 게임 진행하자. 3. 10~20 초 후 랭킹이 갱신된다고 내가 게임을 못하지 않는다. Last Synchronization 1. Background 에서 갱신을 하거나 2. Data 를 모아서 한번에 갱신을 하거나 3. Binary File 형태로 업로드 하거나 중요하지 않은 데이터를 처리하기 위해 유저의 동작을 Block 하지 맙시다 !!!!
  26. 26. Data Synchronization Client Security and Business Model 1. Client 에 저장된 Data 는 언젠가는 공격자에게 뚫립니다. 2. Client 에 Play log 도 같이 저장해서 서버에서 Play log 를 재검증 하거 나 3. Business Model 자체를 클라이언트의 보안과 관련없게 만들거나 4. Offline 모드를 별도로 제공하는 방법도 있습니다. Nintendo 도 당하고 Elf 도 당하고
  27. 27. Data Synchronization • Smart phone Game 의 Data Sync 는 Console 과 닮았다 . • First OK, Last Synchronization • Client Security 처리가 중요하다 . • 하지만 Client는 무력화 된다는 것을 전제로 Business Model 을 만들자 .
  28. 28. CDN Download Big size image from CDN 1. 대한민국의 인터넷 환경, 특히 스마트폰 네트워크 환경은 전세계 최고 2. 대한민국의 스마트폰 개발자 분중에 “일부”는 파일 사이즈에 너무 관대합니다. Name Download Speed Download Speed 2.5Mbyte files download GPRS 80Kbit/s 10Kbyte/s 250sec EDGE 200Kbit/s 25Kbyte/s 100sec 3G CDMA2000 2Mbit/s 250Kbyte/s 10sec HAPS+ 20Mbit/s 2500Kbyte/s 1sec LTE 100Mbit/s 12500Kbyte/s 0.2sec 스펙상의 수치입니다 . 실제 환경은 더욱 열악합니다 .
  29. 29. CDN Download Delete Redundant Files 1. 중복 파일을 관리해야해요. 2. 중복되는 파일이 없도록 파일단위로 관리하고, 같은 숫자면 하나의 파일로 압축 후 전송합시다. 압축명 파일명 FILE1.zip Abcde.jpg -> 이전 파일에서 삭제할 수 있도록 파일 단위 관리 방법을 고민합시다 . FILE1.zip 12345.jpg FILE1.zip Qwert.jpg FILE2.zip Abcde_edited.jpg FILE2.zip 67890.jpg FILE2.zip Zxcvb.jpg
  30. 30. CDN Download CDN Request 는 최대한 적게 1. Round Trip Time 은 CDN Download 에서도 큰 장애가 됩니다. 2. Keep Alive 나 다른 해결 방식도 존재하지만, 가장 기본적인 해결 방식은 파일 숫자를 줄이는 것입니다. 파일명 파일 사이즈 Download 시간 (A) RTT (B) A+B File1.jpg 1Kbyte 100ms 200ms 300ms File2.jpg 1Kbyte 100ms 200ms 300ms File3.jpg 1Kbyte 100ms 200ms 300ms File4.jpg 1Kbyte 100ms 200ms 300ms File5.jpg 1Kbyte 100ms 200ms 300ms File1_5.zip 5Kbyte 500ms 200ms 700ms
  31. 31. CDN Download Low Resolution Image File 을 준비합시다 . 1. Device 의 종류에 따라서 2~3 가지 Resolution 의 Image 파일을 준비 합시다. 2. 최대 사이즈의 Image 를 일정 배율로 사이즈를 줄여서 준비하면, 작업의 시간을 줄일 수 있을지도 모릅니다. 3. 당연히 Location문제나, 디자인 퀄리티 등이 문제 될수 있습니다. 하지만 게임이 안되는 것보다는 나아요 . 다시 등장한 점유율 3.82% 나는 1280x1024 의 이미지를 설치할 메모리가 없어요.
  32. 32. CDN Download • 파일 갯수를 줄이고 • 파일 사이즈를 줄이고 • 중복 파일은 꼭 골라냅시다.
  33. 33. SIM Card 한국과 일본의 SIM Card는 1. 개인정보가 담긴 소중한 것 것입니다. 2. 2 년에 한번 또는 더 오랜 기간 사용 후 가끔 교체합니다. 3. 그래서 SIM Card 에서 예외 사항이 발생하는 경우는 매우 드물어요. 한국과 일본의 SIM Card 의 정보는 유저별로 Unique 한 구분자가 될 수 있습니다.
  34. 34. SIM Card 하지만 그렇지 않은 나라가 대부분입니다. 1. SIM Card 는 언제나 바꿀 수 있는 것이고, 2. 프로모션에 따라 바로 바로 바꿔 쓰기도 하고 3. Data 용 SIM 과 통화용 SIM 을 동시에 사용하기도 합니다. (Dual SIM Slot) Dual SIM Slot 1. SIM Card 정보로 이벤트, 지표 등을 생성할 때는 꼭 Dual SIM Card 에 대한 대책이 필요합니다. 2. 하지만, Google 의 공식 API 는 존재하지 않습니다. 3. 각 Device 제조사로부터의 API 만 존재합니다. 현재까지 공식적으로 Dual SIM Card Slot 의 정보를 효율적으로 취득할 수 있는 방법은 없어 보입니다 .
  35. 35. SIM Card MCCMNC 1. 유저의 국가를 구분할 때는 MCCMNC 를 사용하세요. Mobile Country Code / Mobile Network Code 2. ISO 3166 로 추출하는 코드보다 효율적으로 국가와 캐리어를 구분할 수 있습니다. 3. 특히 Carrier 정보는 MNC 를 사용해야 정확히 추출 가능합니다. EX) LG vs LGT vs LG Telecom MCC MNC Operators Bands 450 05 SK CDMA2000 800 / UMTS 2100 / LTE 850 / LTE 1800 450 06 LG CDMA2000 1700 / LTE 850 2100 2600 450 08 KT UMTS 2100 / LTE 900 / LTE 1800 450 11 Korea Cable Telecom(t-plus), Eco-mobile UMTS 2100
  36. 36. SIM Card 태국인의 30% 가 미국인 1. 일본 서비스에서는 전혀 문제가 없었는데, 2. 태국 서비스 오픈 이후 태국 매출의 30% 가 미국인에 의해서 발생하고 있습니다. Dual SIM, Device 설정 1. LINE 게임의 국가 결정 순위는 SIM Card 의 국가 설정(ISO) 이 1순위 입니다. 2. SIM Card 에서 취득이 실패하면 디바이스의 Location 이 2 순위 입니다 . 3. 동남아에서는 디바이스의 언어 설정을 영어로 해두는 경우가 상당히 많습니다. 그래서 LINE 게임 유저는 SIM Card 의 국가 정보 취득이 실패하면 국가 정보가 미국으로 보고되는 경우가 많습니다 .
  37. 37. Dual SIM Device • SIM Card 의 정보 이용은 신중해야 합니다 . • Dual SIM Card 의 정보를 효율적으로 컨트롤할 수 있는 Google 의 API 는 존재하지 않습니다 . • 국가 코드 취득 기준은 MCCMNC가 관리하기 편합니다.
  38. 38. Abusing Global Platform은 1. Global Economic System 이라고 정의하신 분이 있습니다. 2. 클라이언트에서는 저장되어있는 값을 찾아서 하나씩 수정해나가거나 Client memory modify 3. 공격자 마음대로 하도록 아에 클라이언트를 새로 만들고 Client reverse engineering and resigning 4. 패킷을 분석하고, 재사용하고, 변조하는 등 Packet analysis, reuse, modify 5. 우리가 알고 있는 모든 어뷰징 방식이 총 동원됩니다. Global Economic System Global Economic System
  39. 39. Abusing • 알려진 모든 형태의 Abusing 에 대한 기본적인 대응이 필요합니다. • 하지만 모든 Abusing 을 피할 수 없습니다. • 상세한 유저 패턴의 저장 , 분석, CS 대응이 필요합니다 .
  40. 40. User Pattern Analysis 새로운 앱 릴리즈 후 발생하는 문제는 1. Key Word 만 알아도 문제 해결에 많은 도움이 됩니다. 2. 하지만 수많은 Comment 를 모두 분석해서 해결하는 것은 생각보다 시간이 걸리는 작업이에요. 3. Key Word 분석 만으로도 Abusing, Crash, Bug 등 다양한 분야를 대응하는데 유용합니다. 4. 일부 서비스에 적용되어 있으며 라인 게임은 준비 중에 있습니다.
  41. 41. Length of Currency 환율이 너무해 1. 모 게임에서 인도네시아에서 결제가 안된다는 문의가 들어왔습니다. 2. 개발자들과 조사를 해봤지만, 인도네시아에서만 안될 이유는 없었습니 다. 3. 현지의 비전문가 인력에게 클라이언트 전달 후 로그 추출을 반복하다보 니 원인 확인에도 많은 시간이 걸렸습니다. 4. 문제는 99.99$=1,205,196IDR 5. 베트남에서도 같은 문제가 발생했을 겁니다. 너무 바보같은 실수 아니냐고요 ? 한국에서온 2 개의 게임에서 발생했고 , 둘다 Major 개발사 였습니다 .
  42. 42. Carrier 불변의 진리 Carrier사 1. KT 는 진리, SKT 는 진리, 불변의 법칙 그 이름은 한국 Carrier입니다 . 2. 그리고, 3G, 4G 의 셀룰러 망은 믿을만한 네트워크라고 생각했습니다. 하지만, 아니었습니다. 1. 임의로 헤더 고쳐쓰고, 데이터 변경하고 (Softbank) 2. 버그로 패킷 잘리고 (Starhub) 대체로 1. Carrier 의 문제를 직접해결할 수는 없는 경우가 많지만 2. 도저히 해결의 실마리가 안잡히는 네트워크 관련 문제는 Carrier 가 문제일 가능성에 대해서도 테스트해볼 필요가 있습니다.
  43. 43. 그러나 이런 문제들 • 다 라인 때문이다. • 모두 라인탓이고, 해결해야죠. • 해결하려고 시작했습니다.
  44. 44. 라인은 이렇게 바뀌어 왔습니다
  45. 45. LINE Game Platform HSP LINE Game 의 시작은 1. 한게임 스마트폰 플랫폼이었습니다. 2. Pokopang 을 비롯해서 훌륭한 게임들의 동시접속자가 100 만이 넘게 서비스 할 수 있는 훌륭한 플랫폼입니다. 3. 하지만, 당시에는 국내용이었습니다. (과거형입니다. 화내지마세요 ^^;) 4. 한게임, 라인 모두 글로벌 대응이 필요한 상황이었습니다. 5. 그리고 TOAST 와 LINE GAME Platform 으로 각각 글로벌 대응을 진행했습니다.
  46. 46. LINE Game Platform Phase1 글로벌 대응을 위한 첫번째 작업 1. RTT 를 최소화해서 로그인등의 속도를 높이고, 2. 기본적으로 최소한의 필요한 기능만을 새로 만들었습니다. 그러다보니, API 의 간소화라고는 했는데 1. 아무것도 없었습니다. 2. 정말 아무것도없었어요. 3. API 몇개 주고 개발사가 모두 만들어야 하는 정도였습니다. 4. 그래서 사용한 개발사가 하나뿐…
  47. 47. LINE Game Platform Phase2 글로벌 테스트 결과가 적용되기 시작한 Phase2에서는 1. 네트워크 반응성을 높이기 위한 3G Warm Up 을 적용하거나, 2. Round Trip 회수를 줄이기 위한 Merge API 를 적용하거나 3. 데이터를 클라이언트에 캐싱해서 저사양 네트워크를 대응하였습니다. 또한 API 의 사용성을 높히기 위해서 1. API 의 소스를 정리하고 2. 로그인의 API 를 간소화하고 3. 기타 라인 채널의 API 들에 캐싱이 추가되었습니다.
  48. 48. 3G Warm UP 네트워크의 반응성을 높이기 위한 대책 1. 대기 상태의 3G 모듈을 Active 상태로 두어 네트워크의 반응성을 높 임 2. 원리는 간단합니다. 일어날때까지 때리기 잘못 사용하면 밧데리가 매우 빨리 소비됩니다 .
  49. 49. Merge API Round Trip 회수를 줄이기 위한 대책 1. Round Trip Time 을 줄이는 것은 매우 힘들거나 불가능합니다. 2. 그러나 요청 회수를 줄일 수는 있습니다. 3. 몇 가지 관련 내용을 하나로 묶어서 Request하거나 4. 전혀 별개의 API 라도 하나로 묶을 수 있는 Merge API 를 추가했습니 다. Merge API 적용으로 최초 로그인 시 적용전보다 3 배 정도 빠르게 로그인이 가능해졌습니다 .
  50. 50. Client Caching 모든 데이터를 Client 에 저장하기 시작했습니다. 1. 보안과 관계없는 유저 Profile, 친구리스트, 랭킹 리스트들과 2. 서버 접속 수치 등 서버에서 받아와야 하나 재사용가능한 값들을 모두 Client 에 저장하기 시작했습니다. 3. 그 결과 첫로그인 이후에 로그인의 결과값은 실시간으로 받아지고 로그인 결과값에 문제가 있는 경우에만 예외처리를 진행하게 됩니다 First OK, Last Synchronization Client Caching 적용으로 최초 로그인 이후의 로그인은 거의 실시간으로 결과를 받아올 수 있게 되었습니다 .
  51. 51. LINE Game Platform Phase3 최종 목적지 1. Front Proxy 2. Cloud 3. Client Network Library • Caching • Packet Analysis • Protocol Optimization 1. User Pattern Analysis 2. User Environment Analysis 3. CDN Download File Packing System
  52. 52. LINE Global POP Frankfurt Beijing New York Seoul Tokyo HK Singapore POP 구성없는 게임 서비스는 태국이 한계 Front Server 대응 후는 전세계가 목표
  53. 53. LINE Game Test Process • Low Spec Device Test • Low Speed Network Test • 각 오피스의 원격 테스트용 Android • Local Office Test (Taiwan, Thailand, Indonesia)
  54. 54. Additional… Communication Problem 1. 글로벌의 가장 큰 문제는 사실 Communication이에요. 2. 제가 일하는 사람의 국적은 한국, 일본, 중국, 태국, 대만, 프랑스, 미국이에요. 3. 다른 문화 다른 생각 , A 를 말하면 모두 다르게 생각해요 A, a, Apple, Android, A학점… 4. 요청과 원하는 결과의 형태를 정확한 기술용어를 사용하여 직관적으로 기술해야 합니다. 나에겐 당연한 영어 약어를 미국인이 모를수도있어요. 5. “플레이해보고 결과 주세요”라는 요청에 답을 줄 수 있는 사람은 한국 사람 뿐 이에요. 한국인의 종특일지도 모릅니다. 정확한 테스트 방법과 원하는 테스트 결과를 작성해서 줘야 합니다. 6. 한국어를 하는 외국인은 한국 사람이 아니에요. 그들은 직접 얘기하고 부연 설명하지 않으면 당신이 뭘 원하는지 모릅니다. 7. 이렇게 얘기하면 이해하겠지라는 생각이 있으면, 상대방은 이해하지 못했어요. 이해시키고 싶은 내용을 직접 설명해야해요.
  • JinsooJung2

    Sep. 5, 2015
  • ssuserd543f0

    Aug. 9, 2015
  • yulgoo

    Jun. 1, 2015
  • dmk530

    May. 12, 2015
  • ssuserd552f2

    May. 8, 2015
  • YoungHoKim11

    Apr. 27, 2015
  • yophappy

    Mar. 23, 2015
  • juseungho

    Feb. 16, 2015
  • pporori2000

    Feb. 13, 2015
  • chanwiepark

    Jan. 28, 2015
  • ssuser5247f5

    Jan. 16, 2015
  • amoogi

    Jan. 15, 2015
  • junyoungpark21

    Jan. 13, 2015
  • feverstudio

    Jan. 11, 2015
  • kimwil7

    Jan. 8, 2015
  • ibranding2

    Jan. 8, 2015
  • seungyuljang

    Jan. 8, 2015
  • jaewonoh9469

    Dec. 16, 2014
  • JaekwanKim

    Nov. 20, 2014
  • knight26h

    Nov. 19, 2014

Line Game Global in KGC 2014

Views

Total views

4,124

On Slideshare

0

From embeds

0

Number of embeds

80

Actions

Downloads

143

Shares

0

Comments

0

Likes

47

×