kgc 2014 hwang seonpill line game global

55
LINE Game Global 도전기 Hwang Seonpill LINE Corp.

Upload: seonpill-hwang

Post on 08-Jul-2015

2.631 views

Category:

Mobile


1 download

DESCRIPTION

Line Game Global in KGC 2014

TRANSCRIPT

Page 1: KGC 2014 Hwang Seonpill Line Game Global

LINE GameGlobal 도전기

Hwang Seonpill

LINE Corp.

Page 2: KGC 2014 Hwang Seonpill Line Game Global

들어가는 말

Page 3: KGC 2014 Hwang Seonpill Line Game Global

글로벌 업무를 진행하면서

가장 많이 받는 질문1. 어떤 디바이스를 대응하면 되나요 ?

2. 그 디바이스는 점유율이 얼마에요 ?

묻고 싶습니다 . 몇 % 까지 알아보셨어요 ?1. 저도 잘 모르고 ,

2. 태국사람도 몰라요 .

3. Carrier 도 잘 모를꺼고 ,

4. 용산에서 파는 분도 모릅니다

Page 4: KGC 2014 Hwang Seonpill Line Game Global

거꾸로 생각해보면

저런 류의 질문이 많다는 사실은1. 글로벌 대응이 특정 디바이스를 대응하는 것이다 ?

2. S 사의 G 가 인기가 많다던데 여기서만 잘 돌아가면 되는걸까 ?

3. 정말 S 사의 G 가 인기가 많은건 맞는 걸까 ?

10 명 중에 9 명은 이렇게 시작하는 글로벌

그럼 글로벌 서비스를 위해서는 도대체 무엇을 준비해야 하는 걸 까요 ?

Page 5: KGC 2014 Hwang Seonpill Line Game Global

라인의 글로벌

라인이1. 글로벌의 정답은 아닙니다 .

2. 글로벌하게 잘 하고 있는 것도 아니고3. 글로벌 문제를 잘 해결한 것은 더더욱 아닙니다 .

라인도1. 문제 생기면 우왕 좌왕합니다 .

2. 큰 조직에서 발생한 과도한 정보로더욱 혼란스러운 상황이 발생하곤 했습니다 .

3. 큰 그림을 보지 못했고 작은 이슈들의 임기 응변의 연속이었습니다 .

Page 6: KGC 2014 Hwang Seonpill Line Game Global

이 강연은

라인이 겪었던 시행착오를 비롯한 글로벌의 경험 공유를 목표로 합니다 .

대부분의 문제는 현재 진행중이고 , 해결을 위해 노력 중입니다 .

라인도 아직 대부분 해결 못했어요 .

Page 7: KGC 2014 Hwang Seonpill Line Game Global

여러가지 문제들

Page 8: KGC 2014 Hwang Seonpill Line Game Global

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

Page 9: KGC 2014 Hwang Seonpill Line Game Global

그래도 S 사가 최고였어요 .

Device Fragmentation

점유율 1.88% 밖에 안되고

점유율 3.82%밖에 안되도 내가 제일 잘 나가

Page 10: KGC 2014 Hwang Seonpill Line Game Global

Device Fragmentation

잠깐만요 이게 점유율이라구요 ? 그럼 어디까지 대응해야해요 ?

1. 1 등 디바이스가 4~5% 에 불과합니다 .

2. 상위 20 위까지 디바이스의 점유율 합이 50% 미만이지요 .

3. 그럼 글로벌 디바이스를 대응하기 위해서국가별로 디바이스 20 대를 사서 테스트해야 하나요 ?

4. 이런 방법은 현실적이지 않습니다 .

하지만라인도 이런 비현실적인 방법을 쓰기도 했습니다 .

Page 11: KGC 2014 Hwang Seonpill Line Game Global

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

참고iPhone 3 : 2008 년 armv6iPhone 3GS : 2009 년 armv7

LINE Game 은 공식적으로 ARMv6 CPU 를 지원하지 않았지만…지원해야하는 이슈가 발생합니다 .

Page 12: KGC 2014 Hwang Seonpill Line Game Global

Device Fragmentation

• 한국의 파편화는 글로벌 시장에 비해 매우 양호합니다 .• 디바이스 파편화를 특정 디바이스를 테스트해서

해결하기는 쉽지 않습니다 .• 클라이언트의 덤프 수집 , 통계 시스템을 구축하여

문제를 빨리 발견 하는 것이 효율적일 수 있습니다 .

Page 13: KGC 2014 Hwang Seonpill Line Game Global

Low Spec Devices

왜죠 ? 왜 하필 대표님 스마트폰인가요 ?언제나 게임을 오픈하면1. 대표님 , 이사님 스마트폰만 문제가 생깁니다 .

2. 저장 용량이 거의 남아있지 않은 iPhone4 를 쓰고 계신 대표님 .용량 부족으로 OS 업그레이드도 잘 안됩니다 . 대표님 돈도 많이 버시는데 6+ 로 하나 사시면 안되겠습니까 ?

3. 개발자들의 진정한 복지는 대표님의 iPhone 6+ 으로부터

그런데 바꿔드리고그 스마트폰 버리시면 안됩니다 .그렇게 문제가 잘 발생하는 테스트폰도 구하기 힘듭니다 .

실장님 대표님 댁에 iPhone 6+ 놔드려야 겠어요 .

Page 14: KGC 2014 Hwang Seonpill Line Game Global

다시 등장한 S 사의 Y 디바이스

Low Spec Devices

점유율 3.82% 밖에 안되도Armv6 CPU 라도

동남아 서비스를 위해서Galaxy Y 가 꼭 지원되

야합니다 .

동남아 서비스를 위해서Galaxy Y 가 꼭 지원되

야합니다 .

LINE Plus 이모씨

Page 15: KGC 2014 Hwang Seonpill Line Game Global

Armv6 는1. 2008 년 iPhone 3 의 CPU 가 Armv6 호환 CPU였습니다 .

2. 2009 년 iPhone 3Gs 의 CPU 는 Armv7 호환 CPU였습니다 .

3. 2013 년 동남아 저가 디바이스 시장의 주역이었습니다 .

HDD 는 2TB, 그래픽 카드는 온보드인 조립 PC 를 아시나요 ?

1. 저가 시장에는 이런 형태의 디바이스가 꽤 있습니다 .

2. 싼 부품의 스펙을 높이고 고가 부품의 성능을 낮춘 형태입니다 .

3. 전체가 스펙이 낮은 경우보다 문제를 해결하기 더 힘든 경우가 있습니다 .

Low Spec Devices

아니 최신형 4.5 인치 스마트폰을 샀는데왜 이 게임은 안되는겁니까 ? Memory 100MB, CPU ARMV6 니까요 .

Page 16: KGC 2014 Hwang Seonpill Line Game Global

Low Spec Devices

• Armv6 는 제작툴에서 지원하지 않는 경우가 있습니다 .• 게임의 CPU, Memory, Storage 제한은 확인해봅시다 .• 저 사양 Devices 는 설치 단계에서 많이 실패합니다 .• 저 사양 디바이스의 대응은 시간이 매우 많이 걸립니다 . • 대응 디바이스의 사양을 제한할 필요도 있습니다 .• 하지만 대응 사양은 명확해야 합니다 .

Page 17: KGC 2014 Hwang Seonpill Line Game Global

예 비행기안인데 안되신다구요 ?1. 김과장 비행기에서 안된데2. 이대리 여기 사우나인데 안되는데 ?

3. 박차장 후지산 정상인데 안테나는 잡히는데 왜 안되 ?

4. 사장님들 출장 많이 다니시니 게임이 안되는 경험도 많습니다 .

출장도 안가시는게 개발자 복지에 좋을것 같습니다 .

But, 진짜 생각하지 못한 장소에도 유저들이 있습니다 .

Low Quality Network

Page 18: KGC 2014 Hwang Seonpill Line Game Global

Low Quality Network

Network Available 인데1. GPRS, Edge, 3G, 3G+, 4G, LTE and Airplane WiFi 등

우리 생각보다 훨씬 다양한 네트워크 환경이 존재합니다 .

2. 이런 다양한 네트워크 환경사이에 잦은 handover 로 인해예상치 못한 문제가 발생하고 ,

3. 언제 올지 모르는 Response 를 기다리거나 ,너무 빨리 Connection Timeout 해버리는 문제가 발생합니다 .

4. 현실적으로 이런 모든 상황을 대응하기는 어렵습니다 .

가장 해결하기 어려운 문제 : 안테나는 떠 있는데 안돼 .

Page 19: KGC 2014 Hwang Seonpill Line Game Global

전 세계에 안테나를 꽂는게 빠를겁니다 .1. 농담으로 던진 이 한마디가 2. 태국에서는 현실이 되었습니다 .

3. 3G 와 Edge 가 기본이던 네트워크 환경이 4. 1 년만에 3G 와 4G 환경으로 변했습니다 .

But, 그 외의 국가라면1. SPDY 등의 Protocol 로 변경을 고려해보거나 ,

2. More Light More Efficiency Protocol 을 목표로 전체 Request, Response 를 재설계하거나 ,

3. Round Trip 자체를 줄이는 등의 노력이 필요합니다 .

Low Quality Network

RTT 가 느리다는 것을 고려하지 않고 설계된 Request, Response 는문제가 생깁니다 .

Page 20: KGC 2014 Hwang Seonpill Line Game Global

Decreasing Round Trip1. 저품질 네트워크의 가장 큰 문제는 긴 Round Trip Time 입니다 .

2. Round Trip Time 을 줄이는 것은 불가능합니다 .

3. 하지만 Round Trip 의 회수를 줄일 수는 있습니다 .

4. 필요없는 Request 가 있는지 게임의 Flow 를 점검해야 합니다 .

5. 한번에 보낼 수 있는 Request 는 하나로 합칩니다 . (Merging)

Low Quality Network

Page 21: KGC 2014 Hwang Seonpill Line Game Global

Low Quality Network

Network Link Conditioner1. Uplink, Downlink 의 Network Delay, Bandwidth 를 강제로 고정시켜서

Low Quality Network 환경을 만들어 줍니다 .

2. Delay 의 경우 정확도가 떨어지므로 , Ping 등을 이용하여 오차를 수정한 후 사용해야 합니다 .

3. LINE 내부에서는 Delay 설정의 정확도 문제로 별도 툴을 자체 개발해서 사용합니다 .

하지만 매우 좋은 툴입니다 !!

Page 22: KGC 2014 Hwang Seonpill Line Game Global

• “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 테스트에 큰 도움이 됩니다 .

Low Quality Network

Page 23: KGC 2014 Hwang Seonpill Line Game Global

Data Synchronization

Smartphone Game 의 Data 처리는1. Online PC Game 보다2. Console Game 의 저장 방식과 비슷합니다 .

Online PC Game : 다른 유저와의 상호작용 중요 , 즉시 데이터 갱신 필요Smart Phone, Console : 다른 유저와의 상호작용이 실시간으로 필요하지 않음 .나의 랭킹 데이터는 30 초 후 쯤에 랭킹 리스트에 갱신되도 OK

Page 24: KGC 2014 Hwang Seonpill Line Game Global

Data Synchronization

대부분의 경우실시간으로 서버와 동기화를 할 필요는 없습니다 .

데이터 연동은게임 시작 시 데이터는 클라이언트에 가지고 있는 데이터로 시작해도 됩니다 .

게임 종료 , 기록은 나중에 보고해도 됩니다 .

데이터의 흐름에 맞춘 게임보다 , 유저 편의에 맞춘 데이터 흐름

하지만 한국산 게임은 온라인 게임의 데이터 흐름 그대로인 경우가 많습니다 .

Page 25: KGC 2014 Hwang Seonpill Line Game Global

Data Synchronization

First OK1. 데이터 갱신이 필요한 경우2. 클라이언트에 저장하고 그냥 게임 진행하자 .

3. 10~20 초 후 랭킹이 갱신된다고 내가 게임을 못하지 않는다 .

Last Synchronization1. Background 에서 갱신을 하거나2. Data 를 모아서 한번에 갱신을 하거나3. Binary File 형태로 업로드 하거나

중요하지 않은 데이터를 처리하기 위해유저의 동작을 Block 하지 맙시다 !!!!

Page 26: KGC 2014 Hwang Seonpill Line Game Global

Data Synchronization

Client Security and Business Model1. Client 에 저장된 Data 는 언젠가는 공격자에게 뚫립니다 .

2. Client 에 Play log 도 같이 저장해서 서버에서 Play log 를 재검증 하거나

3. Business Model 자체를 클라이언트의 보안과 관련없게 만들거나4. Offline 모드를 별도로 제공하는 방법도 있습니다 .

Nintendo 도 당하고 Elf 도 당하고

Page 27: KGC 2014 Hwang Seonpill Line Game Global

Data Synchronization

• Smart phone Game 의 Data Sync 는 Console 과 닮았다 .• First OK, Last Synchronization• Client Security 처리가 중요하다 .• 하지만 Client 는 무력화 된다는 것을 전제로

Business Model 을 만들자 .

Page 28: KGC 2014 Hwang Seonpill Line Game Global

CDN Download

Big size image from CDN1. 대한민국의 인터넷 환경 , 특히 스마트폰 네트워크 환경은 전세계 최고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

스펙상의 수치입니다 . 실제 환경은 더욱 열악합니다 .

Page 29: KGC 2014 Hwang Seonpill Line Game Global

CDN Download

Delete Redundant Files1. 중복 파일을 관리해야해요 .

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

Page 30: KGC 2014 Hwang Seonpill Line Game Global

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

Page 31: KGC 2014 Hwang Seonpill Line Game Global

CDN Download

Low Resolution Image File 을 준비합시다 .1. Device 의 종류에 따라서 2~3 가지

Resolution 의 Image 파일을 준비 합시다 .

2. 최대 사이즈의 Image 를 일정 배율로 사이즈를 줄여서 준비하면 , 작업의 시간을 줄일 수 있을지도 모릅니다 .

3. 당연히 Location 문제나 , 디자인 퀄리티 등이 문제 될수 있습니다 .

하지만 게임이 안되는 것보다는 나아요 .

다시 등장한 점유율 3.82%나는 1280x1024 의 이미지를 설치할 메모리가 없어요 .

Page 32: KGC 2014 Hwang Seonpill Line Game Global

CDN Download

• 파일 갯수를 줄이고• 파일 사이즈를 줄이고• 중복 파일은 꼭 골라냅시다 .

Page 33: KGC 2014 Hwang Seonpill Line Game Global

SIM Card

한국과 일본의 SIM Card 는1. 개인정보가 담긴 소중한 것 것입니다 .

2. 2 년에 한번 또는 더 오랜 기간 사용 후 가끔 교체합니다 .

3. 그래서 SIM Card 에서 예외 사항이 발생하는 경우는 매우 드물어요 .

한국과 일본의 SIM Card 의 정보는유저별로 Unique 한 구분자가 될 수 있습니다 .

Page 34: KGC 2014 Hwang Seonpill Line Game Global

SIM Card

하지만 그렇지 않은 나라가 대부분입니다 .1. SIM Card 는 언제나 바꿀 수 있는 것이고 ,

2. 프로모션에 따라 바로 바로 바꿔 쓰기도 하고3. Data 용 SIM 과 통화용 SIM 을 동시에 사용하기도 합니다 . (Dual SIM

Slot)

Dual SIM Slot1. SIM Card 정보로 이벤트 ,

지표 등을 생성할 때는 꼭 Dual SIM Card 에 대한 대책이 필요합니다 .

2. 하지만 , Google 의 공식 API 는 존재하지 않습니다 .

3. 각 Device 제조사로부터의 API 만 존재합니다 .

현재까지 공식적으로 Dual SIM Card Slot 의 정보를 효율적으로 취득할 수 있는 방법은 없어 보입니다 .

Page 35: KGC 2014 Hwang Seonpill Line Game Global

SIM Card

MCCMNC1. 유저의 국가를 구분할 때는 MCCMNC 를 사용하세요 .

Mobile Country Code / Mobile Network Code

2. ISO 3166 로 추출하는 코드보다 효율적으로 국가와 캐리어를 구분할 수 있습니다 .

3. 특히 Carrier 정보는 MNC 를 사용해야 정확히 추출 가능합니다 .EX) LG vs LGT vs LG TelecomMCC 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

Page 36: KGC 2014 Hwang Seonpill Line Game Global

SIM Card

태국인의 30% 가 미국인1. 일본 서비스에서는 전혀 문제가 없었는데 ,

2. 태국 서비스 오픈 이후 태국 매출의 30% 가 미국인에 의해서 발생하고 있습니다 .

Dual SIM, Device 설정1. LINE 게임의 국가 결정 순위는 SIM Card 의 국가 설정 (ISO) 이 1 순위

입니다 .

2. SIM Card 에서 취득이 실패하면 디바이스의 Location 이 2 순위 입니다.

3. 동남아에서는 디바이스의 언어 설정을 영어로 해두는 경우가 상당히 많습니다 .

그래서 LINE 게임 유저는 SIM Card 의 국가 정보 취득이 실패하면국가 정보가 미국으로 보고되는 경우가 많습니다 .

Page 37: KGC 2014 Hwang Seonpill Line Game Global

Dual SIM Device

• SIM Card 의 정보 이용은 신중해야 합니다 .• Dual SIM Card 의 정보를 효율적으로 컨트롤할 수 있는

Google 의 API 는 존재하지 않습니다 .• 국가 코드 취득 기준은 MCCMNC 가 관리하기 편합니다 .

Page 38: KGC 2014 Hwang Seonpill Line Game Global

Abusing

Global Platform 은1. Global Economic System 이라고 정의하신 분이 있습니다 .

2. 클라이언트에서는 저장되어있는 값을 찾아서 하나씩 수정해나가거나Client memory modify

3. 공격자 마음대로 하도록 아에 클라이언트를 새로 만들고Client reverse engineering and resigning

4. 패킷을 분석하고 , 재사용하고 , 변조하는 등Packet analysis, reuse, modify

5. 우리가 알고 있는 모든 어뷰징 방식이 총 동원됩니다 .

GlobalEconomicSystem

GlobalEconomicSystem

Page 39: KGC 2014 Hwang Seonpill Line Game Global

Abusing

• 알려진 모든 형태의 Abusing 에 대한 기본적인 대응이 필요합니다 .

• 하지만 모든 Abusing 을 피할 수 없습니다 .• 상세한 유저 패턴의 저장 , 분석 , CS 대응이 필요합니다 .

Page 40: KGC 2014 Hwang Seonpill Line Game Global

User Pattern Analysis

새로운 앱 릴리즈 후 발생하는 문제는1. Key Word 만 알아도 문제 해결에 많은 도움이 됩니다 .

2. 하지만 수많은 Comment 를 모두 분석해서 해결하는 것은 생각보다 시간이 걸리는 작업이에요 .

3. Key Word 분석 만으로도 Abusing, Crash, Bug 등 다양한 분야를 대응하는데 유용합니다 .

4. 일부 서비스에 적용되어 있으며라인 게임은 준비 중에 있습니다 .

Page 41: KGC 2014 Hwang Seonpill Line Game Global

Length of Currency

환율이 너무해1. 모 게임에서 인도네시아에서 결제가 안된다는 문의가 들어왔습니다 .

2. 개발자들과 조사를 해봤지만 , 인도네시아에서만 안될 이유는 없었습니다 .

3. 현지의 비전문가 인력에게 클라이언트 전달 후 로그 추출을 반복하다보니 원인 확인에도 많은 시간이 걸렸습니다 .

4. 문제는 99.99$=1,205,196IDR

5. 베트남에서도 같은 문제가 발생했을 겁니다 .

너무 바보같은 실수 아니냐고요 ?한국에서온 2 개의 게임에서 발생했고 , 둘다 Major 개발사 였습니다 .

Page 42: KGC 2014 Hwang Seonpill Line Game Global

Carrier

불변의 진리 Carrier 사1. KT 는 진리 , SKT 는 진리 , 불변의 법칙 그 이름은 한국 Carrier 입니다

.

2. 그리고 , 3G, 4G 의 셀룰러 망은 믿을만한 네트워크라고 생각했습니다 .

하지만 , 아니었습니다 .1. 임의로 헤더 고쳐쓰고 , 데이터 변경하고 (Softbank)

2. 버그로 패킷 잘리고 (Starhub)

대체로1. Carrier 의 문제를 직접해결할 수는 없는 경우가 많지만2. 도저히 해결의 실마리가 안잡히는 네트워크 관련 문제는

Carrier 가 문제일 가능성에 대해서도 테스트해볼 필요가 있습니다 .

Page 43: KGC 2014 Hwang Seonpill Line Game Global

그러나 이런 문제들

• 다 라인 때문이다 .• 모두 라인탓이고 , 해결해야죠 . • 해결하려고 시작했습니다 .

Page 44: KGC 2014 Hwang Seonpill Line Game Global

라인은 이렇게 바뀌어 왔습니다

Page 45: KGC 2014 Hwang Seonpill Line Game Global

LINE Game Platform HSP

LINE Game 의 시작은1. 한게임 스마트폰 플랫폼이었습니다 .

2. Pokopang 을 비롯해서 훌륭한 게임들의 동시접속자가 100 만이 넘게 서비스 할 수 있는 훌륭한 플랫폼입니다 .

3. 하지만 , 당시에는 국내용이었습니다 .( 과거형입니다 . 화내지마세요 ^^;)

4. 한게임 , 라인 모두 글로벌 대응이 필요한 상황이었습니다 .

5. 그리고 TOAST 와 LINE GAME Platform 으로 각각 글로벌 대응을 진행했습니다 .

Page 46: KGC 2014 Hwang Seonpill Line Game Global

LINE Game Platform Phase1

글로벌 대응을 위한 첫번째 작업1. RTT 를 최소화해서 로그인등의 속도를 높이고 ,

2. 기본적으로 최소한의 필요한 기능만을 새로 만들었습니다 .

그러다보니 , API 의 간소화라고는 했는데1. 아무것도 없었습니다 .

2. 정말 아무것도없었어요 .

3. API 몇개 주고 개발사가 모두 만들어야 하는 정도였습니다 .

4. 그래서 사용한 개발사가 하나뿐…

Page 47: KGC 2014 Hwang Seonpill Line Game Global

LINE Game Platform Phase2

글로벌 테스트 결과가 적용되기 시작한 Phase2 에서는1. 네트워크 반응성을 높이기 위한 3G Warm Up 을 적용하거나 ,

2. Round Trip 회수를 줄이기 위한 Merge API 를 적용하거나3. 데이터를 클라이언트에 캐싱해서 저사양 네트워크를 대응하였습니다 .

또한 API 의 사용성을 높히기 위해서1. API 의 소스를 정리하고2. 로그인의 API 를 간소화하고3. 기타 라인 채널의 API 들에 캐싱이 추가되었습니다 .

Page 48: KGC 2014 Hwang Seonpill Line Game Global

3G Warm UP

네트워크의 반응성을 높이기 위한 대책1. 대기 상태의 3G 모듈을 Active 상태로 두어 네트워크의 반응성을 높

임2. 원리는 간단합니다 .

일어날때까지 때리기

잘못 사용하면밧데리가 매우 빨리 소비됩니다 .

Page 49: KGC 2014 Hwang Seonpill Line Game Global

Merge API

Round Trip 회수를 줄이기 위한 대책1. Round Trip Time 을 줄이는 것은 매우 힘들거나 불가능합니다 .

2. 그러나 요청 회수를 줄일 수는 있습니다 .

3. 몇 가지 관련 내용을 하나로 묶어서 Request 하거나4. 전혀 별개의 API 라도 하나로 묶을 수 있는 Merge API 를 추가했습니

다 .

Merge API 적용으로 최초 로그인 시 적용전보다3 배 정도 빠르게 로그인이 가능해졌습니다 .

Page 50: KGC 2014 Hwang Seonpill Line Game Global

Client Caching

모든 데이터를 Client 에 저장하기 시작했습니다 .1. 보안과 관계없는 유저 Profile, 친구리스트 , 랭킹 리스트들과2. 서버 접속 수치 등 서버에서 받아와야 하나 재사용가능한 값들을

모두 Client 에 저장하기 시작했습니다 .

3. 그 결과 첫로그인 이후에 로그인의 결과값은 실시간으로 받아지고로그인 결과값에 문제가 있는 경우에만 예외처리를 진행하게 됩니다

First OK, Last Synchronization

Client Caching 적용으로 최초 로그인 이후의 로그인은거의 실시간으로 결과를 받아올 수 있게 되었습니다 .

Page 51: KGC 2014 Hwang Seonpill Line Game Global

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

Page 52: KGC 2014 Hwang Seonpill Line Game Global

Seoul

Tokyo

Singapore

HK

Frankfurt New YorkBeijing

LINE Global POP

POP 구성없는 게임 서비스는 태국이 한계Front Server 대응 후는 전세계가 목표

Page 53: KGC 2014 Hwang Seonpill Line Game Global

LINE Game Test Process

• Low Spec Device Test• Low Speed Network Test• 각 오피스의 원격 테스트용 Android• Local Office Test (Taiwan, Thailand, Indonesia)

Page 54: KGC 2014 Hwang Seonpill Line Game Global

Additional…

Communication Problem1. 글로벌의 가장 큰 문제는 사실 Communication 이에요 .

2. 제가 일하는 사람의 국적은 한국 , 일본 , 중국 , 태국 , 대만 , 프랑스 , 미국이에요 .

3. 다른 문화 다른 생각 , A 를 말하면 모두 다르게 생각해요A, a, Apple, Android, A 학점…

4. 요청과 원하는 결과의 형태를 정확한 기술용어를 사용하여 직관적으로 기술해야 합니다 . 나에겐 당연한 영어 약어를 미국인이 모를수도있어요 .

5. “ 플레이해보고 결과 주세요”라는 요청에 답을 줄 수 있는 사람은 한국 사람 뿐이에요 . 한국인의 종특일지도 모릅니다 .정확한 테스트 방법과 원하는 테스트 결과를 작성해서 줘야 합니다 .

6. 한국어를 하는 외국인은 한국 사람이 아니에요 . 그들은 직접 얘기하고 부연 설명하지 않으면 당신이 뭘 원하는지 모릅니다 .

7. 이렇게 얘기하면 이해하겠지라는 생각이 있으면 , 상대방은 이해하지 못했어요 . 이해시키고 싶은 내용을 직접 설명해야해요 .

Page 55: KGC 2014 Hwang Seonpill Line Game Global