SlideShare a Scribd company logo
1 of 161
0 링크
- 시연: http://www.rexv.org/
L10N Case Study
[삼국지조조전 Online 개발 사례]
Inven Game Conference
0 발표 저작권 안내
제한
본 발표의 게임 영상 및 스크린샷은 개발 중인 빌드의 화면입니다. 최종 버전과 다
르거나 수정될 수 있으며, 저작권은 띵소프트/넥슨/코에이테크모가 소유하고 있습
니다
인용
본 발표의 삼국지조조전 Online 저작물 외의 타 저작 이미지들은 저작권법 35조 3
항 공정이용에 의거, 교육 목적을 위해 인터넷에 공개된 각종 저작물의 화상 자료
를 인용해서 사용하고 있습니다. 저작권 문제는 가능한 확인 후 사용하고 있으나,
혹시 문제가 있다면 IGC 사무국에 연락해 주시면 합당한 수정 조치를 취하겠습니
다
사상
본 발표 내용은 발표자 개인의 의견이며, 학계나 업계의 표준, 띵소프트/넥슨/코에
이테크모의 입장과는 차이가 있을 수 있습니다
0
이득규 (I2:Highwind) 디렉터 / 게임 디자이너
- 베타 테스터 / 공략 전문 필자 / 테크니컬 라이터로 고교 시절 게임 업계 입문
- 1인 개발, 게임 CS 파트타임, 고스트 라이터로 활동하다 게임 기획자로 취업
Career
• 1999 기획 소프트맥스 창세기외전 템페스트 PS1 SRPG
• 2000 디렉터 소프트맥스 테일즈위버 EP.1 PC 2D MMO
• 2005 디렉터 넥슨 테일즈위버 EP.1 PC 2D MMO
• 2006 디렉터 넥슨 미공개 IP 게임 PC 3D MMO
• 2008 디렉터 넥슨 미공개 신작 PC 3D MO
• 2010 개발실장 소프트맥스 창세기전4 PC 3D
MMO
• 2013 CEO Motiflow IP 외주 개발 / 인디 Mobile
• 2014 디렉터 띵소프트 삼국지조조전 Online Mobile SRPG
Localized Title
• 1999 창세기외전 템페스트 일본어 (한국어 기획 후 번역하며 개발)
• 2003 테일즈위버 EP.1 한국어, 일본어, 중국어(간/번)
• 2016 삼국지조조전 Online 한국어, 일본어, 중국어(간/번), 영어
발표자 소개
넥슨 컴퍼니 = 네오플 자회사 = 넥슨 손자회
사
CEO: 넥슨코리아 정상원 부사장님
0 회사 소개
띵소프트의 모바일(?) 게임 개발 본부
프로젝트 3종 개발 중
2번째 신작이 다음 주 미디어데이로 최초 공
개
0 프로젝트 소개
일본 코에이테크모의 IP 기반 모바일 SRPG
오늘 이야기할 작업을 진행한 프로젝트
AOS: 2016-10-06 출시 / 구글 피
쳐드
IOS: 2016-10-10 출시 예정
많은 관심 부탁 드립니다!
0 [초급] 발표 범위
한국, 일본+ 로컬라이제이션
한국과 일본 로컬라이징의 내용이 중심입니다. 타 국가에 대한 부분도 일부 다루지
만 본 발표에선 시간 관계상 비중이 낮습니다. 분량 관계와 사례 기준이 되는 게임
의 특성 상 I18N이나 컬쳐라이징에 대해서도 여기서는 다루지 않습니다
삼국지조조전 Online 한정
본 발표는 삼국지조조전 Online 의 case study를 다루며, 타 게임의 방식과 정책
등에 대해서는 다루지 않습니다. 넥슨의 퍼블리싱 정책이나 일본의 퍼블리싱 정책
에 대한 이야기가 일부 있을 수 있으나, 통상적인 사례로 일반화할 수는 없으므로
타 게임과 다른 부분도 있을 수 있습니다. 또한 일부 내용의 경우 보안을 위해 노출
되지 않는 부분이 있습니다.
또한 아직 개발 중인 부분이 많아, 실제 사양에서는 세부 내용이 변경될 수도 있습
니다
기획, 프로그램, 아트
본 발표는 기획 중심이나 구현과 관련된 부분도 일부 다룹니다. 프로그램 지식이
없어도 전반적인 발표 이해에는 큰 어려움이 없습니다
0 청중 구성 확인
방청객 직군 비율에 따라 발표 내용
을 조정하며 진행하려 합니다.
제 요청에 맞춰 손을 들어 주세요.
INDEX – 160 Pages
1
Chapter
About L10N
3
Chapter
번역+ 기반 시스템 구축
5
Chapter
한국어 로컬라이징
7
Chapter
간체/번체 로컬라이징
2
Chapter
텍스트 제작 컨벤션
4
Chapter
언어별 폰트의 이해와 준비
6
Chapter
일본어 로컬라이징
8
Chapter
마무리
Chapter [1]
About L10N
Inven Game Conference
1 오늘의 주제
지역화 / 현지화
- L10N = Localization
- 제품을 언어 및 문화권 등이 다른 여러 환경에 대해 사용할 수 있도록 지원하는
작업
협의적: 언어 번역
- L10N의 최소 사양
광의적: 정책 대응 및 게임 수정
- 법률/심의 대응, 플랫폼 대응 및 서비스 적용, 전용 콘텐츠 추가, 특정 피쳐 변경,
정세,
타겟 유저 성향, 문화 반영(Culturalization) 등을 포함
- 삼국지조조전 Online 은 국가별 빌드가 분리되지 않는 것을 전제로 공통 지역화
를 진행
- 중화권은 플랫폼이 분리되므로 공통화 대상에서 제외
1 유사 개념과 비교
현지화 L10N
- 제품을 언어 및 문화권 등이 다른 각 환경에 대해 지원하는 것을 의미
- 1 Build – 1+ Language
- 예외: 캐나다(프랑스어 + 영어), 아프리카, 유럽 등
- 국가 별로 빌드를 분리해 개발
- 삼국지조조전 Online Live 구조 (엄밀히는 M17N과 L10N의 중간 형태)
다국어화 M17N = Multilingualization
- 서로 다른 지역의 다국어를 지원하도록 제품을 설계하는 것을 의미
- 1 Build – N Language
- 삼국지조조전 Online CBT2까지의 구조
국제화 I18N = Internationalization
- 단일 제품이 여러 환경을 지원할 수 있도록 제품을 설계하는 것을 의미
- 글로벌 원빌드
1 L10N의 요소
기본 언어 대응
- 텍스트 인코딩: 문자, 부호, 숫자 표기법, 글자 표기 방향 등
- DB, 개별 텍스트 파일 설정 시 중요
- 환경 구축
- 글꼴 교체
- UI 레이아웃 수정
- 텍스트 / 이미지 / 영상 로컬라이징 소스 확보 및 로컬라이징 환경 구축
- 개발 초기부터 진행해두는 것이 후반 수정을 줄일 수 있음
- 번역
- 문자, 기호
- 대사, 설명 등 게임 내 텍스트 전체
- 채팅 등 각종 UI에 노출되는 문자
- 영상 자막 등
- 음성
- 성우 음성, 효과음 등
1 L10N의 요소
추가 언어 대응
- 심의 등급에 적합한 언어 사용
- 맞춤법, 표기법에 대한 조정
- 날짜/시간 형식, 역법 차이 반영
- 중량과 치수 등 각종 수치 단위
- 시간대 차이 (UTC +9, +8…)
- 지명, 인명, 직책, 직함, 신분제 등 표기 방식
- 저작권 표시, 상표권을 비롯한 각종 로고 표시 방식 대응
- 통화(通貨, Currency) 환율 적용 및 과세 표준 적용, 표기 변경 (ISO 4217)
- 정렬 순서 및 기준
- 문화적 차이 / Common Sense / 심미, 인상 차이 대응
- 어투, 어조, 중의적 표현, 오해 방지를 위한 개선
- 정치, 경제, 사회적인 환경의 영향 반영
- 한자 문화권 표기 방식 차이 대응
- 관용어, 금구
- 지역의 관습
- Etc…
1 L10N의 요소
이 외에도
- 지역화 전용 시스템/콘텐츠 개발
- 플랫폼 별 요구사항 대응
- 퍼블리셔 요구사항 대응
- 소비자 요구사항 대응
- 법률, 정책, 심의, 정부 요구 사항 대응
- 결제 상품 소비세 대응 처리 등 각종 재무 이슈 대응
- 권리, 저작권 관련 계약 조율
- 등등등등……
- 찾아보면 더 많은 것들이 있을 거에요
1 L10N, 언제 할 것인가?
일반적으로, 개발 완료 후
- 저비용 고효율
- Fix된 빌드로 진행해 번역/추가 개발 -> 적용 -> QA -> 배포: 안정적인 프로세
스
- 개발 완성 후 L10N 완료까지 배포 간격이 오래 걸림 (번역 분량이 많을 수록 더)
- 동시 업데이트가 필요한 온라인 서비스의 경우 개발 피쳐 반영 딜레이 대안이
필요
개발 번역 / 추가 개발 LQA
1 L10N, 언제 할 것인가?
삼국지조조전 Online은 개발 병행
- 고비용 저효율
- 컨펌, 피드백, 동시 런칭을 위해 불가피한 선택
- 데이터 관리 문제 발생
- 단점: 번역 후에도 고치고 또 고치고 또 고치고…
- 최종 변경 작업자를 최소화해 HR로 커버
- 개발 중 일정 주기로 데이터 추출 -> 번역 -> 적용 반복
- 번역 데이터가 추가 반역되기 전에 번역을 다시 추출하는 경우도…
- 미완성 콘텐츠를 번역하니 개발 도중 변경되면 잦은 수정, 삭제, 추가 변경이 발
생
- 추가 번역만 잘 커버되면 상대적으로 빠른 국가별 빌드 배포 가능… 할 예정이
었으나…
개발
일어 번역 검수
중문 번역
일어 번역
중문 번역
검수 일어 번역
중문 번역
검수
1 삼국지조조전 Online의 L10N
론칭 국가
- 현재 확정 국가: [한국, 일본, 대만], [중국, 홍콩, 마카오]
- 퍼블리셔에 따른 구분
- 넥슨: 한국, 일본, (대만)
- 미정: 중국, 홍콩, 마카오
지원 언어
- 한국어, 일본어, 중국어(간체/번체), 영어
M17N? L10N?
- 다국가 동시 서비스를 위한 M17N으로 개발되다 여러 사유로 M17N 같은 L10N
으로 변경
- 서버 통합을 고려해 콘텐츠 분리를 최소화하기 위해 대응 중
- 한국: 정식 서비스 (한국어만 지원)
- 5주 단위 클라이언트 업데이트
- 1주 단위 콘텐츠 업데이트
- 기타: 론칭 준비 중
1 조조전 L10N 사전 조율
기본 언어 대응
- 텍스트 인코딩: Unicode
- 글꼴 확보: 각 국가별 폰트 업체 컨택 / 유료 라이선스
- 개발 초기부터 상시 데이터 변동을 고려한 통합 로컬라이징 시스템 구축
- 그러나 TO 문제로 내부 번역 전문 인력이 없는 상태로 개발
1 조조전 L10N 사전 조율
기본 아트 대응
- 로컬라이징 진행시 고비용, 장시간이 소요되는 영역
- 적은 인력을 고려해 이미지 변경을 최소화하고자, 로컬라이징 추가 변경을 최소
화해 제작
- Texts == Label Only: 가능한 모든 텍스트는 이미지 (X), 폰트 출력 (0)
- 번역하지 않는 공용 연출 한자만 이미지로 제작
- UI 레이아웃: 한글 / 한문 / 일어 배치 시 문제 없는 크기와 폭으로 디자인
- 컬러 디자인: Fujitsu Color Doctor 사용, 중요 컬러는 색약 / 색맹에 관계없이
차이를 인식할 수 있게 설계
- 서비스 국가와 원작 게임의 색 설정을 분석해 기본 컬러 디자인을 구축
- 개발 초반에 잘 되어가다 막판에 바빠져 덜 관리된 부분이 있음…
- 문화적 이슈: 시대관 반영을 잘 하도록 노력
1 컬러 디자인 사례
적색 VS 청색
- 원작은 적색 = 아군, 청색 = 적군으로 피아 구분
- 삼국지조조전 Online도 처음 리뷰 시 많은 논의가 있었으나 원작을 따르기로 결
정
- 조조전의 컬러 디자인에 대한 깊은 이야기는 언젠가 기회가 되면 해보는 걸로…
1 컬러 디자인 사례
삼국지조조전 Online의 적색 VS 청색
1 컬러 디자인 사례
삼국지조조전 Online의 적색 VS 청색
- 적색
- 원작 재현
- 아군 컬러
- 긍정, 선택, 증가 의미로 사용 (미국은 반대)
- 청색
- 원작 재현
- 적군 컬러
- 부정, 취소, 감소 의미로 사용
1 컬러 디자인 사례
삼국지13과의 컬러 매칭 문제
- KOEI는 삼국지 9(2003년)를 기점으로 조조/위의 키 컬러로 청색 적용
- 2016년, 삼국지 13 런칭 시점에 매칭을 위해 조조 키 컬러 변경 요청 발생
- 바꾸기엔 너무 많은 것들이 적색 기반으로 개발 + 원작(1998년)과 괴리 발
생
- 원작 재현과 고증 기반, 그리고 중국 시장 선호 컬러 이슈를 논의해 기존 설
계를 유지
- 단, 청색 매칭에 적응된 경우 이질감을 우려, 서브 컬러로 청색 활용
1 복식 디자인 사례
옷깃 방향 고정
- 중화권에서는 옷깃의 방향으로 산 사람과 죽은 사람을 구분
- 컨펌 시 중요 체크 이슈라 작업 시 항시 주의해 진행
좌우 반전 금지
- 일러스트를 좌우 반전해 연출용으로 사용하던 초반 빌드
- 옷깃 방향이 문제가 되어 반전 없이 사용하도록 수정
복식은 아니지만
- 너무 현대적이거나 서양적인 골격의 인물이 되지 않게 주의
- 너무 현대적이라 현재는 게임에서 빠진 인물 ->
1 아트 디자인 사례
기타 고려 사항
- 책상은 있으나 의자는 없던 시대
- 맵에서 의자 제거
- 책상 높이 낮춤
- 마차 등의 바퀴와 간격이 규격화된 시대 (도로 정비)
- 고려해 디자인
- 청동기 -> 철기 전환 중이던 시대
- 철기가 짱셈
- 고증 붕괴를 피하기 위해 중국 드라마와 서적을 살펴보며 참고
1 성우 녹음 사례
- 삼국지조조전 Online의 음성 지원
- 입수 가능한 500여 명의 장수 중 상위 전용 장수 108종 외 직업 병과 전체
- 한국
- 런칭 기준 19명 (겨울 업데이트로 성우 추가 예정)
- 사전 준비 3개월: 기획부터 사전 캐스팅 준비, 대본까지
- 녹음 및 적용 진행 3주
- 캐스팅: 담당 기획자, 넥슨 사운드팀, Director
- 액팅 디렉터: Director
- 믹싱/편집: 넥슨 사운드팀
- 영상 촬영: 넥슨 영상팀
- 일본
- 현재 35명 진행 (추가 업데이트 예정)
- 사전 준비 4개월: 캐스팅 / 대본 번역 및 수정 / 계약
- 녹음 및 적용 진행 5주
- 캐스팅: 넥슨 재팬 / 대리점 캐스팅 디렉터
- 액팅 디렉터: 대리점 캐스팅 디렉터
- 믹싱 /편집 : 대리점 계약 더빙 스튜디오
- 성우 캐스팅 KOEI 컨펌 후 진행
1 성우 녹음 사례
- 차이점
- 한국과 일본은 대본과 인물 설정이 크게 다름
- 한국 버전은 성우 더빙에 지역화가 크게 되어 있음
- 한국과 일본의 국가별 캐릭터 해석과 설정 갭이 상당히 큼
- 다른 케이스: 한국 유비 VS 일본 유비
- 닮은 케이스: 한국 소교 VS 일본 소교
- 한국 대본 최초 번역 후, 일본과 인물에 대한 해석과 팬덤의 이미지 차가 커
서 최종적으로 다수의 대사를 일본 스태프에 의해 신규 작성
- 대사가 다르고 캐릭터 해석이 달라서 게임을 해보면 완전히 다른 느낌
- 개인적으로는 직접 디렉팅한 한국 버전을 더 선호
1 일본 버전에서 성우 스탭롤이 없는 이유
STAFF ROLL / CREDIT
- 개발한 게임마다 항상 Credit 메뉴를 추가
- 테일즈위버는 한국 온라인 게임 중 최초로 스탭롤이 존재
일어 버전은 35+19명의 성우 목록 제거
- 한국과 달리, 일본 버전은 모든 성우 정보가 스탭롤에 제거
- 한글 버전은 한국 성우만 표기
왜 안 나오나요?
- 계약 조율의 문제로 삭제
- 일본에선 성우 소속 사무소의 스탭롤 등록을 위해 동의 및 계약 검토가 필요
- 스탭롤의 성우 배치 순서 등도 여러 사무소의 성우들이 모두 조율되어야 함
- 단일 사무소가 아니라 캐스팅하는 과정에서 여러 사무소 소속 성우가 기용
된 상태
- 스탭롤 이름 표기 합의 조율 진행에 걸리는 시간과 노력에 비해 얻어지는 결과
에 대해 대리점에서 우려해 최종적으로 아예 표시하지 않는 것으로 퍼블리셔가
결정
- 그에 따라 게임에서 제거, 스탭롤 구현을 국가별 커스터마이즈 되는 형태로 변
1 로고 / 저작권 표시
타이틀 화면 / BI 표시
- 국가마다 타이틀 화면과 BI 레이아웃 등이 차이가 있음
- 각 국가별 법령 및 퍼블리셔 요구 사항에 대응
- 사용 언어에 따라 구성이 변경되도록 구현
CI 표시
- 코에이 테크모 연관 로고 중에는 국가에 따라 표시 방식이 다른 것들이 존재
- 사용 언어에 따라 로고가 변경되도록 구현
저작권 표시
- 코에이테크모의 저작권 표시도 일본 내 / 해외 표기가 다름
- 역시 사용 언어에 따라 변경되도록 처리
1 법률, 심의, 계약, 정책 대응
법률 대응
- 국가마다 게임, 서비스 관련 법령이 존재. 정상적인 서비스를 위해서는 이를 모
두 대응해야 함
- 퍼블리셔 추가 기능 요청과 달리, 협의가 불가능하고 무조건 맞춰야 하는 내용
- 개발 중 갑자기 산으로 가는 경우가 발생
심의 대응
- 국가마다 심의 기준과 등급 평가 사항이 차이가 있음
- 한국 심의 결과가 기준 가이드가 되는 경향이 있음
- 심의를 맞추기 위해 게임을 수정하는 경우도 발생
- 심의 수정을 최소화하기 위해 초기 개발부터 런칭 국가들의 심의 제도를 검토
계약, 정책 대응
- 사용 솔루션이나 퍼블리셔, 플랫폼에 따라 각각의 계약과 정책이 존재
- 합리적이라 판단되는 부분도 있지만 납득이 어려운 경우도 존재
- 사업 부서에서 의사 결정되는 수준에 따라 대응해야 함
- 개발 후반에 큰 일이 되기도 함
1 국가별 약관
약관 / 개인정보 보호정책
- EULA (End-User License Agreement)
- 퍼블리셔가 없을 경우 법무팀, 사업팀과 함께 정비해 진행 필요
- 퍼블리셔가 있을 경우 퍼블리셔의 가이드에 맞춰 진행 필요
- 삼국지조조전 Online은 다음 카테고리로 구분
- 한국: Nexon Korea 한국 표준 약관 / 개인정보 보호정책 적용
- 일본: Nexon Japan 일본 표준 약관 / 개인정보 보호정책 적용
- 중국: 퍼블리셔 계약 대기 중. 계약 후 퍼블리셔 정책에 맞춰 대응
- 중화민국, 홍콩, 마카오: Nexon Taiwan의 중화민국 표준 약관 / 개인정보 보
호정책 적용
- 중국 퍼블리셔 계약 형태에 따라 일부 변경될 수 있음
- 기본: Nexon Korea 영문 표준 약관 / 개인정보 보호정책 적용 (미국 기준)
- 사업 부서에서 필요한 이슈를 잘 커버해주므로, 안내에 따라 진행하시면 됩니다
1 개인정보 저장 및 관리에 대한 국가별 법률
일본 중국 대만
E-mail / PW 저장 시
개인정보 보호정책의 동의로
우회 가능 여부
개인정보 보호정책에
고지 필요
사용자 동의 불필요
개인정보 보호정책에 동의
조항이 있으면 가능
개인정보 보호정책에 동의
조항이 있으면 가능
해외 서버에 사용자 개인
정보 저장 가능 여부
가능 가능 가능
개인 정보 암호화의 법률
명시 여부와 특정 암호화
방법 강제 여부
안전 예방 조치 요구
암호화는 강제되지 않음
법에 명시되어 있지 않음
제한 없음
법에 명시되어 있지 않음
정보 유출 시 법적 책임
요구
사전 예약 페이지의 개인
정보 수집 동의 필요 여부
개인정보 보호정책에
고지 필요
사용자 동의 불필요
-
개인정보 보호정책에 고지
불필요
사용자 동의 필요
개인 정보를 사용하는 제 3자
목록을 개인정보 보호정책 내
명시 여부
명시 필요
제 3자의 이름을 목록화
하고 유저 동의를 받으면
가능
사용자 서면 동의 시 가능
누구에게, 어떻게 사용될
지 정확히 명시해야 함
게임 플레이를 위해 위치
정보를 추적하고 인접한
사용자와 매치 허용 여부
유저 동의 시 가능 -
개인정보보호정책에 동의
조항이 있으면 가능
1 Nexon TOY
인증, 서비스를 위한 통합 솔루션
- 인증, 운영, 고객지원, 운영툴, 쿠폰 시스템 등 각종 서비스 지원 기능 구비
- 페이스북, 구글, 트위터 등 각종 SDK 연동 대응
- 넥슨 퍼블리싱 게임 전용
- 법령 대응 등 사소하지만 중요한 이슈 대응을 국가 별로 규격화해 관리
중국 등 별도 권역 진출 시 분리
- 인증 시스템이 기반이므로 인증 시스템 교체 시 TOY 기반 피쳐는 퍼블리셔 시스
템으로 교체 후 누락 항목 추가 구현 필요
한국, 일본, 대만, 마카오 빌드 사용
- 중국, 홍콩은 중국 퍼블리셔 빌드로 대응 예정
1 Nexon TOY
Chapter [2]
텍스트 제작 컨벤션
Inven Game Conference
2 텍스트 작성 규칙
시대상의 반영
- 게임의 무대: 서기 180~230년 전후 중국
- 한자 문화권, 신분제, 전란의 시기, 중화 사상 등의 세계관
- 세계관에서 벗어나는 내용은 최대한 배제
영어 독음 표기 사용 최소화
- 스킬 X / 책략 O
- 가능한 게임에 나오는 모든 단어를 한글/한자어로 전환
- 대체가 굉장히 어려운 경부만 대응 (메뉴)
- 동일한 의미일 경우 세계관에 적합성을 검토해 조정
예외: 원작 용어 유지
- HP, MP, EXP만 영문 표기
캐주얼한 사극 풍 대사 처리
- 전체적인 텍스트에 KBS 사극/정극 톤을 참조하되 너무 무겁지 않게
- 라이트노블 같은 대사 자체의 개성은 억제하고 신분을 우선시해 대사 구성
2 텍스트 작성 규칙
가급적 짧게
- 한자어를 기준으로 명칭이나 이름들을 최대한 짧게 작성
- UI 영역의 길이를 최대한 간결하게
- 1/2byte 특수 문자 사용도 최소화
- 경박단소 지향… 이지만.
문화적 리스크 최소화
- 예) 황건적 X / 황건, 황건병 O
- 문화혁명 이후의 현 중국 정부는 민중에 의한 권리 투쟁의 결과로 수립
- 하층민 중심의 민중 봉기라는 역사적 의의 / 폄하 금지 등의 사유
예외: 번역 오류 / 번역체 제거
- 청공검 / 청강검 -> 청강검으로 통일
- 일기토 -> 단기접전 -> 무장전으로 변경
- 연의, 정사가 다를 경우 정사를 기준으로 변경
- 일본어 텍스트는 정사보다 연의를 우선해 내용 수정 및 번역 (KOEI 정책)
2 텍스트 작성 규칙
텍스트 길이 제한
- 데이터 상 제한이 아닌 UI 디자인 상 제
한
- 변경하게 되면 UI 수정이 필요
- Shrink 설정이므로 텍스트가 잘리지는
않으나 글자가 작아지는 문제가 있음
- 텍스트 분량이 많아 크기가 작아지면 가
독성이 떨어지므로 가능한 맞추며 대응
- 표에 언급되지 않은 추가 스펙들도 존재
- 채팅, 센터메시지, 군주 효과, 연구
등
텍스트 크기 제한
- 최소 폰트 크기: 18pt.
- 개발하며 불가피하게 점점 작아짐
…
길이 (Bytes) 최대 (Bytes)
인명/호 8 12
지명 8 8
장비/도구/책
략
16 20
사건명 18 18
거점명 10 10
날씨 4 6
효과 24 24
타일 12 12
직업 계열 10 10
직업 8 8
일반 대사 50 * 3 50 * 3
나레이션 50 * 4 50 * 4
2 텍스트 작성 규칙
용어집 작성
- 기획 명칭 표준화를 위한 노력 but 초반 이후 열심히 사용되지는 않음
- 잘못되는 용어는 정기적으로 인력(=노가다)으로 커버
- 번역을 위한 glossary 별도 준비. 이 문서는 다국어 버전으로 표준화되어 정상
활용
- 번역 업체들의 용어 표준화 및 검수 기준 용도로 활용/업데이트
12세 이용가 기준
- 한국 기준 심의 등급 12세 이용가 레벨에 맞춘 언어 수위 설정
- 선정성, 폭력성을 가능한 배제
- 연의, 정사, 원작에서 문제 소지가 있을 수 있는 내용은 가급적 순화해 대응하거
나 시나리오 변경
인터넷 용어 최소화
- 단, 김성모 작가의 대사 일부 등이 오마쥬 되는 부분은 일부 유지
- 번역 표준화, 정규화, 정사 > 연의 반영 (단, 일본은 반대로 번역)
- 번역 시 의미 불명이 되는 내용들은 발견하는 대로 대응 조치
2 어려운 점
팬덤 드립 / 유행어 활용 제한
- 재미있는 경우도 있지만 세계관을 어긋나는 정도가 심하다 판단되면 제거
- 한국에선 재미있을지 몰라도 번역되면 정체 불명의 대사로 변경되는 문제
- 일부 내용은 한국 버전에서는 살리고 국가에 따라 개별 대응
국가별 팬덤 성향/캐릭터 해석 차이
- 조홍의 황금 투구 전설이나 좌절감은 한국에서만 유의미
- 일본에서는 절대 이해 못하는 요소. KOEI 담당자도 이해 못함
- 국내 팬덤 이미지에 부합하면 할수록 타 국가에서 괴리가 커짐
- 캐릭터/국가에 대한 해석도 국가마다 정도의 차이가 큼
- 일본에서는 최근 삼국지 시리즈 + 삼국무쌍의 캐릭터 이미지 + 촉 미화
- 일어 버전과 한글판은 해석 괴리가 존재
- 번역 후 어투, 단어 선정, 대사 Gap에 대한 불만 피드백이 예상 이상으로 커
수정 중
- 오랫동안 이어진 일본 특유의 [촉] 미화와 조조의 위 중심의 게임 구성 간
의 괴리
- 나의 조조는 이러치 않아
2 발생한 문제
전체적인 언어 난이도 상승
- 읽을 수는 있는데 익숙하지 않거나 한자어를 잘 모르면 파악이 안되는 단어도
사용
- 세계관은 유지되나 익숙한 개념의 거리감이 불필요하게 게임을 어렵게 느끼게
만듬
작업자 간 대사 품질, 캐릭터 성격 차이
- 테일즈위버 EP1에서는 특정 캐릭터를 특정 시나리오라이터가 전담해 대사 검수
해 개선
- 시나리오량은 테일즈위버를 능가하고(2016/08, xlsx 17MB), 검수 인원은 적어
한계 발생
- 최대한 맞추도록 가이드하고, 시간 나는 대로 검수 진행
캐릭터 개성의 감소
- 창작물에 비해서 기존 캐릭터의 이미지가 존재하므로, 어설프게 했다가 망가지
지 않게 방어적으로 접근
- 그럼에도 불구하고 한국/일본의 캐릭터 인식 차이가 발생
2 구조적 한계
성별/성격/신분/방언에 따른 대사 처리
미대응
- 일어는 남/여의 어휘나 문장 사용 차이가 큰데, 이 부분의 로컬라이즈 대응 미진
행
- 성격과 신분 변화에 따른 대사 차별화도 현재 보류 상태
- 작업량에 비해 한국에서는 실효성이 낮음
- 하후돈이 조조에게 반말하는 유일한(?) 삼국지 게임
- 군주/태수/대장 등 각종 시스템과 예외처리 작업량의 한계
- 추후 개발에 여유가 생기면 대응 예정
- 여러분이 많이 사랑해주시면 대응할 여력이 생길지도…
대사량이 많아 품질 관리 어려움
- 디렉터 혼자서 다 체크하기에는 데이터 분량이 너무 많음
- 많은 것도 많은 건데 계속 변경이 발생하는 것도 이슈
- 파이프라인 이슈는 일본어 로컬라이징 챕터에서 논의
- 자체 수정, QA 피드백, 로컬라이징 피드백, 내용 변경……
- TO 여유가 생기면 전담 인력으로 대응하며 점진적으로 개선 예정
Chapter [3]
번역 + 기반 시스템 구축
Inven Game Conference
3 개발 원칙
로컬라이징 시스템으로 모든 문자 번역
처리
- 현재는 숫자, 영문을 제외한 문자에 대해 대응
- 지정한 데이터는 모두 로컬라이징 시스템으로 번역
- 중국 버전에서는 2016년 법률 개정으로 영문 사용 금지 이슈가 예상되어 영문도
로컬라이징 시스템 적용 예정
- 예: HP -> 체력 / MP -> 정신력 등
모든 글자는 이미지가 아닌 텍스트로 대
응
- 모든 UI는 지정 폰트 사이즈보다 작아지는 상황이 발생해도 내용 보존을 우선함
- Clamp X, shrink O
- 최근 추가된 일부 UI에 원칙과 어긋나는 부분들이 있어 대응 중
- 번역 데이터 부재 시 한글로 출력 처리해 누락 확인
- Key ≒ Korean
3 개발 원칙
예외의 최소화
- CI, BI 등 로고 이미지만 예외 처리로 구현
예외의 규격화
- 리소스 로컬라이징 적용: 확장자에 의한 국가별 리소스 분리 관리
- 국가별 텍스트 파싱 분기 처리: 용량, 메모리 Diet를 위해 준비 중
3 삼국지조조전의 3+대 L10N 시스템
텍스트 로컬라이즈 시스템
- Dynamic(Unity) Font 사용
- 한글 Key 기반 텍스트 교체 처리
- NGUI를 커스터마이즈한 후 상속한 Localized Label에 번역 데이터 출력
- 번역 데이터 부재 시 한글을 출력해 번역 누락 확인
리소스 로컬라이즈 시스템
- 국가별 리소스 로딩/패치/분기 시스템
- 국가별 리소스 부재 시 공통 리소스 로드
콘텐츠 언락 시스템
- 국가별 피쳐/콘텐츠 공개 여부를 관리하는 시스템
- 국가/언어 설정에 따라서 게임 내 콘텐츠 노출 여부를 제어
- 같은 빌드라도 사용자 국가/언어 정보에 따라 미번역 콘텐츠가 배포되지 않도록
제어
- 특정 국가 전용 콘텐츠가 타 국가에 배포되지 않도록 제어
- 조조전에 적용된 구조는 통합 피쳐 관리 시스템이 아닌, 특정 피쳐 단위 언락 관
리 구조
3 텍스트 로컬라이즈 시스템
예시) 영천 전투 이벤트 번역 데이터
KEY Korean Japanese Chinese Traditional Chinese English
받아랏! 받아랏! くらえっ! 去死吧! 接招吧! Take this!
제, 제길……. 제, 제길……. く、くそっ……。 可、可恨……。 可,可恨……。 Darn...
으랴앗! 으랴앗! おらあ! 啊! 啊! Hmph!
으악……! 으악……! ぐはっ……。 啊……。 啊……! Argh!
헉, 헉, 헉…….n
더 이상은 무리입
니다. 이대로라면
우리 n부대는
전멸하고 맙니다.
헉, 헉….n더 이상은
무리입니다. 이대로라
면 우리n부대는 전멸
하고 맙니다.
はぁ、はぁ、はぁ……。
nもう駄目です。n
このままでは我が隊は
全滅です。
呼、呼、哈…支持不住了!
n再这样下去,我们会
全军覆没的。
呼,呼~哈…n支持不
住了!再這樣下去,我
們n會全軍覆沒。
Pant, pant…nWe can't take
this any longer. They'll kill u
s allnif we don't turn the ti
de.
으, 황건병 놈
들.n끝도 없이
나타나는군.
으, 황건병 놈들.n끝
도 없이 나타나는군.
くっ、黄巾賊どもめ。
n次から次へと兵がわ
くように現れる。
可恶,黄巾军的人越来
越多。
可惡,黃巾兵的人越來
越多。
Ah, those Yellow Turbans.n
They're relentless.
조금만 버티면 원
군이 온다.n그
때까지 어떻게든
버텨라!
조금만 버티면 원군이
온다.n그때까지 어떻
게든 버텨라!
もう少しで騎兵隊の援
軍が来る。nそれまで
なんとか持ちこたえる
んだ!
再过一会儿,骑兵队会
来增援的,n无论如何
都要顶住!
再過一會兒,騎兵隊會
來增援的,n無論如
何都要頂住!
Reinforcements will be here
soon.nWe must hold out u
ntil then!
말씀 드리긴 송구
하오나, n관군
은 그저 일신의
안전만을 생각하
고 n있습니다.
말씀드리긴 송구하오
나,n관군은 일신의
안전만을 생각하고n
있습니다.
しかし、私が言うのもな
んですが、n自分の保
身を優先し、何事にも
n腰が重いのが現在の
官軍の風潮。
可是依我看,还是保住
自家性命要紧,n现在
的官军谁不这么想。
可是依我看,還是保住
自家性命要緊,n現
在的官軍誰不這麼想。
I'm sorry to say this,nbut t
he royal forces only carena
bout their own safety.
3 텍스트 로컬라이즈 데이터 생성
Select Process
- 최종 로컬라이징 데이터 존재 유무 체크
- 최종 데이터가 있을 경우 해당 데이터와 현재 데이터를 비교
- 중복 분류
- 기존에 추출된 데이터는 별도 그룹으로 관리
- 파일별 번역 진행 상태 체크, 로그 출력
- 삭제 분류
- 기존 데이터에서 삭제된 데이터만 별도 파일로 취합해 출력
- 잘못 삭제되었거나, 자잘한 수정으로 key가 달라진 내역을 backup / 수동
확인 가능
- 신규 분류
- 새로 추가된 텍스트만 취합해 번역 전달 가능하게 정리
- 데이터 타입에 따라 생성되는 파일 구조를 분리
- 번역 분류
- Merge할 데이터는 분리해 관리
- 중복 + 번역으로 신규 번역 데이터 생성
3 텍스트 로컬라이즈 데이터 생성
Merge Process
- 최종 로컬라이징 데이터 존재 유무 체크
- 중복 분류 + 번역 분류를 합쳐 병합 파일을 생성
- 데이터 타입에 따라 생성되는 파일 구조를 분리
Parse and Exchange Test
- 생성된 데이터는 런타임에 로컬라이징 데이터를 활용해 번역 반영
- 게임 실행 중 로컬라이징 파일/언어 설정이 변경되면 즉시 반영되어 빠르게 확
인 가능
- 하지만 지나간 텍스트 다시 보기는 게임 스펙상 지원하지 않아 UI 외엔 대부분
재실행해 확인
한글 Key 사용 정책
- 개발 및 디버깅 편의성 증가
- 로컬라이즈되지 않아도 의미 파악 가능
- 외국어를 모르는 QA도 로컬라이징 미대응 영역을 빠르게 확인
- 중복 키 발생시 해당 데이터만 예외 처리
- 개발실에 디렉터 제외 일본어 가능자 부재
3 텍스트 로컬라이징 구현
Data Driven
- Python 2.7
- 데이터 핸들링 및 데이터 파싱 C# 코드 자동 생성 구현
- 로컬라이징 데이터 취합, 분류, 병합, 중복 제거 등의 전 과정을 스크립트로
자동화
- 로컬라이징 내부 규칙에 의거해 데이터를 정의하고 관리
- 텍스트 인코딩 룰에 매칭되지 않는 코드 / 리소스 필터링
3 텍스트 로컬라이징 구현
Source Data Format
- .xls
- 실제 게임 데이터 개발용 테이블 / 로컬라이즈 편집용 데이터 파일
- 툴 개발할 시간이 없어 엑셀 파일을 기준으로 필요 데이터 추출, 자동화
- .cs
- 번역이 필요한 텍스트가 포함된 Unity C# 스크립트 파일
- .prefab / .scene
- 각종 UI 텍스트 데이터가 포함된 Unity 파일
- .xml / .json
- XML: 자체 데이터 편집툴 + xls Export + 문서 편집기로 개별 작성한 파일
들
- JSON: 빌드 시 json으로 최종 import. 이벤트 데이터는 일정 상 추후 개선
예정
- .csv
- 게임에 포함되는 번역 데이터 파일
3 텍스트 로컬라이징 구현
Output Data Format
- .xls
- 로컬라이즈 작업 편집용 데이터
- 번역 업체나 데이터 전달 시 에디터로 엑셀을 활용
- .csv
- 게임에 포함되는 최종 로컬라이즈 데이터 포맷
3 텍스트 로컬라이징 구현
Select Output Data Pipeline
① 구 버전 전체 폴더 TimeStamp Setting Back Up
② .duplicated.xls
- [자동생성] 이전 버전과 비교해 생성된 중복 데이터 (유지된 데이터)
③ .deleted.xls
- [자동생성] 최신 버전에서 삭제된 데이터
④ .added.xls
- [자동생성] 최신 버전에서 추가된 데이터
④
⑦
③
②
⑥
⑤
3 텍스트 로컬라이징 구현
Merge Output Data Pipeline
⑤ .translated.xls
- [수동생성] added의 내용에 번역 내용을 반영한 데이터
⑥ .merged.xls
- [자동생성] translated + duplicated
⑦ .csv
- [자동생성] merged 변환
- 게임에 포함되는 최종 데이터
④
⑦
③
②
⑥
⑤
3 텍스트 로컬라이징 구현
Select Matching Rule
- 시스템 데이터는 단일 파일로 통합해 추출, 관리
- 메모리에 상주
- 2016/08, 일본어 버전 기준 2.1MB
- 테이블 데이터는 지정한 Field만 추출
- 추출 예약 필드 [~]
- 추출 예외 필드 [#]
- 개별 테이블 데이터는 예외 처리
- 숫자, 알파벳만으로 이뤄진 data는 추출 제외
- [===]로 로컬라이즈 예외 마킹 데이터는 추출 제외 (임시 데이터)
- Unity: Localized Label만 추출
- 일반 Text Label은 추출에서 제외
- 테스트용 / 내부 에디터 체크용 정보 Label을 분리
- 스탭롤은 원래 Localized Label이었으나 일본 요청으로 일반 Label로
변경
- C#: Localized Text만 추출
3 텍스트 로컬라이징 구현
Event Only Localize Rule
- 조조전은 텍스트 데이터(대사)가 굉장히 많은 게임
- 2016/08, 일본어 버전 xls 파일 기준 이벤트 대사만 15MB 이상
- 이벤트 번역을 단일 파일로 통합하면 당장 불필요한 이벤트 대사가 메모리
낭비
- 이벤트 번역 데이터는 이벤트 단위로 번역 파일을 분리해 관리되도록 구현
- 2016/09 현재 1,140개 파일로 분리
- 조조전의 한국어 -> 일본어 번역 비용은 일반 프로젝트에 비해 고비용이 소요
- 번역 1회 + 검수 2회
- 일본어 로컬라이징 챕터에서 다시 언급
- 반복되는 대사 패턴을 번역할 경우 불필요한 비용 증가
- But 캐릭터 개성을 반영해야 하는 번역은 같은 대사라도 여전히 분리해서
관리 필요
- 시나리오 및 콘텐츠 특성에 따라 번역 및 관리 방식을 분리
3 텍스트 로컬라이징 구현
Event Only Localize Rule
- 이벤트 유형 별 번역 데이터 관리 방식 변경
- 일반 이벤트: 개별 데이터 추출 후 일반 이벤트를 통합한 단일 added 파일
생성
- added를 번역한 뒤 통합 translated 파일을 생성
- 통합 translated의 내용을 검색해 다수의 개별 이벤트 파일에 번역 데이터
적용
- 중복 대사 및 내용은 단일 파일로 취합해 필터링해 번역 비용 감소
- 실제 로딩되는 개별 파일은 이벤트 단위로 존재해 로딩 시점에 필요 데이터만
관리
- 클라이언트 용량 측면에선 낭비가 있으나 메모리 이익 + 개별 커스터마이즈
가능성 유지
- 중요 이벤트는 개별 파일 단위로 번역을 수행하므로 중복 체크가 안되는 대신
개별 대사 고유 형태 유지
3 텍스트 로컬라이징 구현
수동 로컬라이징
- AOS의 java native, iOS의 Object-C native, 미들웨어 level에서 로컬라이징이
필요한 데이터도 존재
- 수작업으로 진행 but 미들웨어 버전업 시 수작업 로컬라이징 데이터가 날아가는
문제가 있음
- Merge 문제. 인력(=노가다)으로 대응
- iOS는 맥에서 직접 파일을 수정해야 해서 SVN도 못쓰고 빌드 서버에 앉아
수작업
- 기타 미들웨어 로컬라이징은 미들웨어용 웹 툴들을 이용해 작업
- 실수가 QA 외에 필터링되기 힘든 구조. 외부 모듈들의 사용 제한이라 개선이 힘
듬
- 보안 사항이라 세부 내용 언급은 어려워 여기까지
3 리소스 로컬라이즈 시스템
패치 리스트 생성
- 통합 데이터를 기준으로 국가별 패치 리스트 생성
- 공통 데이터 + 국가별 고유 데이터로 구분
- 한 번 빌드로 국가별 패치 데이터가 함께 생성
언어별 패치 다운로드
- 빌드 정보에 맞춰 설정된 언어에 맞는 패치 데이터 다운로드
- 불필요한 데이터는 다운로드 제외
- 로딩 시도 시점에 언어 전용 파일이 누락되었을 경우 즉시 기본 파일 추가 다운
로드
3 리소스 로컬라이즈 시스템
파일 기반 언어별 리소스 분리
로딩
- 2문자 표준 국가 코드 정보를 동일 파일명의 확장자로 추가
- 국가 정보 없는 파일은 공통 파일
- .kr: 한국에서만 사용되는 대체 파일
- .jp: 일본에서만 사용되는 대체 파일
- 리소스 로딩 시 국가 정보에 따른 전용 리소스가
있으면 해당 리소스부터 로드
- 전용 리소스가 없으면 공통 리소스 로드
- 성우 데이터, 튜터리얼 이미지 등에서 활용
- BI 등 일부 예외 구현만 제외한 나머지를 일원화
- 국가마다 리소스가 다르니 이미지에 글자가
들어가도 되는 상태
- 하지만 이미 다 만들어서… 패스. ㅠㅜ
3 필터링: 입력 제한
사용자의 입력 가능 문자 제한
- 국명, 채팅 등 유저가 입력해 외부로 노출될 수 있는 텍스트 정보 전체에 해당
- 데이터 시인성 확보 및 혼란 방지를 위해 국적/언어 설정에 따라 사용 가능 글자
를 제한
- DB 텍스트 인코딩 규격화 및 파싱 오류 방지
- 국명은 혼란 방지를 위해 1/2byte 특수 문자의 사용을 제한
- 삼국지조조전 Online에서는 계정 생성 시 지원 언어에 따라 사용 가능한 문자가
제한
- 한국 빌드로 접속 시 일어가 포함된 계정 생성이 불가능 (표시는 지원)
3 필터링: 계정/채팅 비속어 제한
유저가 입력하는 텍스트의 필터
링
- ID를 비롯, 채팅, 우편 등 유저 입력에 의한 게임 내 노출 텍스트
필터
- Nexon은 과거 MMORPG 바람의 나라부터 모든 게임에 필터링
적용
- 문제의 단어 포함시 입력 불가 / 대체 단어로 교체
언어에 따라 달라지는 요구사항
- 한글: 포함관계 모두 블록 but 케이스에 따라 블라블라
- 영어: 단어 매칭 시 블록
- 기타 등등……
언어에 따른 개별 데이터
- 언어별 필터링 데이터가 별도 존재
- 운영팀에서 필터링 대응 언어 템플릿 제공 (10개 국어 대응)
- 한글, 영어, 일어, 독일어, 스페인어, 러시아어, 포르투갈어,
3 조조전의 비속어 필터
포함관계 / 블로킹
- 테일즈위버의 필터링 규칙은 매칭 / 치환
- 조조전의 필터링 규칙은 포함 / 블록
- 추가 국가별 언어 대응에 따라 달라질 수 있음
필터링 대응 언어
- 전체: 한글, 영어, 일어, 한문(간체/번체) 대응
- 한국: 한글만 대응 중
언어에 따른 개별 데이터
- 언어별 필터링 데이터가 별도 존재
- 국내 런칭 버전은 현재 한글만 대응
채팅용 / 계정용 데이터가 분리
관리
- 데이터는 많은데 포함관계나 상위 개념 등의 정리가 부족해 추후
3 비속어 필터의 개선 고민
채팅용 / 계정용 / 게임용 데이터 관계
재정의
- 데이터 관리 주체가 운영 부서여서 개선 방안을 논의 중
- 현재는 그냥 많은 데이터가 공존
- 포함 관계 + 중복 제거를 통해 데이터 다이어트 및 정책의 명확성 개선
- 추가적인 문제 해결을 필터 데이터 자체의 개혁 필요
이하 미적용, 구현 고민하다 보류한 내
용
- 구상해 테스트는 해봤지만 정작 실천은 안한 이슈
- 데이터 정비가 공임이 큰데 공통 데이터라 정책의 변경이 필요
- 기본 개발 컨셉: 정규표현식 + 유니코드 정규화를 이용한 비속어 필터 적용
3 이하 잠시 19금
미성년자는 다음 챕터까지 눈을 감아주
세요
- 아니 뭐 그다지 이상한 게 나오진 않는데요… 그래도 심의 규정을 준수합니다
3 비속어 필터의 개선 고민
Raw data에 정규 표현식(regex) 적용
- 정규식으로 구조화하면 적은 패턴으로도 효율적인 대응이 가능
- 지금처럼 단순히 패턴 데이터를 늘리는 방식보다 필터링 효율 상승
- 중복 텍스트와 규칙의 세부적인 정비 필요
- 필요성과 우선순위의 문제 + 데이터 작성자의 숙련도가 이슈
- 예제
- 목표: Suck과 변형 단어를 모두 막자
- 입력 예제: Suck, Suuck, suck, SUCK, ssuck…
- 정규식 매칭 필터 키워드: m/(s+w*)(u+[a-z|0-9]*)(c+[a-z|0-9]*)k/
- 시연: http://www.rexv.org/
한글은 어쩌나요?
- 필터: 섹스
- 입력: 섹스, 쎅쓰, 섹쓰, 섺스, 쎆쓰, 쌕쑤, 섹ㅇ스, 섻스…
- 약간의 공수가 추가되면 한글도 가능합니다
3 비속어 필터의 개선 고민
유니코드 정규화(Unicode equivalence)
추가
- 정준분해 NFD (Normalization Form Canonical Decomposition) 후 필터링
- 발음 구별 기호를 분해
- が (U+304C) → か (U+304B) + ゙ (U+3099)
- ệ (U+1EC7) → e (U+0065) + ̂ (U+0302) + ̣ (U+0323)
- 한글 소리마디 영역(U+AC00~U+D7A3)을 첫가끝 코드로 분해
- 위 (U+C704) → ᄋ (U+110B) + ᅱ (U+1171)
- 한 (U+D55C) → ᄒ (U+1112) + ᅡ (U+1161) + ᆫ (U+11AB)
- 표준 조합 형태로 정렬
- e (U+0071) + ̇ (U+0307) + ̣ (U+0323)
→ e (U+0071) + ̣ (U+0323) + ̇ (U+0307)
- NFD 후 주요 필터링을 적용하면 비속어 변형을 상당수 회피 가능
- 입력: 섹스, 쎅쓰, 섹쓰, 섺스, 쎆쓰, 쌕쑤, 섹ㅇ스, 섻스…
- 정규식: m/([ㅅ|ㅆ]+[ㄱ-ㅎ|ㅏ-ㅣ|가-힣]*)(ㅔ+|ㅖ+|ㅐ+|ㅒ+)(ㄱ+[ㄱ-
ㅎ|ㅏ-ㅣ|가-힣]*)([ㅅ|ㅆ|s]*)/
- NFD 후 비교하면 단일 규칙으로 모두 필터링 가능
- 단, 잘못 만든 정규식은 일반 대화를 필터할 수 있는 리스크가 존재
3 비속어 필터의 개선 고민
사족: 첫가끝 코드
- 첫소리-가운뎃소리-끝소리 글자부호화 방식(Syllable-Initial-Peak-Final
Encoding Approach) 한글 부호계의 통칭
- 유니코드 5.2이상 표준화
- 오피스 워드 2002부터 지원. 윈도우 8 이후 특정 폰트에서 대응
- 은글꼴의 은바탕 및 은 자모 바탕 글꼴
- 옛한글 글꼴
- 함초롬체
- 본고딕· Noto Sans CJK
- 나눔바른고딕 옛한글 글꼴
- 한양정보통신에서 개발, 사용되어 오던 한양 사용자 정의 영역 코드(Hanyang
private use area code) / 한양 PUA 코드의 완성형 옛한글 5000여 글자 지원 한
계를 넘어 방점을 제외한 거의 대부분의 조합형 한글 처리가 가능
3 비속어 필터의 개선 고민
유니코드 정규화(Unicode equivalence)
적용
- 호환분해 NFKD (Normalization Form Compatibility Decomposition) 후 필터링
- 합자 처리된 알파벳을 각 알파벳으로 분해
- fi (U+FB01) → f (U+0066) + i (U+0069)
- 옛 알파벳을 현대 알파벳으로 변경
- ſ (U+017F) → s (U+0073)
- ẛ (U+1E9B) → s (U+0073) + ̇ (U+0307)
- 영문 채팅 필터링은 이 형태로 적용 가능
- … 그런데 이렇게까지 쓰는 사람이 얼마나 있을지는 의문
- 그 이전에 글자 입력 범위를 제한하면 이런 글자는 사용 불가로 필터링 (…)
3 비속어 필터의 개선 고민
실제 게임에 이렇게 적용 안 한 이유
- 바빠서 / 불필요한 비용에 대한 고민
- 프로토타입 아닌 실 스펙 구현할 시간에 스킬이나 아이템 하나 더 만드는
게…
- 사용자의 자유를 이렇게까지 제한할 이유가 있는지 의문
- 저렇게까지 피해가면서 쓸 생각이면 아예 뜻이 다른 단어를 차용하거나 신생할
수도
- 예) 민주화 / 한남충……
- 아무리 막아도 어떤 식이든 우회 방식은 발생. 인간은 창의적
- 그래도 기본적인 대응은 불필요한 운영/사용자 간 분쟁을 일으킬 수 있으니 필
요
- 수위와 정도와 대응 레벨의 문제
- 정규식 데이터 정리를 누가 할 건가?
- 샘플은 만들어도 다 하는 건 쫌…
- 운영팀에서 해주시면 적용
- 고양이 목에 방울 달기
Chapter [4]
언어별 폰트의 이해와 준비
Inven Game Conference
4 글꼴 포맷의 이해 – Rasterize Type
Raster VS Vector
- Raster: 정사각형 점으로 시각화하는 그래픽 표현 방식
- aka. Bitmap, Pixmap, Dot, Pixel 등
- 가장 기본이 되는 그래픽 표현 방식
- 장점
- 빠른 연산속도
- 정밀한 색 변화
- 단점
- 고용량, 해상도 증가 시 지수형태로 증가
- 확대 축소 시 계단처럼 깨짐 현상 발생
- Vector: 점과 점 사이의 곡선으로 시각화하는 그래픽 표현 방식
- 일러스트레이터, 폰트 등에서 활용되는 기법
- 장점
- 저용량
- 다양한 해상도에서 동일한 품질 유지
- 단점
- 복잡도가 높아질 수록 연산 부하가 크다
- 정밀한 색 변화나 세밀한 디테일 표현이 어려움
4 글꼴 포맷의 이해
Bitmap VS Vector
- 비트맵 폰트: Rester 방식으로 제작된 폰트
- 점활자
- 폰트 사이즈 가변 사용시 이미지 손상
- 텍스쳐 아틀라스를 제작해 용량 최적화
- 널리 알려진 최적화 방법
- 벡터 폰트: 벡터 방식으로 제작된 벡터 폰트
- 선활자, 외곽선 글꼴
- 폰트 사이즈 가변 사용시 이미지 유지
- 폰트 서브셋을 제작해 용량 최적화
- 상대적으로 잘 활용하지 않는 최적화 방법
Post Script Type
- 인쇄용 벡터 폰트. Adobe에서 개발. 인쇄물 출력 용도 외에는 사용할 일이 거의
없음
4 TTF vs OTF
TTF (True Type Font)
- 1980년 Apple에서 Adobe의 PS Type 1에 대항해 개발, 1991년 Windows 3.1
에도 적용
- Hinting Instruction: 저해상도에서도 픽셀단위 제어 가능
- 곡선 표현에 2차 베지어 곡선을 사용: 시작점, 끝점, 1개의 곡률점
- 연산 속도가 상대적으로 빠르며 저용량
- 정밀도가 떨어지며 가족체(bold, italic)가 별도 파일로 관리
OTF (Open Type Font)
- 1996년 Adobe + Microsoft에서 개발 (2007년 ISO 승인)
- True Type + Post Script: 인쇄물과 화면 출력의 통일성 유지
- 곡선 표현에 3차 베지어 곡선을 사용: 시작점, 끝점, 2개의 곡률점
- 정밀도가 높고, 가족체가 단일 파일로 관리
- 연산 속도가 상대적으로 느리며 고용량
Quadratic B-Splines
2차원 베지어 곡선
Cubic Bézier Curves
3차원 베지어 곡선
4 TTF vs OTF
Circle and quadratic bezier
8 + 8 Point
Circle and cubic bezier
4 + 8 Point
TTF vs OTF의 진실?
- Hinting 제어는 TTF가 더 좋다: 저해상도 / 작은 사이즈에서 품질이 더 우수
- 그러나 HD 시대가 되며 Hinting 제어 정밀도는 점점 의미를 상실
- OTF가 더 빠르고 수학적 연산량이나 저장 정보량도 단순한 경우도 있음
- 고해상도의 곡선 품질 정밀도는 Cubic Bezier가 더 유리 (B-Spline은
subset임)
- http://www.truetype-typography.com/articles/ttvst1.htm 참조
- 하지만 몰라도 게임 만드는 데는 지장이 없…
4 TTF와 OTF의 품질 차이
곡률이 큰 곡선 표현의 차이
- 사실 화면 크기가 작은 모바일 디바이스에선 큰 차이가 안나게 느껴질 수도 있
지만…
삼국지조조전 Online은 절충해 사용
- 통상 정보/대사 표시용 폰트는 TTF, 연출용 폰트는 OTF를 사용 (절충)
- 최종 버전은 업체의 한글 폰트 배포 정책이 변경되면서 모두 TTF로 변경
- 사실 업체에 문의해서 받아서 교체해야 하는데 바빠서 까먹고 런칭…
- 일본어 폰트는 한자 사용 빈도가 높아 모두 OTF 사용
프로젝트의 특성에 맞춰 선택하시면 됩
4 삼국지조조전 Online Case Study
Font on Unity3D
- 비트맵 폰트와 벡터 폰트(Dynamic Font / Unity Font) 모두 지원
- 오픈 소스 폰트 엔진인 Free Type Font Rendering Engine을 사용
- https://www.freetype.org/
- TTF, OTF등 다수의 폰트 포맷 지원
- IVS도 대응하고 있어 부수 변형 한자 지원 가능
Dynamic Font on 삼국지조조전 Online
- 삼국지조조전 Online은 폰트 파일을 내장해 폰트를 출력하는 방식으로 구현
- 유니티에서 NGUI/UGUI의 Unity Font 사용 시 문제가 있었으나 대안이 없어 사
용 중
- Unicode 지원 버전을 알기 힘들어 추가 글꼴의 대응이 어디까지 되는지 모름
- Freetype은 2.1은 확실히 지원하고 3.1도 되기는 하는 거 같은데… 최신
9.0지원은?
- 옛한글을 제대로 대응하려면 최소 5.2 이상이어야 함
- 비트맵 폰트의 용량/메모리 최적화에 비해 자원 낭비가 있지만, 몇 가지 장점이
존재
- 시스템 폰트 지원: 스마트 디바이스에 내장된 폰트 지원 가능
4 폰트, 어떻게 준비할까
무료 폰트도 많으니 선택해 활용
- 요즘은 좋은 무료 폰트도 많이 구할 수 있음
- 사용 전 상용 게임 적용 가능 저작권 규정 확인은 필수
- 게임 아이덴티티와 가독성이 중요하다면 상용 폰트도 검토 필요
유료 폰트 라이선스
- 상업용 유료 폰트를 라이선스 해서 사용
- 삼국지조조전 Online은 유료 폰트를 언어 별로 라이선스 해 사용
- 게임 아이덴티티를 위한 전용 폰트 제작 계약도 가능하지만 비용이 크게 증
가
- 경험에 따르면(2015년 기준)…
- 한국 업체의 한글 폰트 라이선스는 생각보다 저렴 (수백 만원 대)
- 일본 업체의 일본 폰트 라이선스도 조건에 따라서는 생각보다 저렴 (수십~
수백만 원 대)
- 법률적 제한이 한국 업체보다 복잡함
- 접촉했던 업체들은 지원 문자 수와 가격 차이는 없었음
- 중국 업체의 중문 폰트 라이선스는 예상과 달리 굉장히 비쌈 (연간 사용료
수천만 원 대)
4 폰트, 어떻게 준비할까
직접 폰트를 만드는 것도 가능
- 폰트 포지와 같은 툴을 사용하면 직접 제작 가능
- https://sourceforge.net/projects/fontforge/
- http://fontforge.org/
- 영문 폰트와 달리 한글 폰트를 만드는 건 상당한 시간과 비용이 필요
4 폰트 선정 시 주의 사항
필요한 글자를 모두 지원하는지 확인
- OTF 기준으로 최대 65,536개의 글자를 지원할 수 있으나, 폰트 용량 및 제작 비
용, 실효성 등 어른의 사정에 의해 폰트마다 지원 글자 수가 제각각
- 일어 폰트는 상대적으로 폰트 스펙의 구매 전 확인이 용이(업체에서 용도 확인
후 사전 피드백)했으나, 한글 폰트는 개발사에서 알아서 체크해야 함
- 디자인이 특이한 한글 폰트나 용량이 작은 폰트는 지원 글자 수가 적은 경향이
있음
- 지원 범위를 개별 폰트마다 일일이 확인하기 힘들어, 유니코드 규격 테이블을
참조해 한글 전체 유니코드가 표시되는 엑셀, 워드 파일을 제작해 검증
- 서식지원 기능을 활용해 눈으로 보면서 누락 글자 종류와 수량을 비율을 파
악
- 필요하나 누락된 글자가 있는 폰트를 대체하며 폰트 재선정
- http://www.unicode.org/charts/PDF/UAC00.pdf
- 게임 특성 상 한국 고전 글자 표현은 불필요해, Unicode 5.1(2007)에 추가된 옛
한글은 고려하지 않았음
- 1100:11FF, A960:A97F, D7B0:D7FF 구간
- http://std.dkuug.dk/jtc1/sc2/wg2/docs/n3242.pdf
- 한자 출력이 중요한 게임이라면 표준 한자 외의 확장한자 지원 범위 확인도 필
4 용량 문제와 최적화 (한글)
배포 용량 및 메모리
- 초기 사용하던 폰트 2종의 총 용량
- 한글: 12MB
- 일어: 24.2MB
- 유니티 기본 빌드 시 16MB
- 중국 버전 [식물 vs 좀비] 안드로이드 앱 11MB보다 큰 용량 (…)
- 폰트 서브셋 적용으로 용량 최적화
- 한글: 4.5MB
- [한글] 서브셋으로 수정된 최종 폰트 2종의 용량: 819KB
- 2048*2048 ETC1 아틀라스 2장보다 적은 용량으로 TTF 폰트 2종 지원
종류 언어 원본 Subset 절약 용량
일반 폰트 한글 3.51MB 357KB 3MB
연출 폰트 한글 970KB 462KB 0.5MB
일반 폰트 일어 11.5MB 1.83MB 9.2MB
연출 폰트 일어 12.7MB 2.13MB 9.6MB
4 폰트 서브셋 만들기
Subset Font Maker
- http://opentype.jp/subsetfontmk.htm
- 일본에서 개발된 좋은 무료 솔루션. Windows / Mac 지원
- BM 폰트처럼 사용해 TTF/OTF를 생성
- 서브셋 추출 과정에서 품질 손상에 대한 피드백을
본 적 있으나 아직 체감 못하고 있음.
폰트 포맷 변경 시의 클레임으로 예상
4 폰트 서브셋 만들기
[공통] 글자 수집/필터/리스트 출력
- VBA를 이용해 엑셀에서 수많은 로컬라이징 테이블을 단일 파일로 merge
- C++ 유틸리티를 제작해 언어별로 로컬라이징 테이블에 사용된 글자를 중복 필
터링해 정렬
- 제작된 리스트 + 필요 텍스트를 추가해 서브셋 리스트로 활용해 폰트 제작
[한글] KS X 1001:2004
- 한국 산업 규격 정보 교환용 부호계 (KS C 5601)
- 한글 2350자, 한자 4888자
- 알려진 인코딩 방식
- EUC-KR(완성형)
- ISO-2022-KR(이메일 인코딩)
- CP949 (EUC-KR + 8,822자, Windows 사용)
- 기본 필터링 규격으로 대응해 기본 글자 확보
4 폰트 서브셋 만들기
[일어] 3수준,4수준 한자 사용 필터
- 불필요한 한자들을 제거해 폰트 용량 다이어트
- 현재까지는 굉장히 성공적 + 메모리 절감 효과
[일어] 2수준 한자 필터
- 2수준 한자까지는 모두 포함
- 채팅 시 글자가 깨지지 않도록 허용
[일어] IVS 지원
- 다행히 유니티에서 지원되어 서브셋 제작시에도 커버
시스템 폰트 커버리지 활용
- 부족한 글자는 시스템 폰트로 출력되는 것을 전제로 정리
4 IVS?
이체자 Ideographic Variation
Sequence
- 같지만(?) 형상이 다른 한자 처리를 위한 유니코드 규격
- 유니코드 2글자로 1자를 표현 (1번째가 한자를, 2번째가 부수의 type 지정)
- 지원하는 에디터나 뷰어가 많지 않다 (일본 주도 개발)
- KS, JIS, GB, CNS, TCVN 등 규격들의 한자나 같은 규격 내 가변 글자의 처리
- 한중일(한월중일) 통합한자 관리에도 사용 (CJK, CJKV)
- 폰트 내부 데이터는 내부 subset으로 동작, 지원 자수에 비해 용량 감소
Chapter [5]
한국어 로컬라이징
Inven Game Conference
5 한국어 로컬라이징?
한글로 개발한 게임이 로컬라이징?
- 관점의 차이, 생각하기 나름
- 한국 런칭 전 정리해야 하는 업무들로 정의
- 데이터가 많다 보니 남말 할 처지가 아닌 상태 ㅠㅜ
5 한국어 로컬라이징 커버리지
번역 / 폰트 교체
- 한국 버전이 기준 버전이라 번역은 불필요
- 폰트 서브셋 제작
성우
- 성우 19명 더빙 (추가 캐릭터 더빙 예정)
법률 / 규정 대응
- 요구 사항 대응 완료
관습 / 문화 반영
- 한국 팬덤 코드 반영
특정 국가 전용 기능
- 네이버카페 SDK (사업 요구 사항)
5 1101010101011100 1010111000000000
한글
- 구성
- 자음 14
- 모음 10
- 조합 패턴
- 초성 19
- 중성 21
- 종성 28
- Unicode 기준
- {[(초성×21)
+ 중성]×28}
+ 종성
+ 0xAC00
5 한글 폰트 라이선스
아시아폰트
- http://www.asiafont.com/
- 장점
- 폰트통 프로그램을 통해서 미리 원하는 폰트를 자유롭게 리뷰 가능
- 폰트 라이선스 정책이 합리적 (배포 국가 제한 없음)
- 1타이틀 라이선스 시 폰트 5종까지 사용 가능 (패키지 계약)
- 조조전은 일반 폰트와 연출 폰트 2종을 사용, 3종 save
- 단일 폰트 사용 조건으로 할인은 불가 (단일 폰트 계약 시 4종 서비스의
개념)
- 비용 정책
- 게임 프로젝트 단위 계약
- 모바일 게임
- 이미지 형태 (비트맵 아틀라스): 타이틀 당 100만원
- 임베디드 (앱 내 폰트 파일 배포): 타이틀 당 300만원
- 삼국지조조전 Online 적용 형태
- PC 게임
- 임베디드 (앱 내 폰트 파일 배포): 타이틀 당 700만원
- 멀티플랫폼 시 700만원으로 추가 플랫폼 모두 커버 가능
5 조조전의 한글 폰트 라이선스
아시아폰트 – 폰트통
5 일반적인 한글 폰트의 지원 범위
- 폰트통은 460개 이상 폰트 지원
- 그러나 확장한글을 지원하는 폰트는 몇 종류 되지 않는다
- 확장한글이 필요한가?는 게임에 따라 다른 문제. 다른 카테고리도 마찬가지
- 옛한글이나 기타 폰트 처리를 위해서는 일반 규격 이상의 폰트가 필요
- 구글 noto sans의 subset을 쓰는 것도 방법이지만, 디자인을 차별화하는
부분도 개발 당시 중요하게 판단. But 현재는 사업 요구에 대응해 초반 디자
인 폰트를 모두 제거
지원 글자 자수 비고
영문 99 알파벳과 아라비아 숫자와 ASC II
기본 한글 2,350 완성형 한글 기본 지원 범위
인터넷에 필터되어 돌아다니는 기본한글은 이보다
적다
확장 한글 11,172 AC00:D7A3 = 초성 19 × 중성 21 × 종성 28
확장 한글 자모가 아닌, 조합형 한글 범위를 의미
기본 한자 4,888 연출이 아닌 경우 사용 잘 안 함
특수 문자 2,128 상당수는 게임에서 불필요
전체 20,637 안쓰는 글자는 줄일 필요가 있음
5 동음 필터링 및 대응
동명이인/지명 표기 문제
- 이름이 유니크하지 않은 문제 + 동명이인은 사용자를 혼란에 빠뜨림
- 한자 병기도 생각해봤으나, 불필요한 정보가 증가하고 사람들이 얼마나 볼
지도 의문
- 한자로는 다른 이름이지만, 한글로는 같은 발음 (표기)
- 동일 독음에 의한 중복
- 두음법칙에 의한 변화로 중복 등
- 번역 기준 key 중복 문제: 수작업으로 대응
- 한자로는 다른 글자지만, 한글로는 같은 표기
발음이 동일하면 콘텐츠를 취사 선택
- 역사 상 중요도가 더 높은 인물을 살리고 중요도가 낮은 인물을 삭제
- 하지만 여전히 몇 가지 인물들의 문제가 남아있는 상황
- 예) 제갈량 마왕 VS 제갈량
- 일부 취사 선택이 불가한 경우는 두음법칙을 파괴하거나 강제 변경하는 형태로
구분
5 문화적 이슈: 특정 커뮤니티 용어
사투리와 용어 문제
- 수백 명의 장수 대사에 개성을 부여하기
위해서 한국 버전의 특정 장수에게 방언
을 적용
- 처음 발상은 영화 황산벌
- 일본 애니메이션의 방언 활용 참조
- 일부 장수에 부여해 대사 개선 및 성우 녹
음
- QA 검수 도중 특정 대사로 인해 문제 촉
발
이놈의(노무) 자슥아!
- 성우 애드립으로 탄생한 대사
- 개발팀 입장에선 평범한 사투리였지만…
- 노무/노므라는 발음이 일베 용어를 연상
5 문화적 이슈: 특정 커뮤니티 용어
사투리가 일베 용어인가?
- 방언은 우리 언어의 다양성 중 하나지만, 비하 목적으로 이용당하고 있는 것도
현실
- 특정 커뮤니티들에서 사용되는 용어들은 자체 필터링되어 게임에 사용되지 않
은 상태
- 노므: QA 부서에서 사용하는 전수 검사툴에서 발견된 유일한 문제 단어
- 디지라: 죽어라의 방언이지만 QA에서는 심의 등급 문제로 판단
- 불필요한 오해를 피하고자 기획 시 전라도와 경상도 방언을 동일 비율로 게임에
적용한 상태
- 게임 특성 상 성우 음성 지원이 되는 전투 대사 연출을 2초 전후로 맞춰야 하는
이슈가 있어, 말이 느린 충청도 방언은 통상 적용이 아닌 부분 적용되어 비율이
적음
- 표준어를 쓰다 특정 시점에서만 충청도 방언이 섞인 대사를 사용하는 형태
- 넥슨의 여러 부서가 포함되어 사투리 사용을 허할 것인가, 사투리 사용을 모두
걷어내고 성우 재녹음 및 작성된 텍스트 전체 수정을 할 것인지 논의
결론: 이 자슥아!
5 문화적 이슈: 특정 커뮤니티 용어
문제가 된 방언(?) 일부 사례
- 니는 고마 디지쁫다!
- 쪼매 아플게다!
- 두고보자, 다음은 없으니께!
- 젠장! 맘처럼 안 된다냐!
- 꺼지라 이 자슥아!
자체 검열, 내부 검열, 외부 검열
- 최종적으로 형태는 유지했으나 콘텐츠 기획 시 자체 규제가 점점 심해지는 아쉬
움
- 강화되어가는 필터링을 고려할 때 추후 게임 개발 시 방언 사용 캐릭터를 구축
할지 미지수
- 문제는 사전 예방을 해야 하지만… 어디까지가 경계인지 불분명한 부분이 고민
5 언어 순화
맞춤법 / 비속어 / 욕필터 / 폭력성 / 선
정성 / 비하, 혐오 배제, 이슈 제거 등등
…
- 예상하지 못한 텍스트의 필터링 및 수정 진행
- 의도하지 못한 자기 검열
- 예측 / 납득하기 힘든 필터의 연속
실제 사용 불가 수정 사례 (일부)
- 그런 남자: [브로]의 [그런 남자]를 연상시키므로 사용 불가
- 보슬비: 성적 비하 단어를 연상시키므로 사용 불가
- 석팔산, 오석산: 일부 위키에서 마약으로 설명해 제거됨
(코에이 삼국지에 나오는 회복 아이템…)
- 염병을 쫓는 부채: 사전 내용이지만 비속어 필터 제한
- 잡놈: 비속어 제한
- 기타 유사, 발음 일부 동일, 등등의 이유로 많은 텍스트 수정
• 문자열 조합에 의해 메시지를 출력해야 하는 경우, 한글은 종성에 따라 조사가 변화
• 조조전은 Unicode를 사용하고 있어, 간단히 구현
• 게임에서 사용하는 텍스트 인코딩 방식에 따라서 구현 방식이 다름
• 조사 체크 루틴을 간단히 코딩해서 게임 내 로컬라이징 텍스트 연동 로직에 적용
• 만들고 나서 검색해보니 오픈 소스 코드가 있어서 허무… 검색을 생활화합시다
한글 관계언(조사) 처리5
한글 조사 처리 구현 (예제)
public static string krSuffixTest(string name, int type) {
char last = name[name.Length - 1];
string result;
if (last < 0xAC00 || last > 0xD7A3) {
return name;
}
switch (type) {
case 1:
result = (last - 0xAC00) % 28 > 0 ? "을" : "를";
break;
case 2:
result = (last - 0xAC00) % 28 > 0 ? "이" : "가";
break;
case 3:
result = (last - 0xAC00) % 28 > 0 ? "은" : "는";
break;
case 4:
int ksf = (last - 0xAC00) % 28;
if (ksf == 0 || ksf == 8) {
result = "로";
} else {
result = "으로";
}
break;
case 5:
result = (last - 0xAC00) % 28 > 0 ? "과" : "와";
break;
case 6:
result = (last - 0xAC00) % 28 > 0 ? "이여" : "여";
break;
case 7:
result = (last - 0xAC00) % 28 > 0 ? "아" : "야";
break;
case 8:
result = (last - 0xAC00) % 28 > 0 ? "이랑" : "랑";
break;
default:
return name;
}
return name+result;
}
5
• 실제로는 더 개선된 버전으로 사용 (Stringbuilder 적용 외)
• 현재 버전의 문제
• 일부 미적용: 시간되는 대로 대응 예정
• 특수 문자 제거 체크 누락: 양주(북), ‘이전’ 같은 케이스의 조사 처리 불가
• 시간 나는 대로 특수문자 제거하고 검토하는 형태로 개선 예정
• 추가로 언젠가 시간되면 만들어볼까 구상 중인 유틸리티
• 호칭 컨버터
• 직책과 나이 비교에 의해 호칭 등급화, 분리 대응
• 관우님아(X), 관우님(O), 관우야(O), 관우(O), 운장(O), 관운장(O)
• 인칭 대명사 자동 분기 처리
• 그, 그녀, 주공, 대장, 장군, 네놈, 그대, 폐하…
• 번역에 문제가 있어 고민 중
한글 관계언(조사) 처리5
5 한국 게임 이용 약관 (EULA)
요구사항
- 게임 최초 시작 시 이용 약관을 명시하고, 이에 대한 사용자 동의를 얻어야 서비
스 이용 가능
- 게임 홍보를 위한 푸티 노티피케이션은 (광고)로 시작되어야 함
- 심야 시간에 발송되는 푸시 노티피케이션은 사용자 동의가 있을 때만 발송 가능
대응
- 게임 최초 시작 시 게임 이용 약관을 명시
- 미성년자 확인 팝업과 함께 처리되어도 무관
5 법령 대응: 확률형 아이템 자율 규제
확률형 아이템 규제
- 유료 캡슐형 아이템의 결과물 목록 및 구간별 확률 수치 공개 등을 골자로 하는
업계 실천 규약으로, 한국 인터넷 디지털 엔터테인먼트(K-IDEA)를 중심으로 게
임업계가 함께 마련하여 발표한 자율 규제안
- 조조전은 게임 내에서 구매 시 간이 확률 정보를 제공하고 이용약관의 유료 확
률형 아이템 정보 메뉴를 통해서 각종 확률 아이템의 콘텐츠 별 확률 및 결과 아
이템 목록을 완전 공개
5 법령 대응: 푸시
Push Notification: 법령에 맞춰 발송해
야 함
- 3가지 핵심 포인트와 패널티
- 광고/마케팅 활용 동의 하에서만 푸시 발송
- 3,000만원 이하 과태료
- 심야 푸시(오후 9시~오전 8시) 제한은 별도 동의 하에서만 푸시 발송
- 3,000만원 이하 과태료
- 푸시 메시지의 내용은 법령에 따라 요구 사항이 충족되어야 함
- 1,000만원 이하 과태료
- 배상 책임이 회사가 아닌 소속 직원으로 본다는 점을 주의
- 사업 PM, 운영자, 기획자, 프로그래머가 소송 대상이 될 수도 있음 (제 50조
의 3 제2항)
5 법령 대응: 푸시
푸시 알림 = 광고성 정보
- 정보통신망법은 푸시 알림을 전자적 형태의 광고성 정보로 규정
- 광고성 정보는 정보통신망법 규정에 의해 불법 스팸 방지를 위한 법률에 의해
제한
- 정보통신망 이용 촉진 및 정보보호 등에 관한 법률
- 2014.05.28 일부 개정, 2014.11.29 시행, 법률 12681호
- 참고 조항은 제 50조부터 제 50조의 8
- 영리 목적의 법인, 개인이 푸시 알림을 보내면 [영리목적 광고성 정보]에 해당
- 모든 전자적 전송매체의 광고성 정보는 Opt-in 방식으로 관리되어야 함
- 수신 동의를 해야만 수신 가능한 형태
- 연관 행정 부서
- 한국 인터넷 진흥원 (KISA)
- 방송통신위원회
5 법령 대응: 푸시
처벌 상세 기준
5 법령 대응: 푸시
처벌 상세 기준
5 법령 대응: 푸시
광고성 정보의 예외
- 단, 아래 항목에 해당된다면, 예외 처리 가능
5 법령 대응: 푸시
그러나 현실은…
- 운영 이벤트로 무료 보상을 지급하는 경우도 광고를 표기함
- 계약에 의한 지급이 아닌 게임 활성화를 위한 지급이라 영리 목적에 해당
- 게임 내 이벤트 알림도 해석에 따라 영리목적으로 볼 소지가 있음
- 삼국지조조전 Online은 법령 대응 완료 후 세부 푸시 적용을 위해 로컬, 타겟 푸
시가 제외된 상태. 11월 업데이트 예정
5 법령 대응: 푸시
푸시 알림은 사전 동의가 필수
- 앱 푸시 광고를 전송하기 위해서는 수신자의 사전 수신동의를 받아야 한다
- 정보통신망법 제50조 제1항 1
- 앱 설치 단계에 따라서 수신 동의 방법이 다름
- ① 앱 설치만 한 상태
- ② 최초 실행 단계(로그인 이전단계)
- ③ 로그인 이후 단계
- 추가 요구사항
- ④ 표기의무 준수
- ⑤ 처리결과 통지 의무 부여
5 법령 대응: 푸시
광고/마케팅 활용 동의 예시
5 법령 대응: 푸시
앱 실행 상태별 사전 동의 절차
①앱 설치만 한 상태
수신동의 여부를 확인할 수 없어 광고성 정보를 전송해서는 안 됨
②최초 실행 단계 (로그인 이전 단계)
원칙적으로는 광고성 정보 전송을 하면 안 됨.
단, 앱 최초 실행 시 수신동의 팝업으로 광고성 정보 수신 동의를 받으면 앱 푸시
광고 전송이 가능하다. 단, 앱 최초 실행시 실행자에게 광고성 정보 수신동의에 체
크 하도록 하고, 해당 기기에 대한 전송 동의를 받아야 함
앱 푸시 알람을 받는 것에 대한 동의는 광고성 정보 수신동의에 해당되지 않음
명시적으로 광고성 정보 수신동의에 대한 질문을 통해 동의를 받아야 함
단순히 푸시 알림 승인을 받는 것은 법률상 유효한 광고성 정보 수신동의로 볼 수
없기 때문
사용자들 입장에선 굉장히 싫은 절차로 느껴질 수 있지만, 받지 않으면 푸시를 보
낼 수 없음
5 법령 대응: 푸시
앱 실행 상태별 사전 동의 절차
③로그인 이후 단계로 구분
수신자가 설정한 회원정보(수신자 동의 등)에 따라 광고 전송이 가능.
이미 홈페이지나 오프라인에서 회원으로 가입하면서 광고성 정보 수신동의를 한
이용자에게는 별도의 동의절차 없이 광고성 정보를 전송할 수 있음. 단 매체별로
수신동의를 받은 경우 앱에 대한 광고는 별도로 받아야 함.
앱으로 별도의 회원가입을 받는 경우 회원가입시 광고성 정보 수신동의 여부를 물
어보고 명시적으로 동의를 한 자에게만 광고성 정보 전송이 가능.
수신자의 기기 내에서 앱 푸시 알림의 승인·거부가 광고성 정보 ‘수신동의’ 및 ‘수
신거부’ 기능을 가지는 것이 아님에 주의.
광고성 정보 수신동의는 해당 고객에 대해 매체와 상관없이 광고성 정보를 수신하
겠다는 뜻.
때문에 앱 푸시 알림 설정과 광고성 정보 수신 동의는 구분해야 함
5 법령 대응: 푸시
심야 푸시 동의
- 오후 9시~오전 8시 사이에 발송되는 푸시
- 심야 푸시 동의를 구해야 함
- 시스템에서 발송되는 로컬 푸시와 타겟 푸시는 법령 해석에 대한 논란의 여지가
있는 상태
- 쿨타임 종료, 자원 수거 완료, 침공 알림 등
- 아직 동의를 받지 않아도 괜찮다는 의견도 있지만, 언제 문제가 될지 알 수
없음
- 현재 상태
- 일반 푸시는 심야 푸시 시간대에 발송하지 않는 정책 적용
- 로컬/타겟 푸시도 푸시 도달 시간을 체크해 시간에 따라 발송하지 않도록
구현 중
5 법령 대응: 푸시
푸시 표기 의무 준수 사
항
- 정보통신망법 제50조 제4항의 표기의무사항
을 모두 준수해야 함
- (광고) 로 푸시 메시지 시작
- 전송자 명칭 포함
- 예: (넥슨)
- 수신거부 방법 포함
- 우측 넥슨 푸시 메시지들은 이를 준수하
는 모범적인 사례에 해당
- 홈&쇼핑은 신고 시 과태료 1,000만
원
5 법령 대응: 푸시
푸시 수신 동의 설정 변경 처리 결과 통
지
- 앱 설정에서 수신동의를 변경하면 수신동의 철회에 해당하므로 처리 결과 통지
가 필요
- 설정 변경 시 팝업을 즉시 띄워서 변경 사항을 명시하면 됨
- 단, 서버에서 해당 설정의 확인이 불가하고 설정 시 수신이 차단 가능하다면, 처
리 결과 별도 통지 의무를 우회 가능
- 잘못 구현했다가 신고 당하면 과태료 1,000만원 이하
수신 거부 의사 표시 후 처리
- 전송자 이름/업체, 날짜, 처리 결과를 14일 안에 안내
불법 스팸 방지를 위한 정보통신망법 안
내서
- http://spam.kisa.or.kr/kor/notice/noticeView.jsp?p_No=10&b_No=10&d_No
=72
Chapter [6]
일본어 로컬라이징
Inven Game Conference
6 커버리지
번역 / 폰트 교체
- 외주 번역 진행
- 폰트 서브셋 제작
사운드 / 성우
- 성우 35명 더빙 (추가 캐릭터가 다수 예정되어 있어 서비스 결과에 따라 추가 더
빙 검토)
- 효과음은 수정하지 않고 진행
법률 / 규정 대응
- 이하 언급
관습 / 문화 반영
- 이하 언급
특정 국가 전용 기능
6 일본 폰트 라이선스
森澤信夫(Morisawa) vs Fontworks
- 라이선스 진행 시 주요 검토 대상
- 모리사와는 1924년 세계 최초로 사진식자기를 개발한 역사와 전통의 회사
- 폰트웍스는 방송/DTP 시장에서 새로운 활로를 개척한 신흥(?) 회사
- 소규모 업체를 비롯해 20여개의 폰트 업체의 다양한 폰트들을 검토하다, 대형
업체로 귀결
- 최초 검토는 양사의 폰트를 동시에 검토
- UI 디자이너의 의향에 맞춰 최초 컨택은 모리사와로 진행
- Nexon Japan의 지원을 받아 한국에서 계약 검토 중 계약 형태와 관련해 이슈가
발생
- Fontworks는 계약 진행이 좀 더 유연하다 판단되어 병행 검토 진행
6 일본 폰트 라이선스
Fontworks
- http://fontworks.co.jp/
- 애니메이션 신세기 에반게리온의 그 유명한 타이포 폰트를 제작한 폰트 업체
- 미려한 폰트가 많고, GroupY(윤디자인 연구소)와 계약되어 윤디자인 계열 폰트
대응
- LETS라는 1/3년 갱신형 Subscription 결제 모델로 접근성 용이 (일본 내 계약만
가능)
- 장점
- 계약 진행이 용이하고 커뮤니케이션이 편함 (계약 전 테스트 폰트 사용도
허용)
- 1수준~4수준 한자까지 다양한 한자를 지원하는 폰트군 확보
- 대다수의 폰트가 IVS 지원
- 비용 정책
- 계약 형태에 따라 비공개
- 모리사와도 좋은 글꼴이 많습니다. 모리사와와 계약을 희망하시면 컨택해보세
요
- 넷마블 게임들이 모리사와 폰트를 주로 라이선스하는 것으로 알고 있습니
6 일본 폰트 선정 이슈
• 기본 사용 문자
• 가나
• 히라가나
• 카타카나
• 한자
• 상용한자
• 1수준 한자
• 2수준 한자
• 숫자
• 통상 허용 문자
• 알파벳
• 특수 문자
• 1byte / 2byte
• 한자의 범위
• 1~4수준 한자 중 어디까지 지원할 것인가?
6 일본어 번역 사전 진행
주 1회 업데이트를 위해 정기 번역 진행
- M17N 당시: 1-2개월 단위로 개발과 병행해 번역 진행
- 현재 상태 유지: 코에이테크모 컨펌 및 L10N 런칭 일정 단축을 위해 진행
일본어 번역 프로세스
- 일반 게임 번역에 비해서 굉장히 복잡한 공정 절차가 적용
- 프로세스 1사이클을 도는데 1개월 이상 소요
- 사전 준비를 하더라도 동시 런칭에 어려움
- 번역 후 2회의 검수 후 추가 이슈 대응을 하는 구조
6 번역 업체 선정
Latis
- http://latisglobal.com/
- 여러 전문 업체를 테스트한 결과 일문에서 제일 좋은 평가를 받아 선정
6 일본어 번역 프로세스 1Cycle (1/2)
프로세스 언어 Company 담당자
콘텐츠 제작 한국어 Thingsoft 프로그램/게임디자인팀
1차 로컬 데이터 반영 한국어 Thingsoft 디렉터
1차 내부 검수 한국어↔한국어 Thingsoft 디렉터
성우 더빙 한국어 Thingsoft
Nexon Korea
게임 디자이너, 디렉터
사운드 엔지니어
성우
한국어 QA 한국어↔한국어 Nexon Networks QA팀
일본어 번역 [정기]
[긴급]
[임시]
한국어↔일본어 Latis
Nexon Korea
Thingsoft
한국인 전문 번역가
사업팀
디렉터
로컬 데이터 반영 및 수정 일본어↔한국어 Thingsoft 디렉터
번역 검수/교정 1차 일본어↔일본어 Nexon Japan 일본인 전문 번역가
로컬 데이터 반영 및 수정 일본어↔한국어 Thingsoft 디렉터
번역 검수/교정 2차 한국어↔한국어
일본어↔일본어
KOEI TECMO 한국인 스탭 (2016/08~)
일본인 전문 번역가
로컬 데이터 반영 및 수정 일본어↔한국어 Thingsoft 디렉터
6 일본어 번역 프로세스 1Cycle (2/2)
프로세스 언어 Company 담당자
성우 캐스팅 컨펌 일본어 KOEI TECMO 담당 부서
성우 더빙 일본어 Nexon Japan 일본인 담당자
일본인 보이스 디렉터
일본인 엔지니어
일본인 성우
일본어 QA 일본어 Nexon Networks
Nexon Korea
QA팀
사업팀
코에이테크모 허들
[런칭 전 단발성]
일본어 Nexon Japan
KOEI TECMO
사업팀
테스터
허들 피드백 반영
[런칭 전 단발성]
한국어, 일본어 Thingsoft 디렉터
로컬 데이터 Shipping 한국어, 일본어 Thingsoft 디렉터
런칭 피드백 한국어, 일본어 유저
런칭 피드백 반영 한국어, 일본어 Thingsoft 디렉터
여기에 일어 문장개선 외주를 추가 (10
6 일본어 번역 프로세스 1Cycle (2/2)
…를 개발 내내 1~2개월 단위로 반복
- (낭비) 게임 변경 / 내용 수정이 발생하면 완료된 데이터 삭제 후 재번역
- (TO 한도) 개발 조직에 일본어 전문 인력이 없어 디렉터가 직접 로컬라이징 업
무 전수 대응
- 적용 후 QA 프로세스
- 1차 체크: 일본어를 모르는 한국 QA가 간이 검수 진행
- 2차 체크: 일본어를 아는 사업팀에서 검수 진행
- 3차 체크: 레이아웃 망가지는 부분들에 대한 개발팀 수정
- 한글/일어 기준 텍스트 용량 도합 17.9MB (2016/08 기준)
- 이벤트 대사: xls 기준 1,140개 15.8MB
- 테이블 정리: xls 기준 1개 2.1MB
- … 게다가 이게 끝이 아님
- 매달 연의 3~6종 추가 개발 진행 중
- 추가 시스템과 콘텐츠도 개발
- 사람살려
• 테스트하며 번역 테이블 리소스 반복 수정이 무한히 발생하고 있어 고민 시작
• 구현을 고민하다 누군가 만들어둔 게 있길래 가져다 테스트
• http://ft-lab.ne.jp/cgi-bin-unity/wiki.cgi?page=unity_ngui_label
• 문장 부호와 특정 문자가 라인의 첫 글자로 나오는 Case를 방지하는 강제 개행 규칙
• 、。)」』ぁぃぅぇぉっゃゅょゎァィゥェォッャュョヮヵヶ
• 번역 시 Label Size 기준이 폰트마다 다르고 텍스트마다 달라 수동 개행을 계속 대응하고 있으나
사람이 하면 언젠가 어딘가에서는 누락이 발생할 것이기에 구현으로 대응하는 것이 안전
• 이하 구현을 위한 레퍼런스 예제
금칙 처리 (진행 중)
private string m_ConvWrapText(UILabel label, string orgText) {
string orgStr = orgText;
string wrapStr = "";
if (!label.Wrap(orgStr, out wrapStr)) { wrapStr = label.text; }
if (wrapStr.Equals(orgStr)) return orgStr;
string str = orgStr.Replace("rn", "n");
string kinsokuStr = "、。)」』ぁぃぅぇぉっゃゅょゎァィゥェォッャュョヮヵヶ";
6
6 금칙 처리 (계속)
while (true) {
string [] strArray = str.Split('n');
string wrapStrE = "";
string newStr = "";
for (int i = 0; i < strArray.Length; i++) {
if (i > 0) newStr += "n";
string strL = strArray[i];
if (!label.Wrap(strL, out wrapStrE)) { wrapStrE = strL; }
if (wrapStrE.Equals(strL)) {
newStr += strL;
continue;
}
string [] strLineArray = wrapStrE.Split('n');
string newLineStr = "";
for (int j = 0; j < strLineArray.Length; j++) {
string strLine = strLineArray[j];
string str0 = strLine[0].ToString();
if (newLineStr.Length > 0 && kinsokuStr.IndexOf(str0) >= 0) {
string lastStr = newLineStr.Substring(newLineStr.Length - 1, 1);
newLineStr = newLineStr.Substring(0, newLineStr.Length - 1);
strLine = lastStr + strLine;
}
if (newLineStr.Length > 0) newLineStr += "n";
newLineStr += strLine;
}
newStr += newLineStr;
}
str = newStr;
if (!label.Wrap(str, out wrapStrE)) { wrapStrE = str; }
if (str.Equals(wrapStrE)) break;
}
return str;
}
6 금칙 처리 (계속)
GameObject mainG = GameObject.Find("/UI Root/message_label") as GameObject;
UILabel label = mainG.GetComponent("UILabel") as UILabel;
string orgText = label.text;
label.text = m_ConvWrapText(label, orgText); // 금칙 처리 텍스트 컨버팅
• 동작은 하지만 개선의 여지가 많아 수정 중
• Garbage가 많아질 수 있어, System.Text.StringBuilder 를 사용해 메모리 낭비를 줄이고,
StringBuilder Replace()와 정규 표현식으로 코드 간결화 및 테스트 코드 개선 중
• 더 좋은 개선안이 있으시다면, 공유해주시면 좋겠네요
6 아직 남아있는 L10N 대응
요미가나 구현 및 가독성 대응
- 이슈가 많아 일정 및 방식 고민 중.
- 구현 전까지 자를 이용해 이름의 요미가나 병행 표시
- 각종 설명 텍스트에 2수준 한자 이상에 요미가나 병행 기입 (보강 중)
- 어려운 한자어를 쉬운 한자어나 히라가나나 카타카나로 교체
- 세계관 표현 < 문장을 쉬운 형태로 전체적인 텍스트 수정
- 검색 기능이 지원되는 웹 기반 용어집 추가: 모르면 찾아볼 수 있게
- 한자 사용량을 가급적 감소
- 요미가나 개발에 참고하고 있는 개발 레퍼런스는 이 문서
- http://www.slideshare.net/RyoheiTokimura/unite2015-u-gui
6 아직 남아있는 L10N 대응
성별/성격에 따른 대사 분기
- 가성비 문제로 진행 여부를 고민 중
- 공통 대사 텍스트가 현재는 물리적 일정 문제로 단일 텍스트로 존재
- 남성어/여성어를 비롯해 성격에 따른 대사 특성을 공용 대사에도 대입하려면 이
에 대한 추가 개발이 필요
- 직책/직급 등은 상황에 따라 변동성이 너무 커서 모두 커버하는 것은 현실적으
로 가성비가 안나옴
번역 품질 개선
- 일본인에 의한 번역 품질 개선
- 문장의 정합성 / 문장과 단어의 난이도를 낮추는 작업
- 코에이의 최근 시리즈의 일본 내 캐릭터성에 맞춰 성격 차이 보정
- 사극 스타일의 대사 및 번역 결과물과 코에이 스타일 간의 보정
- 인물의 모든 대사 별 통일성 정비
- “ 나의 조조는 이러치 않아 ” … 일본어판 대사를 외우는 수준의 인력이 필요할
듯
- 도움 주실 수 있는 분이 계시면 연락 주세요. 계약하겠습니다
6 일본 – 법령 대응
특정상거래법
자금결제법
경품표시법
전자상거래법
개인정보거래법
민법
- 미성년자 이용 시 친권자 동의 취득
- 사용자의 권리가 보장받는 국가. 한국과는 다른 형태로 법령이 정비되어 있음
- 개발하는 입장에서는 대응해야 하는 법률이 많아서 피곤 (…)
- 이용약관
- 개인정보 보호정책
- 심의 등급
- etc…
6 일본 – 특정상거래법
요구사항
- 통신판매 시 판매 조건 및 통신판매 통지를 의무적으로 게임 내에 고지해야 함
- 특정상거래법에 대한 내용을 게임옵션과 구매화면에 제공해야 함
대응
- 결제 메뉴에 ‘특정상거래법에 의한 표기 (特定商取引法に基づく表記) ’ 버튼 추
가
- 클릭 시 Nexon Japan 법무팀 검토를 득한 법령에 대한 안내 내용을 노출
- 게임 설정 내 ‘고객센터’ 메뉴에도 동일한 내용을 노출
- AOS, iOS가 내용이 달라야 하는 부분이 있어 각각 별개의 약관이 노출되어야
함
6 일본 – 자금결제법
요구사항
- 현금으로 게임 포인트를 구매한 후 해당 포인트가 서비스 종료 및 회사 도산으
로 인해 정상적으로 사용하지 못하고 소멸하는 것을 방지하기 위해, 해당 내용
명시 및 현금 구매 포인트에 대한 선 사용 및 미사용 포인트 잔액을 확인할 수
있어야 함
- 매년 3월말일과 9월 말일에 미사용 포인트 잔액의 절반을 일본 정부에 공탁/정
산해야 함
- 포인트가 6개월 이내 소멸될 경우 공탁 대상에서 제외
유료/무료 재화 잔액 확인
- 現在、あなたが保有している○○○の内訳です。
- 無料配布された○○○:
- 購入した○○○:
- 購入○○○から消費されます。
6 일본 – 자금결제법
대응
- 결제 메뉴에 ‘자금결제법에 따른 정보 제공 (資金決済法に基づく情報提供)’ 버
튼 추가
- 클릭 시 Nexon Japan 법무팀 검토를 득한 법령에 대한 안내 내용을 노출
- 게임 설정 내 ‘고객센터’ 메뉴에도 동일한 내용을 노출
- 현금 구매/무료 제공 포인트를 구분해 유저가 상시 확인 가능하게 게임 내 노출
- 미 사용 포인트 잔액 확인, 사용여부, 기준일의 미 사용 금액을 확인할 수
있도록 구현
- 현금 구매 포인트를 무료 제공 포인트보다 항상 우선 소모 처리
- 2차 재화의 추가 자금결제법 포함을 막기 위해 2차 재화 구매 기능 제거
- 일본 금융청 보고 결산을 위한 정산 집계 기능 구현
- NEXON JAPAN과 미사용분 현금 구매 포인트를 일본 정부에 공탁하는 대리 계
약 체결
6 일본 – 자금결제법
대응
- 일본 금융청 3, 9월 보고 결산을 위한 정산 집계 기능 구현
- 유상 / 무상 포인트를 분리 관리 및 표시, 유상 포인트 별도 집계
- ① 기준 기간 (3월 말 : 전년 10/1 ~ 3/31, 9월 말 : 4/1 ~ 9/30) 중 유저에
게 발행한 포인트의 합계
- ② 기준 기간 중, 유저가 사용 / 소비한 포인트의 합계
- ③ 기준 기간 중, 유효기간이 지나 소멸된 포인트 / 이용정지로 사용이 불가
능해진 포인트 / 발행이 취소된 포인트 / 그 외 다른 이유로 사용하지 못하
게 된 포인트 합계
- ④ 기준일 말에 유저가 보유하고 있는 포인트 잔액의 합계. (3/31, 9/30)
- (전 기준일 말에 유저가 보유한 포인트 잔액) +①-②-③=④가 성립
되어야 함
6 일본 – 자금결제법
대응
- 게임 서비스를 종료하는 경우에, 일본에서는 아래의 프로세스를 따라야 함
- 포인트 발행과 사용 기능 모두 종료된 시점에 환불이 진행되어야 하며, 유저의
포인트 미사용 잔액을 환불해야 함
대응 시기 대응 사항
서비스 종료 결정 신속하게 금융청에 보고
서비스 종료
1~2개월 전
서비스종료 사전 공지
환불기간 개시일
일간신문 지면에 환불에 관한 공고
환불에 관한 게시
(앱 내부, 앱 공식 웹사이트, 회사 웹사이트, 금융청 웹사이트,
국민생활 센터(国民生活センター) 웹사이트・소비생활 센터
웹사이트)
환불신청 기간
(60일 이상)
환불신청 접수와 실시
(유료 재화만 환불 대상, 할인 전 단가로 환불 진행.
환불 신청 기간 내 신청하지 않은 경우 환불 의무 없음)
환불 완료 신속하게 금융청에 보고
6 일본 – 민법
요구사항
- 미성년자가 게임 아이템 구매 등의 거래를 하는 경우 친권자의 동의를 받게 하
는 법률
- 게임 최초 시작 시 / 상점에서 유료로 판매하는 상품을 구매하는 경우 매번 20세
미만인지 여부를 확인하고, 20세 미만의 경우 친권자 동의를 받아야 함
대응
- 게임 최초 시작 직후, 계정 생성 전 연령 확인 및 친권자 동의 프로세스 추가
- 매 결제마다 결제 전 연령 확인 및 친권자 동의 프로세스 추가
- 사용자 연령확인 > 20세 미만의 경우 친권자 확인 요청 > 친권자 확인 후 결제>
20세 이상인 경우 재확인 후 결제 진행
6 일본 – 민법
최초 실행 시 이용 약관 동의 안내 출력
本ゲームを利用していただくには「利用規約」に同意していただく必要があります。
また、未成年者が本ゲームをご利用いただくには、親権者の同意を得ていただく
必要があります。
利用規約に同意しますか?あなたは成年ですか?未成年者の場合、親権者の同意
を得ましたか?
6 일본 – 민법
결제 시 매번 미성년자 및 생년월일 확
인
未成年者が○○○[상품명]を購入するには保護者(親権者)の同意が必要です。
年齢認証のため、あなたの生年月をご入力ください。
あなたは、○○○○[출생년도]年○○[출생월]月生まれで間違いありませんか?
未成年者の場合:20歳未満の方が、○○○[상품명]を購入するためには、保護者
(親権者)の同意が必要です。○○○[상품명]購入について保護者の同意を得まし
たか?
6 일본 – 경품표시법
요구사항
- 과도한 경품 제공 금지 및 카드 맞추기를 통한 경품 제공 금지, 부당표시 금지
- 경품 금액 제한: 유료 결제 시 복권 등 경품을 제공하는 경우
- 유료 결제 시 전원에게 경품을 제공하는 경우
- 단, 유료/무료에 상관없이 우편, 웹페이지 등으로 경품을 제공하는 경우 제한 없
음
현금 거래가액
경품 한도
최고 금액 총액
5,000엔 미만 거래가액의 20배 현금 상환에 의한 매출
예상 금액의 2%5,000엔 이상 10만엔
현금 거래가액
경품 한도
최고액 총액
1,000엔 미만 200엔
제한 없음
1,000엔 이상 거래가액의 2/10
6 일본 – 경품표시법
대응
- 경품 진행 시 경품금액 제한 및 유저에게 오인될 수 있는 부당표지(완전 무료 등)
제거
- 재화를 걸거나, 우연의 승패에 의한 것, 재화의 득실을 놓고 경쟁하는 콘텐츠 제
거
- 가챠 아이템의 최저 가치는 가챠 판매 가격 이상으로 책정
- 컴플리트 가챠 이슈
- 재화를 걸거나, 우연의 승패에 의한 것, 재화의 득실을 놓고 경쟁하는 콘텐츠 제
거
6 일본 – 전자상거래법
요구사항
- 전자상거래를 통해 구매를 진행할 경우 구매에 대한 내용을 최종 확인할 수 있
어야 함
대응
- 아이템 구입 및 포인트 충전시, 결제 완료 전에 확인 화면을 제공
- 미성년자 확인 팝업과 함께 처리되어도 무관
6 일본 – 개인정보보호법
요구사항
- 게임에서 개인정보, 프라이버시 정보를 취득할 경우 개인정보보호정책을 게임
내에 게시하고 해당 부분에 대해서 사용자가 지속적으로 확인할 수 있어야 함
대응
- 게임 내에 고객센터를 구현, 개인정보보호정책의 상시 열람이 가능하도록 처리
- 게임이용약관
- 개인정보취급방침
- 특정상거래법(特定商取引法)에 따른 표기
- 자금결제법(資金決済法)에 따른 정보 제공
- 미성년자 확인 팝업과 함께 처리되어도 무관
Chapter [7]
중문, 영어 로컬라이징
Inven Game Conference
7 로컬라이징 커버리지
번역 / 폰트 교체
- 중문 폰트 금액이 너무 비싸서 대체제를 찾는 중
- 연간 계약, 금액 이슈
법률 / 규정 대응
- 퍼블리셔 논의 중. 퍼블리셔 가이드에 맞춰 대응
관습 / 문화 반영
- 인지하고 있는 부분부터 순차 대응
특정 국가 전용 기능
- SDK 재구축, BM 변경 등
7 번역 업체 선정
Lionbridge
- http://www.lionbridge.com
- 여러 전문 업체를 테스트한 결과 중문/영문에서 제일 좋은 평가를 받아 선정
7 간체, 번체, 영문 동시 번역
한글/일어 -> 간체/번체/영문
- 언어별 전문가를 별도 할당해 동시 번역 진행
중국: 한글+일어 -> 간체
- 한자와 코에이 피드백이 반영된 일어를 레퍼런스로 삼아 한글 기준으로 번역 진
행
중화민국: 간체 -> 번체
- 간체 번역을 기준으로 번체 번역 포팅 후 번체 특성에 맞춰 재검토
기타: 간체 -> 영문
- 영어권 거주 중국인 2/3세 대상. 중문 기준 고유 명사 발음 처리
7 간체 번역 우선
사극 스타일 번역
- 한국처럼 역사 드라마 분위기로 진행
기준 안내 후 개행 조정
- 언어 특성상 개행 여부가 문장 의미가 바뀌기에 업체에서 전체적으로 개행 수정
간체 번역 기준으로 번체 번역
- 단순히 글자만 바뀌는 줄 알았는데 문맥이 달라지는 등 차이가 있었음. 언어의
세계…
자체 검수의 어려움
- 중국어를 잘 모르니 자체 검수가 불가능
- 해당 언어를 전혀 모르니 해외 사업 부서와 업체를 믿고 전담
- 일어는 자체 수정하거나 조정/조율을 진행했으나, 중문은 전달받은 대로 반영
- 품질 개선/테스트에 영향이 커서 팀 내에 해당 언어 인력이 있었으면 하는 아쉬
움이 존재
- 계약에 따라 게임 테스트까지 포함해 로컬라이징 대응도 되지만, 일정 등의
7 영문 번역 기준
인물/지명: 중문 발음 + 의미 번역 조합
- (O) 모든 인물과 독음을 중국어 기준으로 맞추고, 중국스타일로 작업
- (X) 모든 인물과 독음을 일본어 기준으로 맞추고, 일본풍(KOEI)스타일로 작업
장비/도구: 의미 번역
텍스트 길이 문제
- 의미 기준으로 번역하든, 유사한 단어로 교체하든, 어떻게든 길이가 엄청나게
증가
- 영문 번역 시 필연적으로 UI 영역 문제 발생
- 과감한 약어 사용은 의미를 알 수 없게 만들고 적당히 바꾸면 원문 파악이 어려
움
한글 일어 영문 영문 간소화
장료 張遼 Zhang Liao -
수춘 상부 寿春・上部 Temporary Base, Shouchun S. Chun T
청룡언월도 靑龍偃月刀 Green Dragon Crecent Blade
7 영문 번역 기준
언어 수위 제한
- 성인 등급 수준의 과격한 비속어 사용은 금지: Shit / Suck / Asshole…
- 내부적으로 판정한 언어 폭력 허용 범위 한도 : Darn 수준
- 최초 번역 이후 수위 조절을 논의해 개선
- 조직 내 American의 자문을 구해 언어 폭력성 수위를 조정
7 중문, 영어 번역 프로세스 1Cycle
프로세스 언어 Company 담당자
간체 번역 1차 [기계]
[임시]
한글↔간체 Thingsoft 디렉터 (구글 번역기)
개발 QA 아르바이트
번체 번역 1차 [기계1]
[기계2]
[임시]
한글↔번체
간체↔번체
한글↔번체
Thingsoft 디렉터 (구글 번역기)
개발 QA 아르바이트
간체 번역 2차 한글↔간체 Lion Bridge 한국인 전문 번역가
번체 번역 2차 간체↔번체 Lion Bridge 한국인 전문 번역가
영문 번역 한글,간체↔영어 Lion Bridge 한국인 전문 번역가
로컬 데이터 반영 및 수정 간체↔한글
번체↔한글
영어↔한글
Thingsoft 디렉터
L10N으로 변경되며 이후 진행 Hold
- 퍼블리셔 계약 후 퍼블리셔 업무로 이관
- 2015년 11월 개발 콘텐츠까지 번역 적용 상태
7 6개월 간 번역 진행 후 진행 보류
중국: 퍼블리셔가 담당
- 퍼블리셔 번역을 믿고 가도 되는 상황이 되어 Hold
중화민국: 중국 번역 포팅 예정
- 초기엔 한중일 동시 런칭 예정이라 번역을 했으나, 중국이 먼저 런칭하게 되어
Hold
영문: 퍼블리셔가 담당
- 중국 퍼블리셔 커버리지가 되어 Hold
[IGC 2016] 띵소프트 이득규 - 삼국지조조전 Online L10N 개발 Case Study
[IGC 2016] 띵소프트 이득규 - 삼국지조조전 Online L10N 개발 Case Study
[IGC 2016] 띵소프트 이득규 - 삼국지조조전 Online L10N 개발 Case Study
[IGC 2016] 띵소프트 이득규 - 삼국지조조전 Online L10N 개발 Case Study
[IGC 2016] 띵소프트 이득규 - 삼국지조조전 Online L10N 개발 Case Study
[IGC 2016] 띵소프트 이득규 - 삼국지조조전 Online L10N 개발 Case Study
[IGC 2016] 띵소프트 이득규 - 삼국지조조전 Online L10N 개발 Case Study
[IGC 2016] 띵소프트 이득규 - 삼국지조조전 Online L10N 개발 Case Study

More Related Content

What's hot

쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)
쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)
쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)
Kay Kim
 
김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019
김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019
김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019
devCAT Studio, NEXON
 
최은영, 아티스트가 기획을 - 하이브리드의 길 Ver.1, NDC 2012
최은영, 아티스트가 기획을 - 하이브리드의 길 Ver.1, NDC 2012최은영, 아티스트가 기획을 - 하이브리드의 길 Ver.1, NDC 2012
최은영, 아티스트가 기획을 - 하이브리드의 길 Ver.1, NDC 2012
devCAT Studio, NEXON
 
게임 기획자의 생존 전략
게임 기획자의 생존 전략게임 기획자의 생존 전략
게임 기획자의 생존 전략
태성 이
 
김동건, 게임 디렉터가 되려면, 2008.07.04
김동건, 게임 디렉터가 되려면, 2008.07.04김동건, 게임 디렉터가 되려면, 2008.07.04
김동건, 게임 디렉터가 되려면, 2008.07.04
devCAT Studio, NEXON
 
뉴비라이터를 위한 게임라이팅 일반론
뉴비라이터를 위한 게임라이팅 일반론뉴비라이터를 위한 게임라이팅 일반론
뉴비라이터를 위한 게임라이팅 일반론
sinnoske
 

What's hot (20)

NDC 2010 이은석 - 마비노기 영웅전 포스트모템 1부
NDC 2010 이은석 - 마비노기 영웅전 포스트모템 1부NDC 2010 이은석 - 마비노기 영웅전 포스트모템 1부
NDC 2010 이은석 - 마비노기 영웅전 포스트모템 1부
 
쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)
쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)
쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)
 
기획자의 포트폴리오는 어떻게 써야 할까
기획자의 포트폴리오는 어떻게 써야 할까기획자의 포트폴리오는 어떻게 써야 할까
기획자의 포트폴리오는 어떻게 써야 할까
 
[IGC 2017] 블루홀 최준혁 - '플레이어언노운스 배틀그라운드' DEV 스토리
[IGC 2017] 블루홀 최준혁 - '플레이어언노운스 배틀그라운드' DEV 스토리[IGC 2017] 블루홀 최준혁 - '플레이어언노운스 배틀그라운드' DEV 스토리
[IGC 2017] 블루홀 최준혁 - '플레이어언노운스 배틀그라운드' DEV 스토리
 
김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019
김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019
김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019
 
[IGC2018] 왓스튜디오 방영훈 - 놀면서공부하기
[IGC2018] 왓스튜디오 방영훈 - 놀면서공부하기[IGC2018] 왓스튜디오 방영훈 - 놀면서공부하기
[IGC2018] 왓스튜디오 방영훈 - 놀면서공부하기
 
레벨디자인 특강 이동훈
레벨디자인 특강 이동훈레벨디자인 특강 이동훈
레벨디자인 특강 이동훈
 
어서와 게임기획은 처음이지?
어서와 게임기획은 처음이지?어서와 게임기획은 처음이지?
어서와 게임기획은 처음이지?
 
NDC 2016 이은석 - 돌죽을 끓입시다: 창의적 게임개발팀을 위한 왓 스튜디오의 업무 문화
NDC 2016 이은석 - 돌죽을 끓입시다: 창의적 게임개발팀을 위한 왓 스튜디오의 업무 문화NDC 2016 이은석 - 돌죽을 끓입시다: 창의적 게임개발팀을 위한 왓 스튜디오의 업무 문화
NDC 2016 이은석 - 돌죽을 끓입시다: 창의적 게임개발팀을 위한 왓 스튜디오의 업무 문화
 
최은영, 아티스트가 기획을 - 하이브리드의 길 Ver.1, NDC 2012
최은영, 아티스트가 기획을 - 하이브리드의 길 Ver.1, NDC 2012최은영, 아티스트가 기획을 - 하이브리드의 길 Ver.1, NDC 2012
최은영, 아티스트가 기획을 - 하이브리드의 길 Ver.1, NDC 2012
 
게임제작개론 : #7 팀 역할과 게임 리소스에 대한 이해
게임제작개론 : #7 팀 역할과 게임 리소스에 대한 이해게임제작개론 : #7 팀 역할과 게임 리소스에 대한 이해
게임제작개론 : #7 팀 역할과 게임 리소스에 대한 이해
 
[IGC 2017] 넥슨코리아 심재근 - 시스템 기획자에 대한 기본 지식과 준비과정
[IGC 2017] 넥슨코리아 심재근 - 시스템 기획자에 대한 기본 지식과 준비과정[IGC 2017] 넥슨코리아 심재근 - 시스템 기획자에 대한 기본 지식과 준비과정
[IGC 2017] 넥슨코리아 심재근 - 시스템 기획자에 대한 기본 지식과 준비과정
 
게임 기획자의 생존 전략
게임 기획자의 생존 전략게임 기획자의 생존 전략
게임 기획자의 생존 전략
 
[NDC 2021] 게임 PD가 되어 보니
[NDC 2021] 게임 PD가 되어 보니[NDC 2021] 게임 PD가 되어 보니
[NDC 2021] 게임 PD가 되어 보니
 
게임제작개론: #3 간접통제와 게임 커뮤니티
게임제작개론: #3 간접통제와 게임 커뮤니티게임제작개론: #3 간접통제와 게임 커뮤니티
게임제작개론: #3 간접통제와 게임 커뮤니티
 
김동건, 게임 디렉터가 되려면, 2008.07.04
김동건, 게임 디렉터가 되려면, 2008.07.04김동건, 게임 디렉터가 되려면, 2008.07.04
김동건, 게임 디렉터가 되려면, 2008.07.04
 
[IGC2018] 이락디지털문화연구소 남기덕 - 게임 디자인의 시작, 테마
[IGC2018] 이락디지털문화연구소 남기덕 - 게임 디자인의 시작, 테마[IGC2018] 이락디지털문화연구소 남기덕 - 게임 디자인의 시작, 테마
[IGC2018] 이락디지털문화연구소 남기덕 - 게임 디자인의 시작, 테마
 
뉴비라이터를 위한 게임라이팅 일반론
뉴비라이터를 위한 게임라이팅 일반론뉴비라이터를 위한 게임라이팅 일반론
뉴비라이터를 위한 게임라이팅 일반론
 
NDC 2015 이광영 [야생의 땅: 듀랑고] 전투 시스템 개발 일지
NDC 2015 이광영 [야생의 땅: 듀랑고] 전투 시스템 개발 일지NDC 2015 이광영 [야생의 땅: 듀랑고] 전투 시스템 개발 일지
NDC 2015 이광영 [야생의 땅: 듀랑고] 전투 시스템 개발 일지
 
[IGC 2016] 컴투스 김동준 - 기획 지망생은 무엇을 준비하나요?
[IGC 2016] 컴투스 김동준 - 기획 지망생은 무엇을 준비하나요?[IGC 2016] 컴투스 김동준 - 기획 지망생은 무엇을 준비하나요?
[IGC 2016] 컴투스 김동준 - 기획 지망생은 무엇을 준비하나요?
 

Viewers also liked

장기현, 로컬라이제이션 프로그래머의 준비, NDC2010
장기현, 로컬라이제이션 프로그래머의 준비, NDC2010장기현, 로컬라이제이션 프로그래머의 준비, NDC2010
장기현, 로컬라이제이션 프로그래머의 준비, NDC2010
devCAT Studio, NEXON
 
안드로이드 모바일 애플리케이션 접근성 점검 매뉴얼 최종
안드로이드 모바일 애플리케이션 접근성 점검 매뉴얼 최종안드로이드 모바일 애플리케이션 접근성 점검 매뉴얼 최종
안드로이드 모바일 애플리케이션 접근성 점검 매뉴얼 최종
Seunghyeon Kim
 
언리얼 엔진 4와 함께 프로그래머 없이 게임 만들기
언리얼 엔진 4와 함께 프로그래머 없이 게임 만들기언리얼 엔진 4와 함께 프로그래머 없이 게임 만들기
언리얼 엔진 4와 함께 프로그래머 없이 게임 만들기
Huey Park
 
NDC 2014, 피할 수 없는 문자열의 세계
NDC 2014, 피할 수 없는 문자열의 세계NDC 2014, 피할 수 없는 문자열의 세계
NDC 2014, 피할 수 없는 문자열의 세계
tcaesvk
 
삼국지 게임 컨셉제안서
삼국지 게임 컨셉제안서삼국지 게임 컨셉제안서
삼국지 게임 컨셉제안서
JP Lee
 
JavaScript 비동기 프로그래밍 집중 탐구 - 조유성님
JavaScript 비동기 프로그래밍 집중 탐구 - 조유성님JavaScript 비동기 프로그래밍 집중 탐구 - 조유성님
JavaScript 비동기 프로그래밍 집중 탐구 - 조유성님
NAVER D2
 

Viewers also liked (20)

장기현, 로컬라이제이션 프로그래머의 준비, NDC2010
장기현, 로컬라이제이션 프로그래머의 준비, NDC2010장기현, 로컬라이제이션 프로그래머의 준비, NDC2010
장기현, 로컬라이제이션 프로그래머의 준비, NDC2010
 
안드로이드 모바일 애플리케이션 접근성 점검 매뉴얼 최종
안드로이드 모바일 애플리케이션 접근성 점검 매뉴얼 최종안드로이드 모바일 애플리케이션 접근성 점검 매뉴얼 최종
안드로이드 모바일 애플리케이션 접근성 점검 매뉴얼 최종
 
[IGC 2016] 넥슨코리아 박종천 - 한국과 미국의 개발 문화에 대하여
[IGC 2016] 넥슨코리아 박종천 - 한국과 미국의 개발 문화에 대하여[IGC 2016] 넥슨코리아 박종천 - 한국과 미국의 개발 문화에 대하여
[IGC 2016] 넥슨코리아 박종천 - 한국과 미국의 개발 문화에 대하여
 
[IGC 2016] 블루홀 백성현 - MMORPG 디렉팅의 어려움과 테라에서의 노력
[IGC 2016] 블루홀 백성현 - MMORPG 디렉팅의 어려움과 테라에서의 노력[IGC 2016] 블루홀 백성현 - MMORPG 디렉팅의 어려움과 테라에서의 노력
[IGC 2016] 블루홀 백성현 - MMORPG 디렉팅의 어려움과 테라에서의 노력
 
[IGC 2016] 엑스엘게임즈 조용래 - 산전! 수전! 공중전! 아키에이지 라이브 서비스에서 얻은 경험
[IGC 2016] 엑스엘게임즈 조용래 - 산전! 수전! 공중전! 아키에이지 라이브 서비스에서 얻은 경험[IGC 2016] 엑스엘게임즈 조용래 - 산전! 수전! 공중전! 아키에이지 라이브 서비스에서 얻은 경험
[IGC 2016] 엑스엘게임즈 조용래 - 산전! 수전! 공중전! 아키에이지 라이브 서비스에서 얻은 경험
 
[IGC 2016] 인디디벨로퍼파트너스 이득우 - 부산인디커넥트2016 행사 포스트모템
[IGC 2016] 인디디벨로퍼파트너스 이득우 - 부산인디커넥트2016 행사 포스트모템[IGC 2016] 인디디벨로퍼파트너스 이득우 - 부산인디커넥트2016 행사 포스트모템
[IGC 2016] 인디디벨로퍼파트너스 이득우 - 부산인디커넥트2016 행사 포스트모템
 
[IGC 2016] 엔씨소프트 김종원 - 모바일 테스트 자동화 시스템
[IGC 2016] 엔씨소프트 김종원 - 모바일 테스트 자동화 시스템[IGC 2016] 엔씨소프트 김종원 - 모바일 테스트 자동화 시스템
[IGC 2016] 엔씨소프트 김종원 - 모바일 테스트 자동화 시스템
 
[IGC 2016] 유니티코리아 강신덕 - Zero to Hero : 어비스리움에서 배우는 성공적인 광고 수익화
[IGC 2016] 유니티코리아 강신덕 - Zero to Hero : 어비스리움에서 배우는 성공적인 광고 수익화[IGC 2016] 유니티코리아 강신덕 - Zero to Hero : 어비스리움에서 배우는 성공적인 광고 수익화
[IGC 2016] 유니티코리아 강신덕 - Zero to Hero : 어비스리움에서 배우는 성공적인 광고 수익화
 
[IGC 2016] 드럭하이 최영윤 - 인디출신개발사로서의 후속작, 톤톤해적단 포스트모텀
[IGC 2016] 드럭하이 최영윤 - 인디출신개발사로서의 후속작, 톤톤해적단 포스트모텀[IGC 2016] 드럭하이 최영윤 - 인디출신개발사로서의 후속작, 톤톤해적단 포스트모텀
[IGC 2016] 드럭하이 최영윤 - 인디출신개발사로서의 후속작, 톤톤해적단 포스트모텀
 
[IGC 2016] 블루홀 브랜든 그린 - 모드 개발자에서 크리에이티브 디렉터로, PLAYERUNKNOWN 이야기
[IGC 2016] 블루홀 브랜든 그린 - 모드 개발자에서 크리에이티브 디렉터로, PLAYERUNKNOWN 이야기[IGC 2016] 블루홀 브랜든 그린 - 모드 개발자에서 크리에이티브 디렉터로, PLAYERUNKNOWN 이야기
[IGC 2016] 블루홀 브랜든 그린 - 모드 개발자에서 크리에이티브 디렉터로, PLAYERUNKNOWN 이야기
 
[IGC 2016] 메구스타 정진섭 - 1인 개발자 스타트Kit - 프로그래밍, 아트, 사운드 혼자 다 하는법
[IGC 2016] 메구스타 정진섭 - 1인 개발자 스타트Kit - 프로그래밍, 아트, 사운드 혼자 다 하는법[IGC 2016] 메구스타 정진섭 - 1인 개발자 스타트Kit - 프로그래밍, 아트, 사운드 혼자 다 하는법
[IGC 2016] 메구스타 정진섭 - 1인 개발자 스타트Kit - 프로그래밍, 아트, 사운드 혼자 다 하는법
 
[IGC 2016] 넥슨 박지훈 - 게임 음악 아티스트(artist)에 도전하려면?
[IGC 2016] 넥슨 박지훈 - 게임 음악 아티스트(artist)에 도전하려면?[IGC 2016] 넥슨 박지훈 - 게임 음악 아티스트(artist)에 도전하려면?
[IGC 2016] 넥슨 박지훈 - 게임 음악 아티스트(artist)에 도전하려면?
 
[IGC 2016] 넷게임즈 김복식 - 중국 모바일 게임과 캐주얼 게임 디자인
[IGC 2016] 넷게임즈 김복식 - 중국 모바일 게임과 캐주얼 게임 디자인[IGC 2016] 넷게임즈 김복식 - 중국 모바일 게임과 캐주얼 게임 디자인
[IGC 2016] 넷게임즈 김복식 - 중국 모바일 게임과 캐주얼 게임 디자인
 
언리얼 엔진 4와 함께 프로그래머 없이 게임 만들기
언리얼 엔진 4와 함께 프로그래머 없이 게임 만들기언리얼 엔진 4와 함께 프로그래머 없이 게임 만들기
언리얼 엔진 4와 함께 프로그래머 없이 게임 만들기
 
Start with Unreal Engine4 Slideshow
Start with Unreal Engine4 SlideshowStart with Unreal Engine4 Slideshow
Start with Unreal Engine4 Slideshow
 
NDC 2014, 피할 수 없는 문자열의 세계
NDC 2014, 피할 수 없는 문자열의 세계NDC 2014, 피할 수 없는 문자열의 세계
NDC 2014, 피할 수 없는 문자열의 세계
 
[IGC 2016] 골드로쉬 김현석 - 왜 항상 기획자는 욕을 들어야만 하는 걸까? –게임 기획의 포지션 변화-
[IGC 2016] 골드로쉬 김현석 - 왜 항상 기획자는 욕을 들어야만 하는 걸까? –게임 기획의 포지션 변화-[IGC 2016] 골드로쉬 김현석 - 왜 항상 기획자는 욕을 들어야만 하는 걸까? –게임 기획의 포지션 변화-
[IGC 2016] 골드로쉬 김현석 - 왜 항상 기획자는 욕을 들어야만 하는 걸까? –게임 기획의 포지션 변화-
 
삼국지 게임 컨셉제안서
삼국지 게임 컨셉제안서삼국지 게임 컨셉제안서
삼국지 게임 컨셉제안서
 
JavaScript 비동기 프로그래밍 집중 탐구 - 조유성님
JavaScript 비동기 프로그래밍 집중 탐구 - 조유성님JavaScript 비동기 프로그래밍 집중 탐구 - 조유성님
JavaScript 비동기 프로그래밍 집중 탐구 - 조유성님
 
텀 프로젝트에서 제품 프로젝트로 - 성준영님
텀 프로젝트에서 제품 프로젝트로 - 성준영님텀 프로젝트에서 제품 프로젝트로 - 성준영님
텀 프로젝트에서 제품 프로젝트로 - 성준영님
 

Similar to [IGC 2016] 띵소프트 이득규 - 삼국지조조전 Online L10N 개발 Case Study

131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원
NAVER D2
 
Kgc2014 삼한제국기 포스트모템 김찬웅
Kgc2014 삼한제국기 포스트모템 김찬웅Kgc2014 삼한제국기 포스트모템 김찬웅
Kgc2014 삼한제국기 포스트모템 김찬웅
Chanwoong Kim
 
게임제작개론 9
게임제작개론 9게임제작개론 9
게임제작개론 9
Seokmin No
 
게임제작개론 8
게임제작개론 8게임제작개론 8
게임제작개론 8
Seokmin No
 
[스타후르츠] 스타트업 스토리 , 그리고 네트워크게임 서비스에 대한 고찰
[스타후르츠] 스타트업 스토리 , 그리고 네트워크게임 서비스에 대한 고찰 [스타후르츠] 스타트업 스토리 , 그리고 네트워크게임 서비스에 대한 고찰
[스타후르츠] 스타트업 스토리 , 그리고 네트워크게임 서비스에 대한 고찰
GAMENEXT Works
 
이희영, 글로벌 원빌드 모바일 게임 런칭과 라이브 개발, NDC2016
이희영, 글로벌 원빌드 모바일 게임 런칭과 라이브 개발, NDC2016이희영, 글로벌 원빌드 모바일 게임 런칭과 라이브 개발, NDC2016
이희영, 글로벌 원빌드 모바일 게임 런칭과 라이브 개발, NDC2016
devCAT Studio, NEXON
 

Similar to [IGC 2016] 띵소프트 이득규 - 삼국지조조전 Online L10N 개발 Case Study (20)

131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원
 
[IGC 2016] 펄어비스 함영철 - 검은사막 투쟁기 : 서막
[IGC 2016] 펄어비스 함영철 - 검은사막 투쟁기 : 서막[IGC 2016] 펄어비스 함영철 - 검은사막 투쟁기 : 서막
[IGC 2016] 펄어비스 함영철 - 검은사막 투쟁기 : 서막
 
Kgc2014 삼한제국기 포스트모템 김찬웅
Kgc2014 삼한제국기 포스트모템 김찬웅Kgc2014 삼한제국기 포스트모템 김찬웅
Kgc2014 삼한제국기 포스트모템 김찬웅
 
[NDC13] 70명이 커밋하는 라이브 개발하기 (해외 진출 라이브 프로젝트의 개발 관리) - 송창규
[NDC13] 70명이 커밋하는 라이브 개발하기 (해외 진출 라이브 프로젝트의 개발 관리) - 송창규[NDC13] 70명이 커밋하는 라이브 개발하기 (해외 진출 라이브 프로젝트의 개발 관리) - 송창규
[NDC13] 70명이 커밋하는 라이브 개발하기 (해외 진출 라이브 프로젝트의 개발 관리) - 송창규
 
프로그래머에게 사랑받는 게임 기획서 작성법
프로그래머에게 사랑받는 게임 기획서 작성법프로그래머에게 사랑받는 게임 기획서 작성법
프로그래머에게 사랑받는 게임 기획서 작성법
 
게임제작개론 9
게임제작개론 9게임제작개론 9
게임제작개론 9
 
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템
 
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템[IGC2017] Protocol:hyperspace Diver 개발 포스트모템
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템
 
게임제작개론 8
게임제작개론 8게임제작개론 8
게임제작개론 8
 
[NDC17] Protocol:hyperspace Diver 개발 포스트모템
[NDC17] Protocol:hyperspace Diver 개발 포스트모템[NDC17] Protocol:hyperspace Diver 개발 포스트모템
[NDC17] Protocol:hyperspace Diver 개발 포스트모템
 
Slipp 발표 자료 20151212
Slipp 발표 자료 20151212Slipp 발표 자료 20151212
Slipp 발표 자료 20151212
 
게임제작개론 : #8 게임 제작 프로세스
게임제작개론 : #8 게임 제작 프로세스게임제작개론 : #8 게임 제작 프로세스
게임제작개론 : #8 게임 제작 프로세스
 
게임제작개론 : #9 라이브 서비스
게임제작개론 : #9 라이브 서비스게임제작개론 : #9 라이브 서비스
게임제작개론 : #9 라이브 서비스
 
[스타후르츠] 스타트업 스토리 , 그리고 네트워크게임 서비스에 대한 고찰
[스타후르츠] 스타트업 스토리 , 그리고 네트워크게임 서비스에 대한 고찰 [스타후르츠] 스타트업 스토리 , 그리고 네트워크게임 서비스에 대한 고찰
[스타후르츠] 스타트업 스토리 , 그리고 네트워크게임 서비스에 대한 고찰
 
이희영, 글로벌 원빌드 모바일 게임 런칭과 라이브 개발, NDC2016
이희영, 글로벌 원빌드 모바일 게임 런칭과 라이브 개발, NDC2016이희영, 글로벌 원빌드 모바일 게임 런칭과 라이브 개발, NDC2016
이희영, 글로벌 원빌드 모바일 게임 런칭과 라이브 개발, NDC2016
 
20160427 ndc16 글로벌 원빌드 모바일 게임 런칭과 라이브 개발
20160427 ndc16 글로벌 원빌드 모바일 게임 런칭과 라이브 개발20160427 ndc16 글로벌 원빌드 모바일 게임 런칭과 라이브 개발
20160427 ndc16 글로벌 원빌드 모바일 게임 런칭과 라이브 개발
 
컨텐츠 통합관리, 무겁지 않게 구축할 수는 없을까
컨텐츠 통합관리, 무겁지 않게 구축할 수는 없을까컨텐츠 통합관리, 무겁지 않게 구축할 수는 없을까
컨텐츠 통합관리, 무겁지 않게 구축할 수는 없을까
 
에어헌터 for kakao 포스트모템(공개용)
에어헌터 for kakao 포스트모템(공개용)에어헌터 for kakao 포스트모템(공개용)
에어헌터 for kakao 포스트모템(공개용)
 
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기
 
인디 게임 개발자 스터디 1회 오픈 세미나 안내
인디 게임 개발자 스터디 1회 오픈 세미나 안내인디 게임 개발자 스터디 1회 오픈 세미나 안내
인디 게임 개발자 스터디 1회 오픈 세미나 안내
 

More from 강 민우

More from 강 민우 (20)

[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기
[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기
[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기
 
[IGC2018] 청강대 이득우 - 언리얼에디터확장을위해알아야할것들
[IGC2018] 청강대 이득우 - 언리얼에디터확장을위해알아야할것들[IGC2018] 청강대 이득우 - 언리얼에디터확장을위해알아야할것들
[IGC2018] 청강대 이득우 - 언리얼에디터확장을위해알아야할것들
 
[IGC2018] SUB 윤민 - 나만의 사운드—제작하고 연출하기
[IGC2018] SUB 윤민 - 나만의 사운드—제작하고 연출하기[IGC2018] SUB 윤민 - 나만의 사운드—제작하고 연출하기
[IGC2018] SUB 윤민 - 나만의 사운드—제작하고 연출하기
 
[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다
[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다
[IGC2018] 넷마블 이상철 - 모바일 게임 보안 AR(Android Republic) 변조앱 내부를 파헤치다
 
[IGC2018] TeamHoray 문지환 - 던그리드, 이랬으면 더 좋았을 텐데
[IGC2018] TeamHoray 문지환 - 던그리드, 이랬으면 더 좋았을 텐데[IGC2018] TeamHoray 문지환 - 던그리드, 이랬으면 더 좋았을 텐데
[IGC2018] TeamHoray 문지환 - 던그리드, 이랬으면 더 좋았을 텐데
 
[IGC2018] 에픽게임즈 신광섭 - 언리얼엔진4 포트나이트 멀티플랫폼 개발 지원
[IGC2018] 에픽게임즈 신광섭 - 언리얼엔진4 포트나이트 멀티플랫폼 개발 지원[IGC2018] 에픽게임즈 신광섭 - 언리얼엔진4 포트나이트 멀티플랫폼 개발 지원
[IGC2018] 에픽게임즈 신광섭 - 언리얼엔진4 포트나이트 멀티플랫폼 개발 지원
 
[IGC2018] 잔디소프트 윤세민 - HTML5 게임 어디까지 가능한가
[IGC2018] 잔디소프트 윤세민 - HTML5 게임 어디까지 가능한가[IGC2018] 잔디소프트 윤세민 - HTML5 게임 어디까지 가능한가
[IGC2018] 잔디소프트 윤세민 - HTML5 게임 어디까지 가능한가
 
[IGC2018] 해피툭 김봉균 - 대만 게임 시장 진출시 유의해야 할 점
[IGC2018] 해피툭 김봉균 - 대만 게임 시장 진출시 유의해야 할 점[IGC2018] 해피툭 김봉균 - 대만 게임 시장 진출시 유의해야 할 점
[IGC2018] 해피툭 김봉균 - 대만 게임 시장 진출시 유의해야 할 점
 
[IGC2018] 산타모니카스튜디오 에이브 타라키 - 게임의 컨셉 디자인과 세계를 만드는 법
[IGC2018] 산타모니카스튜디오 에이브 타라키 - 게임의 컨셉 디자인과  세계를 만드는 법[IGC2018] 산타모니카스튜디오 에이브 타라키 - 게임의 컨셉 디자인과  세계를 만드는 법
[IGC2018] 산타모니카스튜디오 에이브 타라키 - 게임의 컨셉 디자인과 세계를 만드는 법
 
[IGC2018] 펄어비스 강건우 - 펄어비스에서 기획자가 일하는 방법
[IGC2018] 펄어비스 강건우 - 펄어비스에서 기획자가 일하는 방법[IGC2018] 펄어비스 강건우 - 펄어비스에서 기획자가 일하는 방법
[IGC2018] 펄어비스 강건우 - 펄어비스에서 기획자가 일하는 방법
 
[IGC2018] 스튜디오EIM 정사인 - 좋은 소리는 무엇인가
[IGC2018] 스튜디오EIM 정사인 - 좋은 소리는 무엇인가[IGC2018] 스튜디오EIM 정사인 - 좋은 소리는 무엇인가
[IGC2018] 스튜디오EIM 정사인 - 좋은 소리는 무엇인가
 
[IGC2018] 유유자적라이프 김윤정 - SunShine 베를린을 밝게 비추다
[IGC2018] 유유자적라이프 김윤정 - SunShine 베를린을 밝게 비추다[IGC2018] 유유자적라이프 김윤정 - SunShine 베를린을 밝게 비추다
[IGC2018] 유유자적라이프 김윤정 - SunShine 베를린을 밝게 비추다
 
[IGC2018] 자라나는 씨앗 김효택 - MazM 시리즈로 바라본 스토리 게임의 가능성
[IGC2018] 자라나는 씨앗 김효택 - MazM 시리즈로 바라본 스토리 게임의 가능성[IGC2018] 자라나는 씨앗 김효택 - MazM 시리즈로 바라본 스토리 게임의 가능성
[IGC2018] 자라나는 씨앗 김효택 - MazM 시리즈로 바라본 스토리 게임의 가능성
 
[IGC2018] 인플루전 곽노진 - 인디게임이 망할 수 밖에 없는 현실과 이유
 [IGC2018] 인플루전 곽노진 -  인디게임이 망할 수 밖에 없는 현실과 이유 [IGC2018] 인플루전 곽노진 -  인디게임이 망할 수 밖에 없는 현실과 이유
[IGC2018] 인플루전 곽노진 - 인디게임이 망할 수 밖에 없는 현실과 이유
 
[IGC2018] 라운드8 박성준 - 블레스 언리쉬드 우리는 왜 모든것을 재설계했나
[IGC2018] 라운드8 박성준 - 블레스 언리쉬드  우리는 왜 모든것을 재설계했나[IGC2018] 라운드8 박성준 - 블레스 언리쉬드  우리는 왜 모든것을 재설계했나
[IGC2018] 라운드8 박성준 - 블레스 언리쉬드 우리는 왜 모든것을 재설계했나
 
[IGC2018] 아이봉 정봉재 - 아직 아이 망하니
[IGC2018] 아이봉 정봉재 - 아직 아이 망하니[IGC2018] 아이봉 정봉재 - 아직 아이 망하니
[IGC2018] 아이봉 정봉재 - 아직 아이 망하니
 
[IGC2018] 퍼니파우 최재영 - 감성을 위한 개발요소
[IGC2018] 퍼니파우 최재영 - 감성을 위한 개발요소[IGC2018] 퍼니파우 최재영 - 감성을 위한 개발요소
[IGC2018] 퍼니파우 최재영 - 감성을 위한 개발요소
 
[IGC2018] 유니티 함영호 - 디바이스를 통해 본 모바일 게임 마켓 인사이트
[IGC2018] 유니티 함영호 - 디바이스를 통해 본 모바일 게임 마켓 인사이트[IGC2018] 유니티 함영호 - 디바이스를 통해 본 모바일 게임 마켓 인사이트
[IGC2018] 유니티 함영호 - 디바이스를 통해 본 모바일 게임 마켓 인사이트
 
[IGC2018] 선본네트워크 우중 - 매력 넘치는 캐릭터 메이킹 노하우
[IGC2018] 선본네트워크 우중 - 매력 넘치는 캐릭터 메이킹 노하우[IGC2018] 선본네트워크 우중 - 매력 넘치는 캐릭터 메이킹 노하우
[IGC2018] 선본네트워크 우중 - 매력 넘치는 캐릭터 메이킹 노하우
 
[IGC2018] 유영천 개발자 - Voxel기반 네트워크 게임 최적화기법
[IGC2018] 유영천 개발자 - Voxel기반 네트워크 게임 최적화기법[IGC2018] 유영천 개발자 - Voxel기반 네트워크 게임 최적화기법
[IGC2018] 유영천 개발자 - Voxel기반 네트워크 게임 최적화기법
 

[IGC 2016] 띵소프트 이득규 - 삼국지조조전 Online L10N 개발 Case Study

  • 1. 0 링크 - 시연: http://www.rexv.org/
  • 2. L10N Case Study [삼국지조조전 Online 개발 사례] Inven Game Conference
  • 3. 0 발표 저작권 안내 제한 본 발표의 게임 영상 및 스크린샷은 개발 중인 빌드의 화면입니다. 최종 버전과 다 르거나 수정될 수 있으며, 저작권은 띵소프트/넥슨/코에이테크모가 소유하고 있습 니다 인용 본 발표의 삼국지조조전 Online 저작물 외의 타 저작 이미지들은 저작권법 35조 3 항 공정이용에 의거, 교육 목적을 위해 인터넷에 공개된 각종 저작물의 화상 자료 를 인용해서 사용하고 있습니다. 저작권 문제는 가능한 확인 후 사용하고 있으나, 혹시 문제가 있다면 IGC 사무국에 연락해 주시면 합당한 수정 조치를 취하겠습니 다 사상 본 발표 내용은 발표자 개인의 의견이며, 학계나 업계의 표준, 띵소프트/넥슨/코에 이테크모의 입장과는 차이가 있을 수 있습니다
  • 4. 0 이득규 (I2:Highwind) 디렉터 / 게임 디자이너 - 베타 테스터 / 공략 전문 필자 / 테크니컬 라이터로 고교 시절 게임 업계 입문 - 1인 개발, 게임 CS 파트타임, 고스트 라이터로 활동하다 게임 기획자로 취업 Career • 1999 기획 소프트맥스 창세기외전 템페스트 PS1 SRPG • 2000 디렉터 소프트맥스 테일즈위버 EP.1 PC 2D MMO • 2005 디렉터 넥슨 테일즈위버 EP.1 PC 2D MMO • 2006 디렉터 넥슨 미공개 IP 게임 PC 3D MMO • 2008 디렉터 넥슨 미공개 신작 PC 3D MO • 2010 개발실장 소프트맥스 창세기전4 PC 3D MMO • 2013 CEO Motiflow IP 외주 개발 / 인디 Mobile • 2014 디렉터 띵소프트 삼국지조조전 Online Mobile SRPG Localized Title • 1999 창세기외전 템페스트 일본어 (한국어 기획 후 번역하며 개발) • 2003 테일즈위버 EP.1 한국어, 일본어, 중국어(간/번) • 2016 삼국지조조전 Online 한국어, 일본어, 중국어(간/번), 영어 발표자 소개
  • 5. 넥슨 컴퍼니 = 네오플 자회사 = 넥슨 손자회 사 CEO: 넥슨코리아 정상원 부사장님 0 회사 소개 띵소프트의 모바일(?) 게임 개발 본부 프로젝트 3종 개발 중 2번째 신작이 다음 주 미디어데이로 최초 공 개
  • 6. 0 프로젝트 소개 일본 코에이테크모의 IP 기반 모바일 SRPG 오늘 이야기할 작업을 진행한 프로젝트 AOS: 2016-10-06 출시 / 구글 피 쳐드 IOS: 2016-10-10 출시 예정 많은 관심 부탁 드립니다!
  • 7. 0 [초급] 발표 범위 한국, 일본+ 로컬라이제이션 한국과 일본 로컬라이징의 내용이 중심입니다. 타 국가에 대한 부분도 일부 다루지 만 본 발표에선 시간 관계상 비중이 낮습니다. 분량 관계와 사례 기준이 되는 게임 의 특성 상 I18N이나 컬쳐라이징에 대해서도 여기서는 다루지 않습니다 삼국지조조전 Online 한정 본 발표는 삼국지조조전 Online 의 case study를 다루며, 타 게임의 방식과 정책 등에 대해서는 다루지 않습니다. 넥슨의 퍼블리싱 정책이나 일본의 퍼블리싱 정책 에 대한 이야기가 일부 있을 수 있으나, 통상적인 사례로 일반화할 수는 없으므로 타 게임과 다른 부분도 있을 수 있습니다. 또한 일부 내용의 경우 보안을 위해 노출 되지 않는 부분이 있습니다. 또한 아직 개발 중인 부분이 많아, 실제 사양에서는 세부 내용이 변경될 수도 있습 니다 기획, 프로그램, 아트 본 발표는 기획 중심이나 구현과 관련된 부분도 일부 다룹니다. 프로그램 지식이 없어도 전반적인 발표 이해에는 큰 어려움이 없습니다
  • 8. 0 청중 구성 확인 방청객 직군 비율에 따라 발표 내용 을 조정하며 진행하려 합니다. 제 요청에 맞춰 손을 들어 주세요.
  • 9. INDEX – 160 Pages 1 Chapter About L10N 3 Chapter 번역+ 기반 시스템 구축 5 Chapter 한국어 로컬라이징 7 Chapter 간체/번체 로컬라이징 2 Chapter 텍스트 제작 컨벤션 4 Chapter 언어별 폰트의 이해와 준비 6 Chapter 일본어 로컬라이징 8 Chapter 마무리
  • 10. Chapter [1] About L10N Inven Game Conference
  • 11. 1 오늘의 주제 지역화 / 현지화 - L10N = Localization - 제품을 언어 및 문화권 등이 다른 여러 환경에 대해 사용할 수 있도록 지원하는 작업 협의적: 언어 번역 - L10N의 최소 사양 광의적: 정책 대응 및 게임 수정 - 법률/심의 대응, 플랫폼 대응 및 서비스 적용, 전용 콘텐츠 추가, 특정 피쳐 변경, 정세, 타겟 유저 성향, 문화 반영(Culturalization) 등을 포함 - 삼국지조조전 Online 은 국가별 빌드가 분리되지 않는 것을 전제로 공통 지역화 를 진행 - 중화권은 플랫폼이 분리되므로 공통화 대상에서 제외
  • 12. 1 유사 개념과 비교 현지화 L10N - 제품을 언어 및 문화권 등이 다른 각 환경에 대해 지원하는 것을 의미 - 1 Build – 1+ Language - 예외: 캐나다(프랑스어 + 영어), 아프리카, 유럽 등 - 국가 별로 빌드를 분리해 개발 - 삼국지조조전 Online Live 구조 (엄밀히는 M17N과 L10N의 중간 형태) 다국어화 M17N = Multilingualization - 서로 다른 지역의 다국어를 지원하도록 제품을 설계하는 것을 의미 - 1 Build – N Language - 삼국지조조전 Online CBT2까지의 구조 국제화 I18N = Internationalization - 단일 제품이 여러 환경을 지원할 수 있도록 제품을 설계하는 것을 의미 - 글로벌 원빌드
  • 13. 1 L10N의 요소 기본 언어 대응 - 텍스트 인코딩: 문자, 부호, 숫자 표기법, 글자 표기 방향 등 - DB, 개별 텍스트 파일 설정 시 중요 - 환경 구축 - 글꼴 교체 - UI 레이아웃 수정 - 텍스트 / 이미지 / 영상 로컬라이징 소스 확보 및 로컬라이징 환경 구축 - 개발 초기부터 진행해두는 것이 후반 수정을 줄일 수 있음 - 번역 - 문자, 기호 - 대사, 설명 등 게임 내 텍스트 전체 - 채팅 등 각종 UI에 노출되는 문자 - 영상 자막 등 - 음성 - 성우 음성, 효과음 등
  • 14. 1 L10N의 요소 추가 언어 대응 - 심의 등급에 적합한 언어 사용 - 맞춤법, 표기법에 대한 조정 - 날짜/시간 형식, 역법 차이 반영 - 중량과 치수 등 각종 수치 단위 - 시간대 차이 (UTC +9, +8…) - 지명, 인명, 직책, 직함, 신분제 등 표기 방식 - 저작권 표시, 상표권을 비롯한 각종 로고 표시 방식 대응 - 통화(通貨, Currency) 환율 적용 및 과세 표준 적용, 표기 변경 (ISO 4217) - 정렬 순서 및 기준 - 문화적 차이 / Common Sense / 심미, 인상 차이 대응 - 어투, 어조, 중의적 표현, 오해 방지를 위한 개선 - 정치, 경제, 사회적인 환경의 영향 반영 - 한자 문화권 표기 방식 차이 대응 - 관용어, 금구 - 지역의 관습 - Etc…
  • 15. 1 L10N의 요소 이 외에도 - 지역화 전용 시스템/콘텐츠 개발 - 플랫폼 별 요구사항 대응 - 퍼블리셔 요구사항 대응 - 소비자 요구사항 대응 - 법률, 정책, 심의, 정부 요구 사항 대응 - 결제 상품 소비세 대응 처리 등 각종 재무 이슈 대응 - 권리, 저작권 관련 계약 조율 - 등등등등…… - 찾아보면 더 많은 것들이 있을 거에요
  • 16. 1 L10N, 언제 할 것인가? 일반적으로, 개발 완료 후 - 저비용 고효율 - Fix된 빌드로 진행해 번역/추가 개발 -> 적용 -> QA -> 배포: 안정적인 프로세 스 - 개발 완성 후 L10N 완료까지 배포 간격이 오래 걸림 (번역 분량이 많을 수록 더) - 동시 업데이트가 필요한 온라인 서비스의 경우 개발 피쳐 반영 딜레이 대안이 필요 개발 번역 / 추가 개발 LQA
  • 17. 1 L10N, 언제 할 것인가? 삼국지조조전 Online은 개발 병행 - 고비용 저효율 - 컨펌, 피드백, 동시 런칭을 위해 불가피한 선택 - 데이터 관리 문제 발생 - 단점: 번역 후에도 고치고 또 고치고 또 고치고… - 최종 변경 작업자를 최소화해 HR로 커버 - 개발 중 일정 주기로 데이터 추출 -> 번역 -> 적용 반복 - 번역 데이터가 추가 반역되기 전에 번역을 다시 추출하는 경우도… - 미완성 콘텐츠를 번역하니 개발 도중 변경되면 잦은 수정, 삭제, 추가 변경이 발 생 - 추가 번역만 잘 커버되면 상대적으로 빠른 국가별 빌드 배포 가능… 할 예정이 었으나… 개발 일어 번역 검수 중문 번역 일어 번역 중문 번역 검수 일어 번역 중문 번역 검수
  • 18. 1 삼국지조조전 Online의 L10N 론칭 국가 - 현재 확정 국가: [한국, 일본, 대만], [중국, 홍콩, 마카오] - 퍼블리셔에 따른 구분 - 넥슨: 한국, 일본, (대만) - 미정: 중국, 홍콩, 마카오 지원 언어 - 한국어, 일본어, 중국어(간체/번체), 영어 M17N? L10N? - 다국가 동시 서비스를 위한 M17N으로 개발되다 여러 사유로 M17N 같은 L10N 으로 변경 - 서버 통합을 고려해 콘텐츠 분리를 최소화하기 위해 대응 중 - 한국: 정식 서비스 (한국어만 지원) - 5주 단위 클라이언트 업데이트 - 1주 단위 콘텐츠 업데이트 - 기타: 론칭 준비 중
  • 19. 1 조조전 L10N 사전 조율 기본 언어 대응 - 텍스트 인코딩: Unicode - 글꼴 확보: 각 국가별 폰트 업체 컨택 / 유료 라이선스 - 개발 초기부터 상시 데이터 변동을 고려한 통합 로컬라이징 시스템 구축 - 그러나 TO 문제로 내부 번역 전문 인력이 없는 상태로 개발
  • 20. 1 조조전 L10N 사전 조율 기본 아트 대응 - 로컬라이징 진행시 고비용, 장시간이 소요되는 영역 - 적은 인력을 고려해 이미지 변경을 최소화하고자, 로컬라이징 추가 변경을 최소 화해 제작 - Texts == Label Only: 가능한 모든 텍스트는 이미지 (X), 폰트 출력 (0) - 번역하지 않는 공용 연출 한자만 이미지로 제작 - UI 레이아웃: 한글 / 한문 / 일어 배치 시 문제 없는 크기와 폭으로 디자인 - 컬러 디자인: Fujitsu Color Doctor 사용, 중요 컬러는 색약 / 색맹에 관계없이 차이를 인식할 수 있게 설계 - 서비스 국가와 원작 게임의 색 설정을 분석해 기본 컬러 디자인을 구축 - 개발 초반에 잘 되어가다 막판에 바빠져 덜 관리된 부분이 있음… - 문화적 이슈: 시대관 반영을 잘 하도록 노력
  • 21. 1 컬러 디자인 사례 적색 VS 청색 - 원작은 적색 = 아군, 청색 = 적군으로 피아 구분 - 삼국지조조전 Online도 처음 리뷰 시 많은 논의가 있었으나 원작을 따르기로 결 정 - 조조전의 컬러 디자인에 대한 깊은 이야기는 언젠가 기회가 되면 해보는 걸로…
  • 22. 1 컬러 디자인 사례 삼국지조조전 Online의 적색 VS 청색
  • 23. 1 컬러 디자인 사례 삼국지조조전 Online의 적색 VS 청색 - 적색 - 원작 재현 - 아군 컬러 - 긍정, 선택, 증가 의미로 사용 (미국은 반대) - 청색 - 원작 재현 - 적군 컬러 - 부정, 취소, 감소 의미로 사용
  • 24. 1 컬러 디자인 사례 삼국지13과의 컬러 매칭 문제 - KOEI는 삼국지 9(2003년)를 기점으로 조조/위의 키 컬러로 청색 적용 - 2016년, 삼국지 13 런칭 시점에 매칭을 위해 조조 키 컬러 변경 요청 발생 - 바꾸기엔 너무 많은 것들이 적색 기반으로 개발 + 원작(1998년)과 괴리 발 생 - 원작 재현과 고증 기반, 그리고 중국 시장 선호 컬러 이슈를 논의해 기존 설 계를 유지 - 단, 청색 매칭에 적응된 경우 이질감을 우려, 서브 컬러로 청색 활용
  • 25. 1 복식 디자인 사례 옷깃 방향 고정 - 중화권에서는 옷깃의 방향으로 산 사람과 죽은 사람을 구분 - 컨펌 시 중요 체크 이슈라 작업 시 항시 주의해 진행 좌우 반전 금지 - 일러스트를 좌우 반전해 연출용으로 사용하던 초반 빌드 - 옷깃 방향이 문제가 되어 반전 없이 사용하도록 수정 복식은 아니지만 - 너무 현대적이거나 서양적인 골격의 인물이 되지 않게 주의 - 너무 현대적이라 현재는 게임에서 빠진 인물 ->
  • 26. 1 아트 디자인 사례 기타 고려 사항 - 책상은 있으나 의자는 없던 시대 - 맵에서 의자 제거 - 책상 높이 낮춤 - 마차 등의 바퀴와 간격이 규격화된 시대 (도로 정비) - 고려해 디자인 - 청동기 -> 철기 전환 중이던 시대 - 철기가 짱셈 - 고증 붕괴를 피하기 위해 중국 드라마와 서적을 살펴보며 참고
  • 27. 1 성우 녹음 사례 - 삼국지조조전 Online의 음성 지원 - 입수 가능한 500여 명의 장수 중 상위 전용 장수 108종 외 직업 병과 전체 - 한국 - 런칭 기준 19명 (겨울 업데이트로 성우 추가 예정) - 사전 준비 3개월: 기획부터 사전 캐스팅 준비, 대본까지 - 녹음 및 적용 진행 3주 - 캐스팅: 담당 기획자, 넥슨 사운드팀, Director - 액팅 디렉터: Director - 믹싱/편집: 넥슨 사운드팀 - 영상 촬영: 넥슨 영상팀 - 일본 - 현재 35명 진행 (추가 업데이트 예정) - 사전 준비 4개월: 캐스팅 / 대본 번역 및 수정 / 계약 - 녹음 및 적용 진행 5주 - 캐스팅: 넥슨 재팬 / 대리점 캐스팅 디렉터 - 액팅 디렉터: 대리점 캐스팅 디렉터 - 믹싱 /편집 : 대리점 계약 더빙 스튜디오 - 성우 캐스팅 KOEI 컨펌 후 진행
  • 28. 1 성우 녹음 사례 - 차이점 - 한국과 일본은 대본과 인물 설정이 크게 다름 - 한국 버전은 성우 더빙에 지역화가 크게 되어 있음 - 한국과 일본의 국가별 캐릭터 해석과 설정 갭이 상당히 큼 - 다른 케이스: 한국 유비 VS 일본 유비 - 닮은 케이스: 한국 소교 VS 일본 소교 - 한국 대본 최초 번역 후, 일본과 인물에 대한 해석과 팬덤의 이미지 차가 커 서 최종적으로 다수의 대사를 일본 스태프에 의해 신규 작성 - 대사가 다르고 캐릭터 해석이 달라서 게임을 해보면 완전히 다른 느낌 - 개인적으로는 직접 디렉팅한 한국 버전을 더 선호
  • 29. 1 일본 버전에서 성우 스탭롤이 없는 이유 STAFF ROLL / CREDIT - 개발한 게임마다 항상 Credit 메뉴를 추가 - 테일즈위버는 한국 온라인 게임 중 최초로 스탭롤이 존재 일어 버전은 35+19명의 성우 목록 제거 - 한국과 달리, 일본 버전은 모든 성우 정보가 스탭롤에 제거 - 한글 버전은 한국 성우만 표기 왜 안 나오나요? - 계약 조율의 문제로 삭제 - 일본에선 성우 소속 사무소의 스탭롤 등록을 위해 동의 및 계약 검토가 필요 - 스탭롤의 성우 배치 순서 등도 여러 사무소의 성우들이 모두 조율되어야 함 - 단일 사무소가 아니라 캐스팅하는 과정에서 여러 사무소 소속 성우가 기용 된 상태 - 스탭롤 이름 표기 합의 조율 진행에 걸리는 시간과 노력에 비해 얻어지는 결과 에 대해 대리점에서 우려해 최종적으로 아예 표시하지 않는 것으로 퍼블리셔가 결정 - 그에 따라 게임에서 제거, 스탭롤 구현을 국가별 커스터마이즈 되는 형태로 변
  • 30. 1 로고 / 저작권 표시 타이틀 화면 / BI 표시 - 국가마다 타이틀 화면과 BI 레이아웃 등이 차이가 있음 - 각 국가별 법령 및 퍼블리셔 요구 사항에 대응 - 사용 언어에 따라 구성이 변경되도록 구현 CI 표시 - 코에이 테크모 연관 로고 중에는 국가에 따라 표시 방식이 다른 것들이 존재 - 사용 언어에 따라 로고가 변경되도록 구현 저작권 표시 - 코에이테크모의 저작권 표시도 일본 내 / 해외 표기가 다름 - 역시 사용 언어에 따라 변경되도록 처리
  • 31. 1 법률, 심의, 계약, 정책 대응 법률 대응 - 국가마다 게임, 서비스 관련 법령이 존재. 정상적인 서비스를 위해서는 이를 모 두 대응해야 함 - 퍼블리셔 추가 기능 요청과 달리, 협의가 불가능하고 무조건 맞춰야 하는 내용 - 개발 중 갑자기 산으로 가는 경우가 발생 심의 대응 - 국가마다 심의 기준과 등급 평가 사항이 차이가 있음 - 한국 심의 결과가 기준 가이드가 되는 경향이 있음 - 심의를 맞추기 위해 게임을 수정하는 경우도 발생 - 심의 수정을 최소화하기 위해 초기 개발부터 런칭 국가들의 심의 제도를 검토 계약, 정책 대응 - 사용 솔루션이나 퍼블리셔, 플랫폼에 따라 각각의 계약과 정책이 존재 - 합리적이라 판단되는 부분도 있지만 납득이 어려운 경우도 존재 - 사업 부서에서 의사 결정되는 수준에 따라 대응해야 함 - 개발 후반에 큰 일이 되기도 함
  • 32. 1 국가별 약관 약관 / 개인정보 보호정책 - EULA (End-User License Agreement) - 퍼블리셔가 없을 경우 법무팀, 사업팀과 함께 정비해 진행 필요 - 퍼블리셔가 있을 경우 퍼블리셔의 가이드에 맞춰 진행 필요 - 삼국지조조전 Online은 다음 카테고리로 구분 - 한국: Nexon Korea 한국 표준 약관 / 개인정보 보호정책 적용 - 일본: Nexon Japan 일본 표준 약관 / 개인정보 보호정책 적용 - 중국: 퍼블리셔 계약 대기 중. 계약 후 퍼블리셔 정책에 맞춰 대응 - 중화민국, 홍콩, 마카오: Nexon Taiwan의 중화민국 표준 약관 / 개인정보 보 호정책 적용 - 중국 퍼블리셔 계약 형태에 따라 일부 변경될 수 있음 - 기본: Nexon Korea 영문 표준 약관 / 개인정보 보호정책 적용 (미국 기준) - 사업 부서에서 필요한 이슈를 잘 커버해주므로, 안내에 따라 진행하시면 됩니다
  • 33. 1 개인정보 저장 및 관리에 대한 국가별 법률 일본 중국 대만 E-mail / PW 저장 시 개인정보 보호정책의 동의로 우회 가능 여부 개인정보 보호정책에 고지 필요 사용자 동의 불필요 개인정보 보호정책에 동의 조항이 있으면 가능 개인정보 보호정책에 동의 조항이 있으면 가능 해외 서버에 사용자 개인 정보 저장 가능 여부 가능 가능 가능 개인 정보 암호화의 법률 명시 여부와 특정 암호화 방법 강제 여부 안전 예방 조치 요구 암호화는 강제되지 않음 법에 명시되어 있지 않음 제한 없음 법에 명시되어 있지 않음 정보 유출 시 법적 책임 요구 사전 예약 페이지의 개인 정보 수집 동의 필요 여부 개인정보 보호정책에 고지 필요 사용자 동의 불필요 - 개인정보 보호정책에 고지 불필요 사용자 동의 필요 개인 정보를 사용하는 제 3자 목록을 개인정보 보호정책 내 명시 여부 명시 필요 제 3자의 이름을 목록화 하고 유저 동의를 받으면 가능 사용자 서면 동의 시 가능 누구에게, 어떻게 사용될 지 정확히 명시해야 함 게임 플레이를 위해 위치 정보를 추적하고 인접한 사용자와 매치 허용 여부 유저 동의 시 가능 - 개인정보보호정책에 동의 조항이 있으면 가능
  • 34. 1 Nexon TOY 인증, 서비스를 위한 통합 솔루션 - 인증, 운영, 고객지원, 운영툴, 쿠폰 시스템 등 각종 서비스 지원 기능 구비 - 페이스북, 구글, 트위터 등 각종 SDK 연동 대응 - 넥슨 퍼블리싱 게임 전용 - 법령 대응 등 사소하지만 중요한 이슈 대응을 국가 별로 규격화해 관리 중국 등 별도 권역 진출 시 분리 - 인증 시스템이 기반이므로 인증 시스템 교체 시 TOY 기반 피쳐는 퍼블리셔 시스 템으로 교체 후 누락 항목 추가 구현 필요 한국, 일본, 대만, 마카오 빌드 사용 - 중국, 홍콩은 중국 퍼블리셔 빌드로 대응 예정
  • 36. Chapter [2] 텍스트 제작 컨벤션 Inven Game Conference
  • 37. 2 텍스트 작성 규칙 시대상의 반영 - 게임의 무대: 서기 180~230년 전후 중국 - 한자 문화권, 신분제, 전란의 시기, 중화 사상 등의 세계관 - 세계관에서 벗어나는 내용은 최대한 배제 영어 독음 표기 사용 최소화 - 스킬 X / 책략 O - 가능한 게임에 나오는 모든 단어를 한글/한자어로 전환 - 대체가 굉장히 어려운 경부만 대응 (메뉴) - 동일한 의미일 경우 세계관에 적합성을 검토해 조정 예외: 원작 용어 유지 - HP, MP, EXP만 영문 표기 캐주얼한 사극 풍 대사 처리 - 전체적인 텍스트에 KBS 사극/정극 톤을 참조하되 너무 무겁지 않게 - 라이트노블 같은 대사 자체의 개성은 억제하고 신분을 우선시해 대사 구성
  • 38. 2 텍스트 작성 규칙 가급적 짧게 - 한자어를 기준으로 명칭이나 이름들을 최대한 짧게 작성 - UI 영역의 길이를 최대한 간결하게 - 1/2byte 특수 문자 사용도 최소화 - 경박단소 지향… 이지만. 문화적 리스크 최소화 - 예) 황건적 X / 황건, 황건병 O - 문화혁명 이후의 현 중국 정부는 민중에 의한 권리 투쟁의 결과로 수립 - 하층민 중심의 민중 봉기라는 역사적 의의 / 폄하 금지 등의 사유 예외: 번역 오류 / 번역체 제거 - 청공검 / 청강검 -> 청강검으로 통일 - 일기토 -> 단기접전 -> 무장전으로 변경 - 연의, 정사가 다를 경우 정사를 기준으로 변경 - 일본어 텍스트는 정사보다 연의를 우선해 내용 수정 및 번역 (KOEI 정책)
  • 39. 2 텍스트 작성 규칙 텍스트 길이 제한 - 데이터 상 제한이 아닌 UI 디자인 상 제 한 - 변경하게 되면 UI 수정이 필요 - Shrink 설정이므로 텍스트가 잘리지는 않으나 글자가 작아지는 문제가 있음 - 텍스트 분량이 많아 크기가 작아지면 가 독성이 떨어지므로 가능한 맞추며 대응 - 표에 언급되지 않은 추가 스펙들도 존재 - 채팅, 센터메시지, 군주 효과, 연구 등 텍스트 크기 제한 - 최소 폰트 크기: 18pt. - 개발하며 불가피하게 점점 작아짐 … 길이 (Bytes) 최대 (Bytes) 인명/호 8 12 지명 8 8 장비/도구/책 략 16 20 사건명 18 18 거점명 10 10 날씨 4 6 효과 24 24 타일 12 12 직업 계열 10 10 직업 8 8 일반 대사 50 * 3 50 * 3 나레이션 50 * 4 50 * 4
  • 40. 2 텍스트 작성 규칙 용어집 작성 - 기획 명칭 표준화를 위한 노력 but 초반 이후 열심히 사용되지는 않음 - 잘못되는 용어는 정기적으로 인력(=노가다)으로 커버 - 번역을 위한 glossary 별도 준비. 이 문서는 다국어 버전으로 표준화되어 정상 활용 - 번역 업체들의 용어 표준화 및 검수 기준 용도로 활용/업데이트 12세 이용가 기준 - 한국 기준 심의 등급 12세 이용가 레벨에 맞춘 언어 수위 설정 - 선정성, 폭력성을 가능한 배제 - 연의, 정사, 원작에서 문제 소지가 있을 수 있는 내용은 가급적 순화해 대응하거 나 시나리오 변경 인터넷 용어 최소화 - 단, 김성모 작가의 대사 일부 등이 오마쥬 되는 부분은 일부 유지 - 번역 표준화, 정규화, 정사 > 연의 반영 (단, 일본은 반대로 번역) - 번역 시 의미 불명이 되는 내용들은 발견하는 대로 대응 조치
  • 41. 2 어려운 점 팬덤 드립 / 유행어 활용 제한 - 재미있는 경우도 있지만 세계관을 어긋나는 정도가 심하다 판단되면 제거 - 한국에선 재미있을지 몰라도 번역되면 정체 불명의 대사로 변경되는 문제 - 일부 내용은 한국 버전에서는 살리고 국가에 따라 개별 대응 국가별 팬덤 성향/캐릭터 해석 차이 - 조홍의 황금 투구 전설이나 좌절감은 한국에서만 유의미 - 일본에서는 절대 이해 못하는 요소. KOEI 담당자도 이해 못함 - 국내 팬덤 이미지에 부합하면 할수록 타 국가에서 괴리가 커짐 - 캐릭터/국가에 대한 해석도 국가마다 정도의 차이가 큼 - 일본에서는 최근 삼국지 시리즈 + 삼국무쌍의 캐릭터 이미지 + 촉 미화 - 일어 버전과 한글판은 해석 괴리가 존재 - 번역 후 어투, 단어 선정, 대사 Gap에 대한 불만 피드백이 예상 이상으로 커 수정 중 - 오랫동안 이어진 일본 특유의 [촉] 미화와 조조의 위 중심의 게임 구성 간 의 괴리 - 나의 조조는 이러치 않아
  • 42. 2 발생한 문제 전체적인 언어 난이도 상승 - 읽을 수는 있는데 익숙하지 않거나 한자어를 잘 모르면 파악이 안되는 단어도 사용 - 세계관은 유지되나 익숙한 개념의 거리감이 불필요하게 게임을 어렵게 느끼게 만듬 작업자 간 대사 품질, 캐릭터 성격 차이 - 테일즈위버 EP1에서는 특정 캐릭터를 특정 시나리오라이터가 전담해 대사 검수 해 개선 - 시나리오량은 테일즈위버를 능가하고(2016/08, xlsx 17MB), 검수 인원은 적어 한계 발생 - 최대한 맞추도록 가이드하고, 시간 나는 대로 검수 진행 캐릭터 개성의 감소 - 창작물에 비해서 기존 캐릭터의 이미지가 존재하므로, 어설프게 했다가 망가지 지 않게 방어적으로 접근 - 그럼에도 불구하고 한국/일본의 캐릭터 인식 차이가 발생
  • 43. 2 구조적 한계 성별/성격/신분/방언에 따른 대사 처리 미대응 - 일어는 남/여의 어휘나 문장 사용 차이가 큰데, 이 부분의 로컬라이즈 대응 미진 행 - 성격과 신분 변화에 따른 대사 차별화도 현재 보류 상태 - 작업량에 비해 한국에서는 실효성이 낮음 - 하후돈이 조조에게 반말하는 유일한(?) 삼국지 게임 - 군주/태수/대장 등 각종 시스템과 예외처리 작업량의 한계 - 추후 개발에 여유가 생기면 대응 예정 - 여러분이 많이 사랑해주시면 대응할 여력이 생길지도… 대사량이 많아 품질 관리 어려움 - 디렉터 혼자서 다 체크하기에는 데이터 분량이 너무 많음 - 많은 것도 많은 건데 계속 변경이 발생하는 것도 이슈 - 파이프라인 이슈는 일본어 로컬라이징 챕터에서 논의 - 자체 수정, QA 피드백, 로컬라이징 피드백, 내용 변경…… - TO 여유가 생기면 전담 인력으로 대응하며 점진적으로 개선 예정
  • 44. Chapter [3] 번역 + 기반 시스템 구축 Inven Game Conference
  • 45. 3 개발 원칙 로컬라이징 시스템으로 모든 문자 번역 처리 - 현재는 숫자, 영문을 제외한 문자에 대해 대응 - 지정한 데이터는 모두 로컬라이징 시스템으로 번역 - 중국 버전에서는 2016년 법률 개정으로 영문 사용 금지 이슈가 예상되어 영문도 로컬라이징 시스템 적용 예정 - 예: HP -> 체력 / MP -> 정신력 등 모든 글자는 이미지가 아닌 텍스트로 대 응 - 모든 UI는 지정 폰트 사이즈보다 작아지는 상황이 발생해도 내용 보존을 우선함 - Clamp X, shrink O - 최근 추가된 일부 UI에 원칙과 어긋나는 부분들이 있어 대응 중 - 번역 데이터 부재 시 한글로 출력 처리해 누락 확인 - Key ≒ Korean
  • 46. 3 개발 원칙 예외의 최소화 - CI, BI 등 로고 이미지만 예외 처리로 구현 예외의 규격화 - 리소스 로컬라이징 적용: 확장자에 의한 국가별 리소스 분리 관리 - 국가별 텍스트 파싱 분기 처리: 용량, 메모리 Diet를 위해 준비 중
  • 47. 3 삼국지조조전의 3+대 L10N 시스템 텍스트 로컬라이즈 시스템 - Dynamic(Unity) Font 사용 - 한글 Key 기반 텍스트 교체 처리 - NGUI를 커스터마이즈한 후 상속한 Localized Label에 번역 데이터 출력 - 번역 데이터 부재 시 한글을 출력해 번역 누락 확인 리소스 로컬라이즈 시스템 - 국가별 리소스 로딩/패치/분기 시스템 - 국가별 리소스 부재 시 공통 리소스 로드 콘텐츠 언락 시스템 - 국가별 피쳐/콘텐츠 공개 여부를 관리하는 시스템 - 국가/언어 설정에 따라서 게임 내 콘텐츠 노출 여부를 제어 - 같은 빌드라도 사용자 국가/언어 정보에 따라 미번역 콘텐츠가 배포되지 않도록 제어 - 특정 국가 전용 콘텐츠가 타 국가에 배포되지 않도록 제어 - 조조전에 적용된 구조는 통합 피쳐 관리 시스템이 아닌, 특정 피쳐 단위 언락 관 리 구조
  • 48. 3 텍스트 로컬라이즈 시스템 예시) 영천 전투 이벤트 번역 데이터 KEY Korean Japanese Chinese Traditional Chinese English 받아랏! 받아랏! くらえっ! 去死吧! 接招吧! Take this! 제, 제길……. 제, 제길……. く、くそっ……。 可、可恨……。 可,可恨……。 Darn... 으랴앗! 으랴앗! おらあ! 啊! 啊! Hmph! 으악……! 으악……! ぐはっ……。 啊……。 啊……! Argh! 헉, 헉, 헉…….n 더 이상은 무리입 니다. 이대로라면 우리 n부대는 전멸하고 맙니다. 헉, 헉….n더 이상은 무리입니다. 이대로라 면 우리n부대는 전멸 하고 맙니다. はぁ、はぁ、はぁ……。 nもう駄目です。n このままでは我が隊は 全滅です。 呼、呼、哈…支持不住了! n再这样下去,我们会 全军覆没的。 呼,呼~哈…n支持不 住了!再這樣下去,我 們n會全軍覆沒。 Pant, pant…nWe can't take this any longer. They'll kill u s allnif we don't turn the ti de. 으, 황건병 놈 들.n끝도 없이 나타나는군. 으, 황건병 놈들.n끝 도 없이 나타나는군. くっ、黄巾賊どもめ。 n次から次へと兵がわ くように現れる。 可恶,黄巾军的人越来 越多。 可惡,黃巾兵的人越來 越多。 Ah, those Yellow Turbans.n They're relentless. 조금만 버티면 원 군이 온다.n그 때까지 어떻게든 버텨라! 조금만 버티면 원군이 온다.n그때까지 어떻 게든 버텨라! もう少しで騎兵隊の援 軍が来る。nそれまで なんとか持ちこたえる んだ! 再过一会儿,骑兵队会 来增援的,n无论如何 都要顶住! 再過一會兒,騎兵隊會 來增援的,n無論如 何都要頂住! Reinforcements will be here soon.nWe must hold out u ntil then! 말씀 드리긴 송구 하오나, n관군 은 그저 일신의 안전만을 생각하 고 n있습니다. 말씀드리긴 송구하오 나,n관군은 일신의 안전만을 생각하고n 있습니다. しかし、私が言うのもな んですが、n自分の保 身を優先し、何事にも n腰が重いのが現在の 官軍の風潮。 可是依我看,还是保住 自家性命要紧,n现在 的官军谁不这么想。 可是依我看,還是保住 自家性命要緊,n現 在的官軍誰不這麼想。 I'm sorry to say this,nbut t he royal forces only carena bout their own safety.
  • 49. 3 텍스트 로컬라이즈 데이터 생성 Select Process - 최종 로컬라이징 데이터 존재 유무 체크 - 최종 데이터가 있을 경우 해당 데이터와 현재 데이터를 비교 - 중복 분류 - 기존에 추출된 데이터는 별도 그룹으로 관리 - 파일별 번역 진행 상태 체크, 로그 출력 - 삭제 분류 - 기존 데이터에서 삭제된 데이터만 별도 파일로 취합해 출력 - 잘못 삭제되었거나, 자잘한 수정으로 key가 달라진 내역을 backup / 수동 확인 가능 - 신규 분류 - 새로 추가된 텍스트만 취합해 번역 전달 가능하게 정리 - 데이터 타입에 따라 생성되는 파일 구조를 분리 - 번역 분류 - Merge할 데이터는 분리해 관리 - 중복 + 번역으로 신규 번역 데이터 생성
  • 50. 3 텍스트 로컬라이즈 데이터 생성 Merge Process - 최종 로컬라이징 데이터 존재 유무 체크 - 중복 분류 + 번역 분류를 합쳐 병합 파일을 생성 - 데이터 타입에 따라 생성되는 파일 구조를 분리 Parse and Exchange Test - 생성된 데이터는 런타임에 로컬라이징 데이터를 활용해 번역 반영 - 게임 실행 중 로컬라이징 파일/언어 설정이 변경되면 즉시 반영되어 빠르게 확 인 가능 - 하지만 지나간 텍스트 다시 보기는 게임 스펙상 지원하지 않아 UI 외엔 대부분 재실행해 확인 한글 Key 사용 정책 - 개발 및 디버깅 편의성 증가 - 로컬라이즈되지 않아도 의미 파악 가능 - 외국어를 모르는 QA도 로컬라이징 미대응 영역을 빠르게 확인 - 중복 키 발생시 해당 데이터만 예외 처리 - 개발실에 디렉터 제외 일본어 가능자 부재
  • 51. 3 텍스트 로컬라이징 구현 Data Driven - Python 2.7 - 데이터 핸들링 및 데이터 파싱 C# 코드 자동 생성 구현 - 로컬라이징 데이터 취합, 분류, 병합, 중복 제거 등의 전 과정을 스크립트로 자동화 - 로컬라이징 내부 규칙에 의거해 데이터를 정의하고 관리 - 텍스트 인코딩 룰에 매칭되지 않는 코드 / 리소스 필터링
  • 52. 3 텍스트 로컬라이징 구현 Source Data Format - .xls - 실제 게임 데이터 개발용 테이블 / 로컬라이즈 편집용 데이터 파일 - 툴 개발할 시간이 없어 엑셀 파일을 기준으로 필요 데이터 추출, 자동화 - .cs - 번역이 필요한 텍스트가 포함된 Unity C# 스크립트 파일 - .prefab / .scene - 각종 UI 텍스트 데이터가 포함된 Unity 파일 - .xml / .json - XML: 자체 데이터 편집툴 + xls Export + 문서 편집기로 개별 작성한 파일 들 - JSON: 빌드 시 json으로 최종 import. 이벤트 데이터는 일정 상 추후 개선 예정 - .csv - 게임에 포함되는 번역 데이터 파일
  • 53. 3 텍스트 로컬라이징 구현 Output Data Format - .xls - 로컬라이즈 작업 편집용 데이터 - 번역 업체나 데이터 전달 시 에디터로 엑셀을 활용 - .csv - 게임에 포함되는 최종 로컬라이즈 데이터 포맷
  • 54. 3 텍스트 로컬라이징 구현 Select Output Data Pipeline ① 구 버전 전체 폴더 TimeStamp Setting Back Up ② .duplicated.xls - [자동생성] 이전 버전과 비교해 생성된 중복 데이터 (유지된 데이터) ③ .deleted.xls - [자동생성] 최신 버전에서 삭제된 데이터 ④ .added.xls - [자동생성] 최신 버전에서 추가된 데이터 ④ ⑦ ③ ② ⑥ ⑤
  • 55. 3 텍스트 로컬라이징 구현 Merge Output Data Pipeline ⑤ .translated.xls - [수동생성] added의 내용에 번역 내용을 반영한 데이터 ⑥ .merged.xls - [자동생성] translated + duplicated ⑦ .csv - [자동생성] merged 변환 - 게임에 포함되는 최종 데이터 ④ ⑦ ③ ② ⑥ ⑤
  • 56. 3 텍스트 로컬라이징 구현 Select Matching Rule - 시스템 데이터는 단일 파일로 통합해 추출, 관리 - 메모리에 상주 - 2016/08, 일본어 버전 기준 2.1MB - 테이블 데이터는 지정한 Field만 추출 - 추출 예약 필드 [~] - 추출 예외 필드 [#] - 개별 테이블 데이터는 예외 처리 - 숫자, 알파벳만으로 이뤄진 data는 추출 제외 - [===]로 로컬라이즈 예외 마킹 데이터는 추출 제외 (임시 데이터) - Unity: Localized Label만 추출 - 일반 Text Label은 추출에서 제외 - 테스트용 / 내부 에디터 체크용 정보 Label을 분리 - 스탭롤은 원래 Localized Label이었으나 일본 요청으로 일반 Label로 변경 - C#: Localized Text만 추출
  • 57. 3 텍스트 로컬라이징 구현 Event Only Localize Rule - 조조전은 텍스트 데이터(대사)가 굉장히 많은 게임 - 2016/08, 일본어 버전 xls 파일 기준 이벤트 대사만 15MB 이상 - 이벤트 번역을 단일 파일로 통합하면 당장 불필요한 이벤트 대사가 메모리 낭비 - 이벤트 번역 데이터는 이벤트 단위로 번역 파일을 분리해 관리되도록 구현 - 2016/09 현재 1,140개 파일로 분리 - 조조전의 한국어 -> 일본어 번역 비용은 일반 프로젝트에 비해 고비용이 소요 - 번역 1회 + 검수 2회 - 일본어 로컬라이징 챕터에서 다시 언급 - 반복되는 대사 패턴을 번역할 경우 불필요한 비용 증가 - But 캐릭터 개성을 반영해야 하는 번역은 같은 대사라도 여전히 분리해서 관리 필요 - 시나리오 및 콘텐츠 특성에 따라 번역 및 관리 방식을 분리
  • 58. 3 텍스트 로컬라이징 구현 Event Only Localize Rule - 이벤트 유형 별 번역 데이터 관리 방식 변경 - 일반 이벤트: 개별 데이터 추출 후 일반 이벤트를 통합한 단일 added 파일 생성 - added를 번역한 뒤 통합 translated 파일을 생성 - 통합 translated의 내용을 검색해 다수의 개별 이벤트 파일에 번역 데이터 적용 - 중복 대사 및 내용은 단일 파일로 취합해 필터링해 번역 비용 감소 - 실제 로딩되는 개별 파일은 이벤트 단위로 존재해 로딩 시점에 필요 데이터만 관리 - 클라이언트 용량 측면에선 낭비가 있으나 메모리 이익 + 개별 커스터마이즈 가능성 유지 - 중요 이벤트는 개별 파일 단위로 번역을 수행하므로 중복 체크가 안되는 대신 개별 대사 고유 형태 유지
  • 59. 3 텍스트 로컬라이징 구현 수동 로컬라이징 - AOS의 java native, iOS의 Object-C native, 미들웨어 level에서 로컬라이징이 필요한 데이터도 존재 - 수작업으로 진행 but 미들웨어 버전업 시 수작업 로컬라이징 데이터가 날아가는 문제가 있음 - Merge 문제. 인력(=노가다)으로 대응 - iOS는 맥에서 직접 파일을 수정해야 해서 SVN도 못쓰고 빌드 서버에 앉아 수작업 - 기타 미들웨어 로컬라이징은 미들웨어용 웹 툴들을 이용해 작업 - 실수가 QA 외에 필터링되기 힘든 구조. 외부 모듈들의 사용 제한이라 개선이 힘 듬 - 보안 사항이라 세부 내용 언급은 어려워 여기까지
  • 60. 3 리소스 로컬라이즈 시스템 패치 리스트 생성 - 통합 데이터를 기준으로 국가별 패치 리스트 생성 - 공통 데이터 + 국가별 고유 데이터로 구분 - 한 번 빌드로 국가별 패치 데이터가 함께 생성 언어별 패치 다운로드 - 빌드 정보에 맞춰 설정된 언어에 맞는 패치 데이터 다운로드 - 불필요한 데이터는 다운로드 제외 - 로딩 시도 시점에 언어 전용 파일이 누락되었을 경우 즉시 기본 파일 추가 다운 로드
  • 61. 3 리소스 로컬라이즈 시스템 파일 기반 언어별 리소스 분리 로딩 - 2문자 표준 국가 코드 정보를 동일 파일명의 확장자로 추가 - 국가 정보 없는 파일은 공통 파일 - .kr: 한국에서만 사용되는 대체 파일 - .jp: 일본에서만 사용되는 대체 파일 - 리소스 로딩 시 국가 정보에 따른 전용 리소스가 있으면 해당 리소스부터 로드 - 전용 리소스가 없으면 공통 리소스 로드 - 성우 데이터, 튜터리얼 이미지 등에서 활용 - BI 등 일부 예외 구현만 제외한 나머지를 일원화 - 국가마다 리소스가 다르니 이미지에 글자가 들어가도 되는 상태 - 하지만 이미 다 만들어서… 패스. ㅠㅜ
  • 62. 3 필터링: 입력 제한 사용자의 입력 가능 문자 제한 - 국명, 채팅 등 유저가 입력해 외부로 노출될 수 있는 텍스트 정보 전체에 해당 - 데이터 시인성 확보 및 혼란 방지를 위해 국적/언어 설정에 따라 사용 가능 글자 를 제한 - DB 텍스트 인코딩 규격화 및 파싱 오류 방지 - 국명은 혼란 방지를 위해 1/2byte 특수 문자의 사용을 제한 - 삼국지조조전 Online에서는 계정 생성 시 지원 언어에 따라 사용 가능한 문자가 제한 - 한국 빌드로 접속 시 일어가 포함된 계정 생성이 불가능 (표시는 지원)
  • 63. 3 필터링: 계정/채팅 비속어 제한 유저가 입력하는 텍스트의 필터 링 - ID를 비롯, 채팅, 우편 등 유저 입력에 의한 게임 내 노출 텍스트 필터 - Nexon은 과거 MMORPG 바람의 나라부터 모든 게임에 필터링 적용 - 문제의 단어 포함시 입력 불가 / 대체 단어로 교체 언어에 따라 달라지는 요구사항 - 한글: 포함관계 모두 블록 but 케이스에 따라 블라블라 - 영어: 단어 매칭 시 블록 - 기타 등등…… 언어에 따른 개별 데이터 - 언어별 필터링 데이터가 별도 존재 - 운영팀에서 필터링 대응 언어 템플릿 제공 (10개 국어 대응) - 한글, 영어, 일어, 독일어, 스페인어, 러시아어, 포르투갈어,
  • 64. 3 조조전의 비속어 필터 포함관계 / 블로킹 - 테일즈위버의 필터링 규칙은 매칭 / 치환 - 조조전의 필터링 규칙은 포함 / 블록 - 추가 국가별 언어 대응에 따라 달라질 수 있음 필터링 대응 언어 - 전체: 한글, 영어, 일어, 한문(간체/번체) 대응 - 한국: 한글만 대응 중 언어에 따른 개별 데이터 - 언어별 필터링 데이터가 별도 존재 - 국내 런칭 버전은 현재 한글만 대응 채팅용 / 계정용 데이터가 분리 관리 - 데이터는 많은데 포함관계나 상위 개념 등의 정리가 부족해 추후
  • 65. 3 비속어 필터의 개선 고민 채팅용 / 계정용 / 게임용 데이터 관계 재정의 - 데이터 관리 주체가 운영 부서여서 개선 방안을 논의 중 - 현재는 그냥 많은 데이터가 공존 - 포함 관계 + 중복 제거를 통해 데이터 다이어트 및 정책의 명확성 개선 - 추가적인 문제 해결을 필터 데이터 자체의 개혁 필요 이하 미적용, 구현 고민하다 보류한 내 용 - 구상해 테스트는 해봤지만 정작 실천은 안한 이슈 - 데이터 정비가 공임이 큰데 공통 데이터라 정책의 변경이 필요 - 기본 개발 컨셉: 정규표현식 + 유니코드 정규화를 이용한 비속어 필터 적용
  • 66. 3 이하 잠시 19금 미성년자는 다음 챕터까지 눈을 감아주 세요 - 아니 뭐 그다지 이상한 게 나오진 않는데요… 그래도 심의 규정을 준수합니다
  • 67. 3 비속어 필터의 개선 고민 Raw data에 정규 표현식(regex) 적용 - 정규식으로 구조화하면 적은 패턴으로도 효율적인 대응이 가능 - 지금처럼 단순히 패턴 데이터를 늘리는 방식보다 필터링 효율 상승 - 중복 텍스트와 규칙의 세부적인 정비 필요 - 필요성과 우선순위의 문제 + 데이터 작성자의 숙련도가 이슈 - 예제 - 목표: Suck과 변형 단어를 모두 막자 - 입력 예제: Suck, Suuck, suck, SUCK, ssuck… - 정규식 매칭 필터 키워드: m/(s+w*)(u+[a-z|0-9]*)(c+[a-z|0-9]*)k/ - 시연: http://www.rexv.org/ 한글은 어쩌나요? - 필터: 섹스 - 입력: 섹스, 쎅쓰, 섹쓰, 섺스, 쎆쓰, 쌕쑤, 섹ㅇ스, 섻스… - 약간의 공수가 추가되면 한글도 가능합니다
  • 68. 3 비속어 필터의 개선 고민 유니코드 정규화(Unicode equivalence) 추가 - 정준분해 NFD (Normalization Form Canonical Decomposition) 후 필터링 - 발음 구별 기호를 분해 - が (U+304C) → か (U+304B) + ゙ (U+3099) - ệ (U+1EC7) → e (U+0065) + ̂ (U+0302) + ̣ (U+0323) - 한글 소리마디 영역(U+AC00~U+D7A3)을 첫가끝 코드로 분해 - 위 (U+C704) → ᄋ (U+110B) + ᅱ (U+1171) - 한 (U+D55C) → ᄒ (U+1112) + ᅡ (U+1161) + ᆫ (U+11AB) - 표준 조합 형태로 정렬 - e (U+0071) + ̇ (U+0307) + ̣ (U+0323) → e (U+0071) + ̣ (U+0323) + ̇ (U+0307) - NFD 후 주요 필터링을 적용하면 비속어 변형을 상당수 회피 가능 - 입력: 섹스, 쎅쓰, 섹쓰, 섺스, 쎆쓰, 쌕쑤, 섹ㅇ스, 섻스… - 정규식: m/([ㅅ|ㅆ]+[ㄱ-ㅎ|ㅏ-ㅣ|가-힣]*)(ㅔ+|ㅖ+|ㅐ+|ㅒ+)(ㄱ+[ㄱ- ㅎ|ㅏ-ㅣ|가-힣]*)([ㅅ|ㅆ|s]*)/ - NFD 후 비교하면 단일 규칙으로 모두 필터링 가능 - 단, 잘못 만든 정규식은 일반 대화를 필터할 수 있는 리스크가 존재
  • 69. 3 비속어 필터의 개선 고민 사족: 첫가끝 코드 - 첫소리-가운뎃소리-끝소리 글자부호화 방식(Syllable-Initial-Peak-Final Encoding Approach) 한글 부호계의 통칭 - 유니코드 5.2이상 표준화 - 오피스 워드 2002부터 지원. 윈도우 8 이후 특정 폰트에서 대응 - 은글꼴의 은바탕 및 은 자모 바탕 글꼴 - 옛한글 글꼴 - 함초롬체 - 본고딕· Noto Sans CJK - 나눔바른고딕 옛한글 글꼴 - 한양정보통신에서 개발, 사용되어 오던 한양 사용자 정의 영역 코드(Hanyang private use area code) / 한양 PUA 코드의 완성형 옛한글 5000여 글자 지원 한 계를 넘어 방점을 제외한 거의 대부분의 조합형 한글 처리가 가능
  • 70. 3 비속어 필터의 개선 고민 유니코드 정규화(Unicode equivalence) 적용 - 호환분해 NFKD (Normalization Form Compatibility Decomposition) 후 필터링 - 합자 처리된 알파벳을 각 알파벳으로 분해 - fi (U+FB01) → f (U+0066) + i (U+0069) - 옛 알파벳을 현대 알파벳으로 변경 - ſ (U+017F) → s (U+0073) - ẛ (U+1E9B) → s (U+0073) + ̇ (U+0307) - 영문 채팅 필터링은 이 형태로 적용 가능 - … 그런데 이렇게까지 쓰는 사람이 얼마나 있을지는 의문 - 그 이전에 글자 입력 범위를 제한하면 이런 글자는 사용 불가로 필터링 (…)
  • 71. 3 비속어 필터의 개선 고민 실제 게임에 이렇게 적용 안 한 이유 - 바빠서 / 불필요한 비용에 대한 고민 - 프로토타입 아닌 실 스펙 구현할 시간에 스킬이나 아이템 하나 더 만드는 게… - 사용자의 자유를 이렇게까지 제한할 이유가 있는지 의문 - 저렇게까지 피해가면서 쓸 생각이면 아예 뜻이 다른 단어를 차용하거나 신생할 수도 - 예) 민주화 / 한남충…… - 아무리 막아도 어떤 식이든 우회 방식은 발생. 인간은 창의적 - 그래도 기본적인 대응은 불필요한 운영/사용자 간 분쟁을 일으킬 수 있으니 필 요 - 수위와 정도와 대응 레벨의 문제 - 정규식 데이터 정리를 누가 할 건가? - 샘플은 만들어도 다 하는 건 쫌… - 운영팀에서 해주시면 적용 - 고양이 목에 방울 달기
  • 72. Chapter [4] 언어별 폰트의 이해와 준비 Inven Game Conference
  • 73. 4 글꼴 포맷의 이해 – Rasterize Type Raster VS Vector - Raster: 정사각형 점으로 시각화하는 그래픽 표현 방식 - aka. Bitmap, Pixmap, Dot, Pixel 등 - 가장 기본이 되는 그래픽 표현 방식 - 장점 - 빠른 연산속도 - 정밀한 색 변화 - 단점 - 고용량, 해상도 증가 시 지수형태로 증가 - 확대 축소 시 계단처럼 깨짐 현상 발생 - Vector: 점과 점 사이의 곡선으로 시각화하는 그래픽 표현 방식 - 일러스트레이터, 폰트 등에서 활용되는 기법 - 장점 - 저용량 - 다양한 해상도에서 동일한 품질 유지 - 단점 - 복잡도가 높아질 수록 연산 부하가 크다 - 정밀한 색 변화나 세밀한 디테일 표현이 어려움
  • 74. 4 글꼴 포맷의 이해 Bitmap VS Vector - 비트맵 폰트: Rester 방식으로 제작된 폰트 - 점활자 - 폰트 사이즈 가변 사용시 이미지 손상 - 텍스쳐 아틀라스를 제작해 용량 최적화 - 널리 알려진 최적화 방법 - 벡터 폰트: 벡터 방식으로 제작된 벡터 폰트 - 선활자, 외곽선 글꼴 - 폰트 사이즈 가변 사용시 이미지 유지 - 폰트 서브셋을 제작해 용량 최적화 - 상대적으로 잘 활용하지 않는 최적화 방법 Post Script Type - 인쇄용 벡터 폰트. Adobe에서 개발. 인쇄물 출력 용도 외에는 사용할 일이 거의 없음
  • 75. 4 TTF vs OTF TTF (True Type Font) - 1980년 Apple에서 Adobe의 PS Type 1에 대항해 개발, 1991년 Windows 3.1 에도 적용 - Hinting Instruction: 저해상도에서도 픽셀단위 제어 가능 - 곡선 표현에 2차 베지어 곡선을 사용: 시작점, 끝점, 1개의 곡률점 - 연산 속도가 상대적으로 빠르며 저용량 - 정밀도가 떨어지며 가족체(bold, italic)가 별도 파일로 관리 OTF (Open Type Font) - 1996년 Adobe + Microsoft에서 개발 (2007년 ISO 승인) - True Type + Post Script: 인쇄물과 화면 출력의 통일성 유지 - 곡선 표현에 3차 베지어 곡선을 사용: 시작점, 끝점, 2개의 곡률점 - 정밀도가 높고, 가족체가 단일 파일로 관리 - 연산 속도가 상대적으로 느리며 고용량 Quadratic B-Splines 2차원 베지어 곡선 Cubic Bézier Curves 3차원 베지어 곡선
  • 76. 4 TTF vs OTF Circle and quadratic bezier 8 + 8 Point Circle and cubic bezier 4 + 8 Point TTF vs OTF의 진실? - Hinting 제어는 TTF가 더 좋다: 저해상도 / 작은 사이즈에서 품질이 더 우수 - 그러나 HD 시대가 되며 Hinting 제어 정밀도는 점점 의미를 상실 - OTF가 더 빠르고 수학적 연산량이나 저장 정보량도 단순한 경우도 있음 - 고해상도의 곡선 품질 정밀도는 Cubic Bezier가 더 유리 (B-Spline은 subset임) - http://www.truetype-typography.com/articles/ttvst1.htm 참조 - 하지만 몰라도 게임 만드는 데는 지장이 없…
  • 77. 4 TTF와 OTF의 품질 차이 곡률이 큰 곡선 표현의 차이 - 사실 화면 크기가 작은 모바일 디바이스에선 큰 차이가 안나게 느껴질 수도 있 지만… 삼국지조조전 Online은 절충해 사용 - 통상 정보/대사 표시용 폰트는 TTF, 연출용 폰트는 OTF를 사용 (절충) - 최종 버전은 업체의 한글 폰트 배포 정책이 변경되면서 모두 TTF로 변경 - 사실 업체에 문의해서 받아서 교체해야 하는데 바빠서 까먹고 런칭… - 일본어 폰트는 한자 사용 빈도가 높아 모두 OTF 사용 프로젝트의 특성에 맞춰 선택하시면 됩
  • 78. 4 삼국지조조전 Online Case Study Font on Unity3D - 비트맵 폰트와 벡터 폰트(Dynamic Font / Unity Font) 모두 지원 - 오픈 소스 폰트 엔진인 Free Type Font Rendering Engine을 사용 - https://www.freetype.org/ - TTF, OTF등 다수의 폰트 포맷 지원 - IVS도 대응하고 있어 부수 변형 한자 지원 가능 Dynamic Font on 삼국지조조전 Online - 삼국지조조전 Online은 폰트 파일을 내장해 폰트를 출력하는 방식으로 구현 - 유니티에서 NGUI/UGUI의 Unity Font 사용 시 문제가 있었으나 대안이 없어 사 용 중 - Unicode 지원 버전을 알기 힘들어 추가 글꼴의 대응이 어디까지 되는지 모름 - Freetype은 2.1은 확실히 지원하고 3.1도 되기는 하는 거 같은데… 최신 9.0지원은? - 옛한글을 제대로 대응하려면 최소 5.2 이상이어야 함 - 비트맵 폰트의 용량/메모리 최적화에 비해 자원 낭비가 있지만, 몇 가지 장점이 존재 - 시스템 폰트 지원: 스마트 디바이스에 내장된 폰트 지원 가능
  • 79. 4 폰트, 어떻게 준비할까 무료 폰트도 많으니 선택해 활용 - 요즘은 좋은 무료 폰트도 많이 구할 수 있음 - 사용 전 상용 게임 적용 가능 저작권 규정 확인은 필수 - 게임 아이덴티티와 가독성이 중요하다면 상용 폰트도 검토 필요 유료 폰트 라이선스 - 상업용 유료 폰트를 라이선스 해서 사용 - 삼국지조조전 Online은 유료 폰트를 언어 별로 라이선스 해 사용 - 게임 아이덴티티를 위한 전용 폰트 제작 계약도 가능하지만 비용이 크게 증 가 - 경험에 따르면(2015년 기준)… - 한국 업체의 한글 폰트 라이선스는 생각보다 저렴 (수백 만원 대) - 일본 업체의 일본 폰트 라이선스도 조건에 따라서는 생각보다 저렴 (수십~ 수백만 원 대) - 법률적 제한이 한국 업체보다 복잡함 - 접촉했던 업체들은 지원 문자 수와 가격 차이는 없었음 - 중국 업체의 중문 폰트 라이선스는 예상과 달리 굉장히 비쌈 (연간 사용료 수천만 원 대)
  • 80. 4 폰트, 어떻게 준비할까 직접 폰트를 만드는 것도 가능 - 폰트 포지와 같은 툴을 사용하면 직접 제작 가능 - https://sourceforge.net/projects/fontforge/ - http://fontforge.org/ - 영문 폰트와 달리 한글 폰트를 만드는 건 상당한 시간과 비용이 필요
  • 81. 4 폰트 선정 시 주의 사항 필요한 글자를 모두 지원하는지 확인 - OTF 기준으로 최대 65,536개의 글자를 지원할 수 있으나, 폰트 용량 및 제작 비 용, 실효성 등 어른의 사정에 의해 폰트마다 지원 글자 수가 제각각 - 일어 폰트는 상대적으로 폰트 스펙의 구매 전 확인이 용이(업체에서 용도 확인 후 사전 피드백)했으나, 한글 폰트는 개발사에서 알아서 체크해야 함 - 디자인이 특이한 한글 폰트나 용량이 작은 폰트는 지원 글자 수가 적은 경향이 있음 - 지원 범위를 개별 폰트마다 일일이 확인하기 힘들어, 유니코드 규격 테이블을 참조해 한글 전체 유니코드가 표시되는 엑셀, 워드 파일을 제작해 검증 - 서식지원 기능을 활용해 눈으로 보면서 누락 글자 종류와 수량을 비율을 파 악 - 필요하나 누락된 글자가 있는 폰트를 대체하며 폰트 재선정 - http://www.unicode.org/charts/PDF/UAC00.pdf - 게임 특성 상 한국 고전 글자 표현은 불필요해, Unicode 5.1(2007)에 추가된 옛 한글은 고려하지 않았음 - 1100:11FF, A960:A97F, D7B0:D7FF 구간 - http://std.dkuug.dk/jtc1/sc2/wg2/docs/n3242.pdf - 한자 출력이 중요한 게임이라면 표준 한자 외의 확장한자 지원 범위 확인도 필
  • 82. 4 용량 문제와 최적화 (한글) 배포 용량 및 메모리 - 초기 사용하던 폰트 2종의 총 용량 - 한글: 12MB - 일어: 24.2MB - 유니티 기본 빌드 시 16MB - 중국 버전 [식물 vs 좀비] 안드로이드 앱 11MB보다 큰 용량 (…) - 폰트 서브셋 적용으로 용량 최적화 - 한글: 4.5MB - [한글] 서브셋으로 수정된 최종 폰트 2종의 용량: 819KB - 2048*2048 ETC1 아틀라스 2장보다 적은 용량으로 TTF 폰트 2종 지원 종류 언어 원본 Subset 절약 용량 일반 폰트 한글 3.51MB 357KB 3MB 연출 폰트 한글 970KB 462KB 0.5MB 일반 폰트 일어 11.5MB 1.83MB 9.2MB 연출 폰트 일어 12.7MB 2.13MB 9.6MB
  • 83. 4 폰트 서브셋 만들기 Subset Font Maker - http://opentype.jp/subsetfontmk.htm - 일본에서 개발된 좋은 무료 솔루션. Windows / Mac 지원 - BM 폰트처럼 사용해 TTF/OTF를 생성 - 서브셋 추출 과정에서 품질 손상에 대한 피드백을 본 적 있으나 아직 체감 못하고 있음. 폰트 포맷 변경 시의 클레임으로 예상
  • 84. 4 폰트 서브셋 만들기 [공통] 글자 수집/필터/리스트 출력 - VBA를 이용해 엑셀에서 수많은 로컬라이징 테이블을 단일 파일로 merge - C++ 유틸리티를 제작해 언어별로 로컬라이징 테이블에 사용된 글자를 중복 필 터링해 정렬 - 제작된 리스트 + 필요 텍스트를 추가해 서브셋 리스트로 활용해 폰트 제작 [한글] KS X 1001:2004 - 한국 산업 규격 정보 교환용 부호계 (KS C 5601) - 한글 2350자, 한자 4888자 - 알려진 인코딩 방식 - EUC-KR(완성형) - ISO-2022-KR(이메일 인코딩) - CP949 (EUC-KR + 8,822자, Windows 사용) - 기본 필터링 규격으로 대응해 기본 글자 확보
  • 85. 4 폰트 서브셋 만들기 [일어] 3수준,4수준 한자 사용 필터 - 불필요한 한자들을 제거해 폰트 용량 다이어트 - 현재까지는 굉장히 성공적 + 메모리 절감 효과 [일어] 2수준 한자 필터 - 2수준 한자까지는 모두 포함 - 채팅 시 글자가 깨지지 않도록 허용 [일어] IVS 지원 - 다행히 유니티에서 지원되어 서브셋 제작시에도 커버 시스템 폰트 커버리지 활용 - 부족한 글자는 시스템 폰트로 출력되는 것을 전제로 정리
  • 86. 4 IVS? 이체자 Ideographic Variation Sequence - 같지만(?) 형상이 다른 한자 처리를 위한 유니코드 규격 - 유니코드 2글자로 1자를 표현 (1번째가 한자를, 2번째가 부수의 type 지정) - 지원하는 에디터나 뷰어가 많지 않다 (일본 주도 개발) - KS, JIS, GB, CNS, TCVN 등 규격들의 한자나 같은 규격 내 가변 글자의 처리 - 한중일(한월중일) 통합한자 관리에도 사용 (CJK, CJKV) - 폰트 내부 데이터는 내부 subset으로 동작, 지원 자수에 비해 용량 감소
  • 88. 5 한국어 로컬라이징? 한글로 개발한 게임이 로컬라이징? - 관점의 차이, 생각하기 나름 - 한국 런칭 전 정리해야 하는 업무들로 정의 - 데이터가 많다 보니 남말 할 처지가 아닌 상태 ㅠㅜ
  • 89. 5 한국어 로컬라이징 커버리지 번역 / 폰트 교체 - 한국 버전이 기준 버전이라 번역은 불필요 - 폰트 서브셋 제작 성우 - 성우 19명 더빙 (추가 캐릭터 더빙 예정) 법률 / 규정 대응 - 요구 사항 대응 완료 관습 / 문화 반영 - 한국 팬덤 코드 반영 특정 국가 전용 기능 - 네이버카페 SDK (사업 요구 사항)
  • 90. 5 1101010101011100 1010111000000000 한글 - 구성 - 자음 14 - 모음 10 - 조합 패턴 - 초성 19 - 중성 21 - 종성 28 - Unicode 기준 - {[(초성×21) + 중성]×28} + 종성 + 0xAC00
  • 91. 5 한글 폰트 라이선스 아시아폰트 - http://www.asiafont.com/ - 장점 - 폰트통 프로그램을 통해서 미리 원하는 폰트를 자유롭게 리뷰 가능 - 폰트 라이선스 정책이 합리적 (배포 국가 제한 없음) - 1타이틀 라이선스 시 폰트 5종까지 사용 가능 (패키지 계약) - 조조전은 일반 폰트와 연출 폰트 2종을 사용, 3종 save - 단일 폰트 사용 조건으로 할인은 불가 (단일 폰트 계약 시 4종 서비스의 개념) - 비용 정책 - 게임 프로젝트 단위 계약 - 모바일 게임 - 이미지 형태 (비트맵 아틀라스): 타이틀 당 100만원 - 임베디드 (앱 내 폰트 파일 배포): 타이틀 당 300만원 - 삼국지조조전 Online 적용 형태 - PC 게임 - 임베디드 (앱 내 폰트 파일 배포): 타이틀 당 700만원 - 멀티플랫폼 시 700만원으로 추가 플랫폼 모두 커버 가능
  • 92. 5 조조전의 한글 폰트 라이선스 아시아폰트 – 폰트통
  • 93. 5 일반적인 한글 폰트의 지원 범위 - 폰트통은 460개 이상 폰트 지원 - 그러나 확장한글을 지원하는 폰트는 몇 종류 되지 않는다 - 확장한글이 필요한가?는 게임에 따라 다른 문제. 다른 카테고리도 마찬가지 - 옛한글이나 기타 폰트 처리를 위해서는 일반 규격 이상의 폰트가 필요 - 구글 noto sans의 subset을 쓰는 것도 방법이지만, 디자인을 차별화하는 부분도 개발 당시 중요하게 판단. But 현재는 사업 요구에 대응해 초반 디자 인 폰트를 모두 제거 지원 글자 자수 비고 영문 99 알파벳과 아라비아 숫자와 ASC II 기본 한글 2,350 완성형 한글 기본 지원 범위 인터넷에 필터되어 돌아다니는 기본한글은 이보다 적다 확장 한글 11,172 AC00:D7A3 = 초성 19 × 중성 21 × 종성 28 확장 한글 자모가 아닌, 조합형 한글 범위를 의미 기본 한자 4,888 연출이 아닌 경우 사용 잘 안 함 특수 문자 2,128 상당수는 게임에서 불필요 전체 20,637 안쓰는 글자는 줄일 필요가 있음
  • 94. 5 동음 필터링 및 대응 동명이인/지명 표기 문제 - 이름이 유니크하지 않은 문제 + 동명이인은 사용자를 혼란에 빠뜨림 - 한자 병기도 생각해봤으나, 불필요한 정보가 증가하고 사람들이 얼마나 볼 지도 의문 - 한자로는 다른 이름이지만, 한글로는 같은 발음 (표기) - 동일 독음에 의한 중복 - 두음법칙에 의한 변화로 중복 등 - 번역 기준 key 중복 문제: 수작업으로 대응 - 한자로는 다른 글자지만, 한글로는 같은 표기 발음이 동일하면 콘텐츠를 취사 선택 - 역사 상 중요도가 더 높은 인물을 살리고 중요도가 낮은 인물을 삭제 - 하지만 여전히 몇 가지 인물들의 문제가 남아있는 상황 - 예) 제갈량 마왕 VS 제갈량 - 일부 취사 선택이 불가한 경우는 두음법칙을 파괴하거나 강제 변경하는 형태로 구분
  • 95. 5 문화적 이슈: 특정 커뮤니티 용어 사투리와 용어 문제 - 수백 명의 장수 대사에 개성을 부여하기 위해서 한국 버전의 특정 장수에게 방언 을 적용 - 처음 발상은 영화 황산벌 - 일본 애니메이션의 방언 활용 참조 - 일부 장수에 부여해 대사 개선 및 성우 녹 음 - QA 검수 도중 특정 대사로 인해 문제 촉 발 이놈의(노무) 자슥아! - 성우 애드립으로 탄생한 대사 - 개발팀 입장에선 평범한 사투리였지만… - 노무/노므라는 발음이 일베 용어를 연상
  • 96. 5 문화적 이슈: 특정 커뮤니티 용어 사투리가 일베 용어인가? - 방언은 우리 언어의 다양성 중 하나지만, 비하 목적으로 이용당하고 있는 것도 현실 - 특정 커뮤니티들에서 사용되는 용어들은 자체 필터링되어 게임에 사용되지 않 은 상태 - 노므: QA 부서에서 사용하는 전수 검사툴에서 발견된 유일한 문제 단어 - 디지라: 죽어라의 방언이지만 QA에서는 심의 등급 문제로 판단 - 불필요한 오해를 피하고자 기획 시 전라도와 경상도 방언을 동일 비율로 게임에 적용한 상태 - 게임 특성 상 성우 음성 지원이 되는 전투 대사 연출을 2초 전후로 맞춰야 하는 이슈가 있어, 말이 느린 충청도 방언은 통상 적용이 아닌 부분 적용되어 비율이 적음 - 표준어를 쓰다 특정 시점에서만 충청도 방언이 섞인 대사를 사용하는 형태 - 넥슨의 여러 부서가 포함되어 사투리 사용을 허할 것인가, 사투리 사용을 모두 걷어내고 성우 재녹음 및 작성된 텍스트 전체 수정을 할 것인지 논의 결론: 이 자슥아!
  • 97. 5 문화적 이슈: 특정 커뮤니티 용어 문제가 된 방언(?) 일부 사례 - 니는 고마 디지쁫다! - 쪼매 아플게다! - 두고보자, 다음은 없으니께! - 젠장! 맘처럼 안 된다냐! - 꺼지라 이 자슥아! 자체 검열, 내부 검열, 외부 검열 - 최종적으로 형태는 유지했으나 콘텐츠 기획 시 자체 규제가 점점 심해지는 아쉬 움 - 강화되어가는 필터링을 고려할 때 추후 게임 개발 시 방언 사용 캐릭터를 구축 할지 미지수 - 문제는 사전 예방을 해야 하지만… 어디까지가 경계인지 불분명한 부분이 고민
  • 98. 5 언어 순화 맞춤법 / 비속어 / 욕필터 / 폭력성 / 선 정성 / 비하, 혐오 배제, 이슈 제거 등등 … - 예상하지 못한 텍스트의 필터링 및 수정 진행 - 의도하지 못한 자기 검열 - 예측 / 납득하기 힘든 필터의 연속 실제 사용 불가 수정 사례 (일부) - 그런 남자: [브로]의 [그런 남자]를 연상시키므로 사용 불가 - 보슬비: 성적 비하 단어를 연상시키므로 사용 불가 - 석팔산, 오석산: 일부 위키에서 마약으로 설명해 제거됨 (코에이 삼국지에 나오는 회복 아이템…) - 염병을 쫓는 부채: 사전 내용이지만 비속어 필터 제한 - 잡놈: 비속어 제한 - 기타 유사, 발음 일부 동일, 등등의 이유로 많은 텍스트 수정
  • 99. • 문자열 조합에 의해 메시지를 출력해야 하는 경우, 한글은 종성에 따라 조사가 변화 • 조조전은 Unicode를 사용하고 있어, 간단히 구현 • 게임에서 사용하는 텍스트 인코딩 방식에 따라서 구현 방식이 다름 • 조사 체크 루틴을 간단히 코딩해서 게임 내 로컬라이징 텍스트 연동 로직에 적용 • 만들고 나서 검색해보니 오픈 소스 코드가 있어서 허무… 검색을 생활화합시다 한글 관계언(조사) 처리5
  • 100. 한글 조사 처리 구현 (예제) public static string krSuffixTest(string name, int type) { char last = name[name.Length - 1]; string result; if (last < 0xAC00 || last > 0xD7A3) { return name; } switch (type) { case 1: result = (last - 0xAC00) % 28 > 0 ? "을" : "를"; break; case 2: result = (last - 0xAC00) % 28 > 0 ? "이" : "가"; break; case 3: result = (last - 0xAC00) % 28 > 0 ? "은" : "는"; break; case 4: int ksf = (last - 0xAC00) % 28; if (ksf == 0 || ksf == 8) { result = "로"; } else { result = "으로"; } break; case 5: result = (last - 0xAC00) % 28 > 0 ? "과" : "와"; break; case 6: result = (last - 0xAC00) % 28 > 0 ? "이여" : "여"; break; case 7: result = (last - 0xAC00) % 28 > 0 ? "아" : "야"; break; case 8: result = (last - 0xAC00) % 28 > 0 ? "이랑" : "랑"; break; default: return name; } return name+result; } 5
  • 101. • 실제로는 더 개선된 버전으로 사용 (Stringbuilder 적용 외) • 현재 버전의 문제 • 일부 미적용: 시간되는 대로 대응 예정 • 특수 문자 제거 체크 누락: 양주(북), ‘이전’ 같은 케이스의 조사 처리 불가 • 시간 나는 대로 특수문자 제거하고 검토하는 형태로 개선 예정 • 추가로 언젠가 시간되면 만들어볼까 구상 중인 유틸리티 • 호칭 컨버터 • 직책과 나이 비교에 의해 호칭 등급화, 분리 대응 • 관우님아(X), 관우님(O), 관우야(O), 관우(O), 운장(O), 관운장(O) • 인칭 대명사 자동 분기 처리 • 그, 그녀, 주공, 대장, 장군, 네놈, 그대, 폐하… • 번역에 문제가 있어 고민 중 한글 관계언(조사) 처리5
  • 102. 5 한국 게임 이용 약관 (EULA) 요구사항 - 게임 최초 시작 시 이용 약관을 명시하고, 이에 대한 사용자 동의를 얻어야 서비 스 이용 가능 - 게임 홍보를 위한 푸티 노티피케이션은 (광고)로 시작되어야 함 - 심야 시간에 발송되는 푸시 노티피케이션은 사용자 동의가 있을 때만 발송 가능 대응 - 게임 최초 시작 시 게임 이용 약관을 명시 - 미성년자 확인 팝업과 함께 처리되어도 무관
  • 103. 5 법령 대응: 확률형 아이템 자율 규제 확률형 아이템 규제 - 유료 캡슐형 아이템의 결과물 목록 및 구간별 확률 수치 공개 등을 골자로 하는 업계 실천 규약으로, 한국 인터넷 디지털 엔터테인먼트(K-IDEA)를 중심으로 게 임업계가 함께 마련하여 발표한 자율 규제안 - 조조전은 게임 내에서 구매 시 간이 확률 정보를 제공하고 이용약관의 유료 확 률형 아이템 정보 메뉴를 통해서 각종 확률 아이템의 콘텐츠 별 확률 및 결과 아 이템 목록을 완전 공개
  • 104. 5 법령 대응: 푸시 Push Notification: 법령에 맞춰 발송해 야 함 - 3가지 핵심 포인트와 패널티 - 광고/마케팅 활용 동의 하에서만 푸시 발송 - 3,000만원 이하 과태료 - 심야 푸시(오후 9시~오전 8시) 제한은 별도 동의 하에서만 푸시 발송 - 3,000만원 이하 과태료 - 푸시 메시지의 내용은 법령에 따라 요구 사항이 충족되어야 함 - 1,000만원 이하 과태료 - 배상 책임이 회사가 아닌 소속 직원으로 본다는 점을 주의 - 사업 PM, 운영자, 기획자, 프로그래머가 소송 대상이 될 수도 있음 (제 50조 의 3 제2항)
  • 105. 5 법령 대응: 푸시 푸시 알림 = 광고성 정보 - 정보통신망법은 푸시 알림을 전자적 형태의 광고성 정보로 규정 - 광고성 정보는 정보통신망법 규정에 의해 불법 스팸 방지를 위한 법률에 의해 제한 - 정보통신망 이용 촉진 및 정보보호 등에 관한 법률 - 2014.05.28 일부 개정, 2014.11.29 시행, 법률 12681호 - 참고 조항은 제 50조부터 제 50조의 8 - 영리 목적의 법인, 개인이 푸시 알림을 보내면 [영리목적 광고성 정보]에 해당 - 모든 전자적 전송매체의 광고성 정보는 Opt-in 방식으로 관리되어야 함 - 수신 동의를 해야만 수신 가능한 형태 - 연관 행정 부서 - 한국 인터넷 진흥원 (KISA) - 방송통신위원회
  • 106. 5 법령 대응: 푸시 처벌 상세 기준
  • 107. 5 법령 대응: 푸시 처벌 상세 기준
  • 108. 5 법령 대응: 푸시 광고성 정보의 예외 - 단, 아래 항목에 해당된다면, 예외 처리 가능
  • 109. 5 법령 대응: 푸시 그러나 현실은… - 운영 이벤트로 무료 보상을 지급하는 경우도 광고를 표기함 - 계약에 의한 지급이 아닌 게임 활성화를 위한 지급이라 영리 목적에 해당 - 게임 내 이벤트 알림도 해석에 따라 영리목적으로 볼 소지가 있음 - 삼국지조조전 Online은 법령 대응 완료 후 세부 푸시 적용을 위해 로컬, 타겟 푸 시가 제외된 상태. 11월 업데이트 예정
  • 110. 5 법령 대응: 푸시 푸시 알림은 사전 동의가 필수 - 앱 푸시 광고를 전송하기 위해서는 수신자의 사전 수신동의를 받아야 한다 - 정보통신망법 제50조 제1항 1 - 앱 설치 단계에 따라서 수신 동의 방법이 다름 - ① 앱 설치만 한 상태 - ② 최초 실행 단계(로그인 이전단계) - ③ 로그인 이후 단계 - 추가 요구사항 - ④ 표기의무 준수 - ⑤ 처리결과 통지 의무 부여
  • 111. 5 법령 대응: 푸시 광고/마케팅 활용 동의 예시
  • 112. 5 법령 대응: 푸시 앱 실행 상태별 사전 동의 절차 ①앱 설치만 한 상태 수신동의 여부를 확인할 수 없어 광고성 정보를 전송해서는 안 됨 ②최초 실행 단계 (로그인 이전 단계) 원칙적으로는 광고성 정보 전송을 하면 안 됨. 단, 앱 최초 실행 시 수신동의 팝업으로 광고성 정보 수신 동의를 받으면 앱 푸시 광고 전송이 가능하다. 단, 앱 최초 실행시 실행자에게 광고성 정보 수신동의에 체 크 하도록 하고, 해당 기기에 대한 전송 동의를 받아야 함 앱 푸시 알람을 받는 것에 대한 동의는 광고성 정보 수신동의에 해당되지 않음 명시적으로 광고성 정보 수신동의에 대한 질문을 통해 동의를 받아야 함 단순히 푸시 알림 승인을 받는 것은 법률상 유효한 광고성 정보 수신동의로 볼 수 없기 때문 사용자들 입장에선 굉장히 싫은 절차로 느껴질 수 있지만, 받지 않으면 푸시를 보 낼 수 없음
  • 113. 5 법령 대응: 푸시 앱 실행 상태별 사전 동의 절차 ③로그인 이후 단계로 구분 수신자가 설정한 회원정보(수신자 동의 등)에 따라 광고 전송이 가능. 이미 홈페이지나 오프라인에서 회원으로 가입하면서 광고성 정보 수신동의를 한 이용자에게는 별도의 동의절차 없이 광고성 정보를 전송할 수 있음. 단 매체별로 수신동의를 받은 경우 앱에 대한 광고는 별도로 받아야 함. 앱으로 별도의 회원가입을 받는 경우 회원가입시 광고성 정보 수신동의 여부를 물 어보고 명시적으로 동의를 한 자에게만 광고성 정보 전송이 가능. 수신자의 기기 내에서 앱 푸시 알림의 승인·거부가 광고성 정보 ‘수신동의’ 및 ‘수 신거부’ 기능을 가지는 것이 아님에 주의. 광고성 정보 수신동의는 해당 고객에 대해 매체와 상관없이 광고성 정보를 수신하 겠다는 뜻. 때문에 앱 푸시 알림 설정과 광고성 정보 수신 동의는 구분해야 함
  • 114. 5 법령 대응: 푸시 심야 푸시 동의 - 오후 9시~오전 8시 사이에 발송되는 푸시 - 심야 푸시 동의를 구해야 함 - 시스템에서 발송되는 로컬 푸시와 타겟 푸시는 법령 해석에 대한 논란의 여지가 있는 상태 - 쿨타임 종료, 자원 수거 완료, 침공 알림 등 - 아직 동의를 받지 않아도 괜찮다는 의견도 있지만, 언제 문제가 될지 알 수 없음 - 현재 상태 - 일반 푸시는 심야 푸시 시간대에 발송하지 않는 정책 적용 - 로컬/타겟 푸시도 푸시 도달 시간을 체크해 시간에 따라 발송하지 않도록 구현 중
  • 115. 5 법령 대응: 푸시 푸시 표기 의무 준수 사 항 - 정보통신망법 제50조 제4항의 표기의무사항 을 모두 준수해야 함 - (광고) 로 푸시 메시지 시작 - 전송자 명칭 포함 - 예: (넥슨) - 수신거부 방법 포함 - 우측 넥슨 푸시 메시지들은 이를 준수하 는 모범적인 사례에 해당 - 홈&쇼핑은 신고 시 과태료 1,000만 원
  • 116. 5 법령 대응: 푸시 푸시 수신 동의 설정 변경 처리 결과 통 지 - 앱 설정에서 수신동의를 변경하면 수신동의 철회에 해당하므로 처리 결과 통지 가 필요 - 설정 변경 시 팝업을 즉시 띄워서 변경 사항을 명시하면 됨 - 단, 서버에서 해당 설정의 확인이 불가하고 설정 시 수신이 차단 가능하다면, 처 리 결과 별도 통지 의무를 우회 가능 - 잘못 구현했다가 신고 당하면 과태료 1,000만원 이하 수신 거부 의사 표시 후 처리 - 전송자 이름/업체, 날짜, 처리 결과를 14일 안에 안내 불법 스팸 방지를 위한 정보통신망법 안 내서 - http://spam.kisa.or.kr/kor/notice/noticeView.jsp?p_No=10&b_No=10&d_No =72
  • 118. 6 커버리지 번역 / 폰트 교체 - 외주 번역 진행 - 폰트 서브셋 제작 사운드 / 성우 - 성우 35명 더빙 (추가 캐릭터가 다수 예정되어 있어 서비스 결과에 따라 추가 더 빙 검토) - 효과음은 수정하지 않고 진행 법률 / 규정 대응 - 이하 언급 관습 / 문화 반영 - 이하 언급 특정 국가 전용 기능
  • 119. 6 일본 폰트 라이선스 森澤信夫(Morisawa) vs Fontworks - 라이선스 진행 시 주요 검토 대상 - 모리사와는 1924년 세계 최초로 사진식자기를 개발한 역사와 전통의 회사 - 폰트웍스는 방송/DTP 시장에서 새로운 활로를 개척한 신흥(?) 회사 - 소규모 업체를 비롯해 20여개의 폰트 업체의 다양한 폰트들을 검토하다, 대형 업체로 귀결 - 최초 검토는 양사의 폰트를 동시에 검토 - UI 디자이너의 의향에 맞춰 최초 컨택은 모리사와로 진행 - Nexon Japan의 지원을 받아 한국에서 계약 검토 중 계약 형태와 관련해 이슈가 발생 - Fontworks는 계약 진행이 좀 더 유연하다 판단되어 병행 검토 진행
  • 120. 6 일본 폰트 라이선스 Fontworks - http://fontworks.co.jp/ - 애니메이션 신세기 에반게리온의 그 유명한 타이포 폰트를 제작한 폰트 업체 - 미려한 폰트가 많고, GroupY(윤디자인 연구소)와 계약되어 윤디자인 계열 폰트 대응 - LETS라는 1/3년 갱신형 Subscription 결제 모델로 접근성 용이 (일본 내 계약만 가능) - 장점 - 계약 진행이 용이하고 커뮤니케이션이 편함 (계약 전 테스트 폰트 사용도 허용) - 1수준~4수준 한자까지 다양한 한자를 지원하는 폰트군 확보 - 대다수의 폰트가 IVS 지원 - 비용 정책 - 계약 형태에 따라 비공개 - 모리사와도 좋은 글꼴이 많습니다. 모리사와와 계약을 희망하시면 컨택해보세 요 - 넷마블 게임들이 모리사와 폰트를 주로 라이선스하는 것으로 알고 있습니
  • 121. 6 일본 폰트 선정 이슈 • 기본 사용 문자 • 가나 • 히라가나 • 카타카나 • 한자 • 상용한자 • 1수준 한자 • 2수준 한자 • 숫자 • 통상 허용 문자 • 알파벳 • 특수 문자 • 1byte / 2byte • 한자의 범위 • 1~4수준 한자 중 어디까지 지원할 것인가?
  • 122. 6 일본어 번역 사전 진행 주 1회 업데이트를 위해 정기 번역 진행 - M17N 당시: 1-2개월 단위로 개발과 병행해 번역 진행 - 현재 상태 유지: 코에이테크모 컨펌 및 L10N 런칭 일정 단축을 위해 진행 일본어 번역 프로세스 - 일반 게임 번역에 비해서 굉장히 복잡한 공정 절차가 적용 - 프로세스 1사이클을 도는데 1개월 이상 소요 - 사전 준비를 하더라도 동시 런칭에 어려움 - 번역 후 2회의 검수 후 추가 이슈 대응을 하는 구조
  • 123. 6 번역 업체 선정 Latis - http://latisglobal.com/ - 여러 전문 업체를 테스트한 결과 일문에서 제일 좋은 평가를 받아 선정
  • 124. 6 일본어 번역 프로세스 1Cycle (1/2) 프로세스 언어 Company 담당자 콘텐츠 제작 한국어 Thingsoft 프로그램/게임디자인팀 1차 로컬 데이터 반영 한국어 Thingsoft 디렉터 1차 내부 검수 한국어↔한국어 Thingsoft 디렉터 성우 더빙 한국어 Thingsoft Nexon Korea 게임 디자이너, 디렉터 사운드 엔지니어 성우 한국어 QA 한국어↔한국어 Nexon Networks QA팀 일본어 번역 [정기] [긴급] [임시] 한국어↔일본어 Latis Nexon Korea Thingsoft 한국인 전문 번역가 사업팀 디렉터 로컬 데이터 반영 및 수정 일본어↔한국어 Thingsoft 디렉터 번역 검수/교정 1차 일본어↔일본어 Nexon Japan 일본인 전문 번역가 로컬 데이터 반영 및 수정 일본어↔한국어 Thingsoft 디렉터 번역 검수/교정 2차 한국어↔한국어 일본어↔일본어 KOEI TECMO 한국인 스탭 (2016/08~) 일본인 전문 번역가 로컬 데이터 반영 및 수정 일본어↔한국어 Thingsoft 디렉터
  • 125. 6 일본어 번역 프로세스 1Cycle (2/2) 프로세스 언어 Company 담당자 성우 캐스팅 컨펌 일본어 KOEI TECMO 담당 부서 성우 더빙 일본어 Nexon Japan 일본인 담당자 일본인 보이스 디렉터 일본인 엔지니어 일본인 성우 일본어 QA 일본어 Nexon Networks Nexon Korea QA팀 사업팀 코에이테크모 허들 [런칭 전 단발성] 일본어 Nexon Japan KOEI TECMO 사업팀 테스터 허들 피드백 반영 [런칭 전 단발성] 한국어, 일본어 Thingsoft 디렉터 로컬 데이터 Shipping 한국어, 일본어 Thingsoft 디렉터 런칭 피드백 한국어, 일본어 유저 런칭 피드백 반영 한국어, 일본어 Thingsoft 디렉터 여기에 일어 문장개선 외주를 추가 (10
  • 126. 6 일본어 번역 프로세스 1Cycle (2/2) …를 개발 내내 1~2개월 단위로 반복 - (낭비) 게임 변경 / 내용 수정이 발생하면 완료된 데이터 삭제 후 재번역 - (TO 한도) 개발 조직에 일본어 전문 인력이 없어 디렉터가 직접 로컬라이징 업 무 전수 대응 - 적용 후 QA 프로세스 - 1차 체크: 일본어를 모르는 한국 QA가 간이 검수 진행 - 2차 체크: 일본어를 아는 사업팀에서 검수 진행 - 3차 체크: 레이아웃 망가지는 부분들에 대한 개발팀 수정 - 한글/일어 기준 텍스트 용량 도합 17.9MB (2016/08 기준) - 이벤트 대사: xls 기준 1,140개 15.8MB - 테이블 정리: xls 기준 1개 2.1MB - … 게다가 이게 끝이 아님 - 매달 연의 3~6종 추가 개발 진행 중 - 추가 시스템과 콘텐츠도 개발 - 사람살려
  • 127. • 테스트하며 번역 테이블 리소스 반복 수정이 무한히 발생하고 있어 고민 시작 • 구현을 고민하다 누군가 만들어둔 게 있길래 가져다 테스트 • http://ft-lab.ne.jp/cgi-bin-unity/wiki.cgi?page=unity_ngui_label • 문장 부호와 특정 문자가 라인의 첫 글자로 나오는 Case를 방지하는 강제 개행 규칙 • 、。)」』ぁぃぅぇぉっゃゅょゎァィゥェォッャュョヮヵヶ • 번역 시 Label Size 기준이 폰트마다 다르고 텍스트마다 달라 수동 개행을 계속 대응하고 있으나 사람이 하면 언젠가 어딘가에서는 누락이 발생할 것이기에 구현으로 대응하는 것이 안전 • 이하 구현을 위한 레퍼런스 예제 금칙 처리 (진행 중) private string m_ConvWrapText(UILabel label, string orgText) { string orgStr = orgText; string wrapStr = ""; if (!label.Wrap(orgStr, out wrapStr)) { wrapStr = label.text; } if (wrapStr.Equals(orgStr)) return orgStr; string str = orgStr.Replace("rn", "n"); string kinsokuStr = "、。)」』ぁぃぅぇぉっゃゅょゎァィゥェォッャュョヮヵヶ"; 6
  • 128. 6 금칙 처리 (계속) while (true) { string [] strArray = str.Split('n'); string wrapStrE = ""; string newStr = ""; for (int i = 0; i < strArray.Length; i++) { if (i > 0) newStr += "n"; string strL = strArray[i]; if (!label.Wrap(strL, out wrapStrE)) { wrapStrE = strL; } if (wrapStrE.Equals(strL)) { newStr += strL; continue; } string [] strLineArray = wrapStrE.Split('n'); string newLineStr = ""; for (int j = 0; j < strLineArray.Length; j++) { string strLine = strLineArray[j]; string str0 = strLine[0].ToString(); if (newLineStr.Length > 0 && kinsokuStr.IndexOf(str0) >= 0) { string lastStr = newLineStr.Substring(newLineStr.Length - 1, 1); newLineStr = newLineStr.Substring(0, newLineStr.Length - 1); strLine = lastStr + strLine; } if (newLineStr.Length > 0) newLineStr += "n"; newLineStr += strLine; } newStr += newLineStr; } str = newStr; if (!label.Wrap(str, out wrapStrE)) { wrapStrE = str; } if (str.Equals(wrapStrE)) break; } return str; }
  • 129. 6 금칙 처리 (계속) GameObject mainG = GameObject.Find("/UI Root/message_label") as GameObject; UILabel label = mainG.GetComponent("UILabel") as UILabel; string orgText = label.text; label.text = m_ConvWrapText(label, orgText); // 금칙 처리 텍스트 컨버팅 • 동작은 하지만 개선의 여지가 많아 수정 중 • Garbage가 많아질 수 있어, System.Text.StringBuilder 를 사용해 메모리 낭비를 줄이고, StringBuilder Replace()와 정규 표현식으로 코드 간결화 및 테스트 코드 개선 중 • 더 좋은 개선안이 있으시다면, 공유해주시면 좋겠네요
  • 130. 6 아직 남아있는 L10N 대응 요미가나 구현 및 가독성 대응 - 이슈가 많아 일정 및 방식 고민 중. - 구현 전까지 자를 이용해 이름의 요미가나 병행 표시 - 각종 설명 텍스트에 2수준 한자 이상에 요미가나 병행 기입 (보강 중) - 어려운 한자어를 쉬운 한자어나 히라가나나 카타카나로 교체 - 세계관 표현 < 문장을 쉬운 형태로 전체적인 텍스트 수정 - 검색 기능이 지원되는 웹 기반 용어집 추가: 모르면 찾아볼 수 있게 - 한자 사용량을 가급적 감소 - 요미가나 개발에 참고하고 있는 개발 레퍼런스는 이 문서 - http://www.slideshare.net/RyoheiTokimura/unite2015-u-gui
  • 131. 6 아직 남아있는 L10N 대응 성별/성격에 따른 대사 분기 - 가성비 문제로 진행 여부를 고민 중 - 공통 대사 텍스트가 현재는 물리적 일정 문제로 단일 텍스트로 존재 - 남성어/여성어를 비롯해 성격에 따른 대사 특성을 공용 대사에도 대입하려면 이 에 대한 추가 개발이 필요 - 직책/직급 등은 상황에 따라 변동성이 너무 커서 모두 커버하는 것은 현실적으 로 가성비가 안나옴 번역 품질 개선 - 일본인에 의한 번역 품질 개선 - 문장의 정합성 / 문장과 단어의 난이도를 낮추는 작업 - 코에이의 최근 시리즈의 일본 내 캐릭터성에 맞춰 성격 차이 보정 - 사극 스타일의 대사 및 번역 결과물과 코에이 스타일 간의 보정 - 인물의 모든 대사 별 통일성 정비 - “ 나의 조조는 이러치 않아 ” … 일본어판 대사를 외우는 수준의 인력이 필요할 듯 - 도움 주실 수 있는 분이 계시면 연락 주세요. 계약하겠습니다
  • 132. 6 일본 – 법령 대응 특정상거래법 자금결제법 경품표시법 전자상거래법 개인정보거래법 민법 - 미성년자 이용 시 친권자 동의 취득 - 사용자의 권리가 보장받는 국가. 한국과는 다른 형태로 법령이 정비되어 있음 - 개발하는 입장에서는 대응해야 하는 법률이 많아서 피곤 (…) - 이용약관 - 개인정보 보호정책 - 심의 등급 - etc…
  • 133. 6 일본 – 특정상거래법 요구사항 - 통신판매 시 판매 조건 및 통신판매 통지를 의무적으로 게임 내에 고지해야 함 - 특정상거래법에 대한 내용을 게임옵션과 구매화면에 제공해야 함 대응 - 결제 메뉴에 ‘특정상거래법에 의한 표기 (特定商取引法に基づく表記) ’ 버튼 추 가 - 클릭 시 Nexon Japan 법무팀 검토를 득한 법령에 대한 안내 내용을 노출 - 게임 설정 내 ‘고객센터’ 메뉴에도 동일한 내용을 노출 - AOS, iOS가 내용이 달라야 하는 부분이 있어 각각 별개의 약관이 노출되어야 함
  • 134. 6 일본 – 자금결제법 요구사항 - 현금으로 게임 포인트를 구매한 후 해당 포인트가 서비스 종료 및 회사 도산으 로 인해 정상적으로 사용하지 못하고 소멸하는 것을 방지하기 위해, 해당 내용 명시 및 현금 구매 포인트에 대한 선 사용 및 미사용 포인트 잔액을 확인할 수 있어야 함 - 매년 3월말일과 9월 말일에 미사용 포인트 잔액의 절반을 일본 정부에 공탁/정 산해야 함 - 포인트가 6개월 이내 소멸될 경우 공탁 대상에서 제외 유료/무료 재화 잔액 확인 - 現在、あなたが保有している○○○の内訳です。 - 無料配布された○○○: - 購入した○○○: - 購入○○○から消費されます。
  • 135. 6 일본 – 자금결제법 대응 - 결제 메뉴에 ‘자금결제법에 따른 정보 제공 (資金決済法に基づく情報提供)’ 버 튼 추가 - 클릭 시 Nexon Japan 법무팀 검토를 득한 법령에 대한 안내 내용을 노출 - 게임 설정 내 ‘고객센터’ 메뉴에도 동일한 내용을 노출 - 현금 구매/무료 제공 포인트를 구분해 유저가 상시 확인 가능하게 게임 내 노출 - 미 사용 포인트 잔액 확인, 사용여부, 기준일의 미 사용 금액을 확인할 수 있도록 구현 - 현금 구매 포인트를 무료 제공 포인트보다 항상 우선 소모 처리 - 2차 재화의 추가 자금결제법 포함을 막기 위해 2차 재화 구매 기능 제거 - 일본 금융청 보고 결산을 위한 정산 집계 기능 구현 - NEXON JAPAN과 미사용분 현금 구매 포인트를 일본 정부에 공탁하는 대리 계 약 체결
  • 136. 6 일본 – 자금결제법 대응 - 일본 금융청 3, 9월 보고 결산을 위한 정산 집계 기능 구현 - 유상 / 무상 포인트를 분리 관리 및 표시, 유상 포인트 별도 집계 - ① 기준 기간 (3월 말 : 전년 10/1 ~ 3/31, 9월 말 : 4/1 ~ 9/30) 중 유저에 게 발행한 포인트의 합계 - ② 기준 기간 중, 유저가 사용 / 소비한 포인트의 합계 - ③ 기준 기간 중, 유효기간이 지나 소멸된 포인트 / 이용정지로 사용이 불가 능해진 포인트 / 발행이 취소된 포인트 / 그 외 다른 이유로 사용하지 못하 게 된 포인트 합계 - ④ 기준일 말에 유저가 보유하고 있는 포인트 잔액의 합계. (3/31, 9/30) - (전 기준일 말에 유저가 보유한 포인트 잔액) +①-②-③=④가 성립 되어야 함
  • 137. 6 일본 – 자금결제법 대응 - 게임 서비스를 종료하는 경우에, 일본에서는 아래의 프로세스를 따라야 함 - 포인트 발행과 사용 기능 모두 종료된 시점에 환불이 진행되어야 하며, 유저의 포인트 미사용 잔액을 환불해야 함 대응 시기 대응 사항 서비스 종료 결정 신속하게 금융청에 보고 서비스 종료 1~2개월 전 서비스종료 사전 공지 환불기간 개시일 일간신문 지면에 환불에 관한 공고 환불에 관한 게시 (앱 내부, 앱 공식 웹사이트, 회사 웹사이트, 금융청 웹사이트, 국민생활 센터(国民生活センター) 웹사이트・소비생활 센터 웹사이트) 환불신청 기간 (60일 이상) 환불신청 접수와 실시 (유료 재화만 환불 대상, 할인 전 단가로 환불 진행. 환불 신청 기간 내 신청하지 않은 경우 환불 의무 없음) 환불 완료 신속하게 금융청에 보고
  • 138. 6 일본 – 민법 요구사항 - 미성년자가 게임 아이템 구매 등의 거래를 하는 경우 친권자의 동의를 받게 하 는 법률 - 게임 최초 시작 시 / 상점에서 유료로 판매하는 상품을 구매하는 경우 매번 20세 미만인지 여부를 확인하고, 20세 미만의 경우 친권자 동의를 받아야 함 대응 - 게임 최초 시작 직후, 계정 생성 전 연령 확인 및 친권자 동의 프로세스 추가 - 매 결제마다 결제 전 연령 확인 및 친권자 동의 프로세스 추가 - 사용자 연령확인 > 20세 미만의 경우 친권자 확인 요청 > 친권자 확인 후 결제> 20세 이상인 경우 재확인 후 결제 진행
  • 139. 6 일본 – 민법 최초 실행 시 이용 약관 동의 안내 출력 本ゲームを利用していただくには「利用規約」に同意していただく必要があります。 また、未成年者が本ゲームをご利用いただくには、親権者の同意を得ていただく 必要があります。 利用規約に同意しますか?あなたは成年ですか?未成年者の場合、親権者の同意 を得ましたか?
  • 140. 6 일본 – 민법 결제 시 매번 미성년자 및 생년월일 확 인 未成年者が○○○[상품명]を購入するには保護者(親権者)の同意が必要です。 年齢認証のため、あなたの生年月をご入力ください。 あなたは、○○○○[출생년도]年○○[출생월]月生まれで間違いありませんか? 未成年者の場合:20歳未満の方が、○○○[상품명]を購入するためには、保護者 (親権者)の同意が必要です。○○○[상품명]購入について保護者の同意を得まし たか?
  • 141. 6 일본 – 경품표시법 요구사항 - 과도한 경품 제공 금지 및 카드 맞추기를 통한 경품 제공 금지, 부당표시 금지 - 경품 금액 제한: 유료 결제 시 복권 등 경품을 제공하는 경우 - 유료 결제 시 전원에게 경품을 제공하는 경우 - 단, 유료/무료에 상관없이 우편, 웹페이지 등으로 경품을 제공하는 경우 제한 없 음 현금 거래가액 경품 한도 최고 금액 총액 5,000엔 미만 거래가액의 20배 현금 상환에 의한 매출 예상 금액의 2%5,000엔 이상 10만엔 현금 거래가액 경품 한도 최고액 총액 1,000엔 미만 200엔 제한 없음 1,000엔 이상 거래가액의 2/10
  • 142. 6 일본 – 경품표시법 대응 - 경품 진행 시 경품금액 제한 및 유저에게 오인될 수 있는 부당표지(완전 무료 등) 제거 - 재화를 걸거나, 우연의 승패에 의한 것, 재화의 득실을 놓고 경쟁하는 콘텐츠 제 거 - 가챠 아이템의 최저 가치는 가챠 판매 가격 이상으로 책정 - 컴플리트 가챠 이슈 - 재화를 걸거나, 우연의 승패에 의한 것, 재화의 득실을 놓고 경쟁하는 콘텐츠 제 거
  • 143. 6 일본 – 전자상거래법 요구사항 - 전자상거래를 통해 구매를 진행할 경우 구매에 대한 내용을 최종 확인할 수 있 어야 함 대응 - 아이템 구입 및 포인트 충전시, 결제 완료 전에 확인 화면을 제공 - 미성년자 확인 팝업과 함께 처리되어도 무관
  • 144. 6 일본 – 개인정보보호법 요구사항 - 게임에서 개인정보, 프라이버시 정보를 취득할 경우 개인정보보호정책을 게임 내에 게시하고 해당 부분에 대해서 사용자가 지속적으로 확인할 수 있어야 함 대응 - 게임 내에 고객센터를 구현, 개인정보보호정책의 상시 열람이 가능하도록 처리 - 게임이용약관 - 개인정보취급방침 - 특정상거래법(特定商取引法)에 따른 표기 - 자금결제법(資金決済法)에 따른 정보 제공 - 미성년자 확인 팝업과 함께 처리되어도 무관
  • 145. Chapter [7] 중문, 영어 로컬라이징 Inven Game Conference
  • 146. 7 로컬라이징 커버리지 번역 / 폰트 교체 - 중문 폰트 금액이 너무 비싸서 대체제를 찾는 중 - 연간 계약, 금액 이슈 법률 / 규정 대응 - 퍼블리셔 논의 중. 퍼블리셔 가이드에 맞춰 대응 관습 / 문화 반영 - 인지하고 있는 부분부터 순차 대응 특정 국가 전용 기능 - SDK 재구축, BM 변경 등
  • 147. 7 번역 업체 선정 Lionbridge - http://www.lionbridge.com - 여러 전문 업체를 테스트한 결과 중문/영문에서 제일 좋은 평가를 받아 선정
  • 148. 7 간체, 번체, 영문 동시 번역 한글/일어 -> 간체/번체/영문 - 언어별 전문가를 별도 할당해 동시 번역 진행 중국: 한글+일어 -> 간체 - 한자와 코에이 피드백이 반영된 일어를 레퍼런스로 삼아 한글 기준으로 번역 진 행 중화민국: 간체 -> 번체 - 간체 번역을 기준으로 번체 번역 포팅 후 번체 특성에 맞춰 재검토 기타: 간체 -> 영문 - 영어권 거주 중국인 2/3세 대상. 중문 기준 고유 명사 발음 처리
  • 149. 7 간체 번역 우선 사극 스타일 번역 - 한국처럼 역사 드라마 분위기로 진행 기준 안내 후 개행 조정 - 언어 특성상 개행 여부가 문장 의미가 바뀌기에 업체에서 전체적으로 개행 수정 간체 번역 기준으로 번체 번역 - 단순히 글자만 바뀌는 줄 알았는데 문맥이 달라지는 등 차이가 있었음. 언어의 세계… 자체 검수의 어려움 - 중국어를 잘 모르니 자체 검수가 불가능 - 해당 언어를 전혀 모르니 해외 사업 부서와 업체를 믿고 전담 - 일어는 자체 수정하거나 조정/조율을 진행했으나, 중문은 전달받은 대로 반영 - 품질 개선/테스트에 영향이 커서 팀 내에 해당 언어 인력이 있었으면 하는 아쉬 움이 존재 - 계약에 따라 게임 테스트까지 포함해 로컬라이징 대응도 되지만, 일정 등의
  • 150. 7 영문 번역 기준 인물/지명: 중문 발음 + 의미 번역 조합 - (O) 모든 인물과 독음을 중국어 기준으로 맞추고, 중국스타일로 작업 - (X) 모든 인물과 독음을 일본어 기준으로 맞추고, 일본풍(KOEI)스타일로 작업 장비/도구: 의미 번역 텍스트 길이 문제 - 의미 기준으로 번역하든, 유사한 단어로 교체하든, 어떻게든 길이가 엄청나게 증가 - 영문 번역 시 필연적으로 UI 영역 문제 발생 - 과감한 약어 사용은 의미를 알 수 없게 만들고 적당히 바꾸면 원문 파악이 어려 움 한글 일어 영문 영문 간소화 장료 張遼 Zhang Liao - 수춘 상부 寿春・上部 Temporary Base, Shouchun S. Chun T 청룡언월도 靑龍偃月刀 Green Dragon Crecent Blade
  • 151. 7 영문 번역 기준 언어 수위 제한 - 성인 등급 수준의 과격한 비속어 사용은 금지: Shit / Suck / Asshole… - 내부적으로 판정한 언어 폭력 허용 범위 한도 : Darn 수준 - 최초 번역 이후 수위 조절을 논의해 개선 - 조직 내 American의 자문을 구해 언어 폭력성 수위를 조정
  • 152. 7 중문, 영어 번역 프로세스 1Cycle 프로세스 언어 Company 담당자 간체 번역 1차 [기계] [임시] 한글↔간체 Thingsoft 디렉터 (구글 번역기) 개발 QA 아르바이트 번체 번역 1차 [기계1] [기계2] [임시] 한글↔번체 간체↔번체 한글↔번체 Thingsoft 디렉터 (구글 번역기) 개발 QA 아르바이트 간체 번역 2차 한글↔간체 Lion Bridge 한국인 전문 번역가 번체 번역 2차 간체↔번체 Lion Bridge 한국인 전문 번역가 영문 번역 한글,간체↔영어 Lion Bridge 한국인 전문 번역가 로컬 데이터 반영 및 수정 간체↔한글 번체↔한글 영어↔한글 Thingsoft 디렉터 L10N으로 변경되며 이후 진행 Hold - 퍼블리셔 계약 후 퍼블리셔 업무로 이관 - 2015년 11월 개발 콘텐츠까지 번역 적용 상태
  • 153. 7 6개월 간 번역 진행 후 진행 보류 중국: 퍼블리셔가 담당 - 퍼블리셔 번역을 믿고 가도 되는 상황이 되어 Hold 중화민국: 중국 번역 포팅 예정 - 초기엔 한중일 동시 런칭 예정이라 번역을 했으나, 중국이 먼저 런칭하게 되어 Hold 영문: 퍼블리셔가 담당 - 중국 퍼블리셔 커버리지가 되어 Hold

Editor's Notes

  1. 학생/실무 개발/비개발 기획/그래픽/프로그램/기타
  2. 오다 노부나가와 유사해진 것이 7, 확립된 것이 8/9. 적색 으뜸, 신성, 태양의 빛, 황제를 의미. 궁전과 옥좌는 붉게 칠했고, 황제의 의상도 붉은색이었다. 벽사와 기원, 악귀를 몰아내는 신통력, 주의, 경고 열정과 사랑. 매우 자극적인 색. 생명과 죽음을 동시에 표현. 환희와 행운, 음과 양에서 ‘양’ 중국인이 선호, 불행을 쫓고 돈을 많이 번다 황제는 노란색. 중국에서 제작한 드라마 조조를 보더라도 조조의 세력은 붉은 색을 사용한다. 흰색: 중국에서 부정. 죽음. 악당. 조롱거리. 초록: 천민 복장 색. 녹색 모자는 아내가 바람을 피운다 (원나라 이후_ 미국: 한국은 주가 상승 빨강, 하락 파랑, 미국은 주가상승 파랑, 하락 빨강, 애국심 일본: 하얀(금욕, 전통), 빨강 선호 (아마테라스 오오카미, 천조대신) 원작의 붉은 색은 조조를 상징 -> 최근의 삼국지는 조조는 블루
  3. 오다 노부나가와 유사해진 것이 7, 확립된 것이 8/9. 적색 으뜸, 신성, 태양의 빛, 황제를 의미. 궁전과 옥좌는 붉게 칠했고, 황제의 의상도 붉은색이었다. 벽사와 기원, 악귀를 몰아내는 신통력, 주의, 경고 열정과 사랑. 매우 자극적인 색. 생명과 죽음을 동시에 표현. 환희와 행운, 음과 양에서 ‘양’ 중국인이 선호, 불행을 쫓고 돈을 많이 번다 황제는 노란색. 중국에서 제작한 드라마 조조를 보더라도 조조의 세력은 붉은 색을 사용한다. 흰색: 중국에서 부정. 죽음. 악당. 조롱거리. 초록: 천민 복장 색. 녹색 모자는 아내가 바람을 피운다 (원나라 이후_ 미국: 한국은 주가 상승 빨강, 하락 파랑, 미국은 주가상승 파랑, 하락 빨강, 애국심 일본: 하얀(금욕, 전통), 빨강 선호 (아마테라스 오오카미, 천조대신) 원작의 붉은 색은 조조를 상징 -> 최근의 삼국지는 조조는 블루
  4. 오다 노부나가와 유사해진 것이 7, 확립된 것이 8/9. 적색 으뜸, 신성, 태양의 빛, 황제를 의미. 궁전과 옥좌는 붉게 칠했고, 황제의 의상도 붉은색이었다. 벽사와 기원, 악귀를 몰아내는 신통력, 주의, 경고 열정과 사랑. 매우 자극적인 색. 생명과 죽음을 동시에 표현. 환희와 행운, 음과 양에서 ‘양’ 중국인이 선호, 불행을 쫓고 돈을 많이 번다 황제는 노란색. 중국에서 제작한 드라마 조조를 보더라도 조조의 세력은 붉은 색을 사용한다. 흰색: 중국에서 부정. 죽음. 악당. 조롱거리. 초록: 천민 복장 색. 녹색 모자는 아내가 바람을 피운다 (원나라 이후_ 미국: 한국은 주가 상승 빨강, 하락 파랑, 미국은 주가상승 파랑, 하락 빨강, 애국심 일본: 하얀(금욕, 전통), 빨강 선호 (아마테라스 오오카미, 천조대신) 원작의 붉은 색은 조조를 상징 -> 최근의 삼국지는 조조는 블루
  5. 오다 노부나가와 유사해진 것이 7, 확립된 것이 8/9. 적색 으뜸, 신성, 태양의 빛, 황제를 의미. 궁전과 옥좌는 붉게 칠했고, 황제의 의상도 붉은색이었다. 벽사와 기원, 악귀를 몰아내는 신통력, 주의, 경고 열정과 사랑. 매우 자극적인 색. 생명과 죽음을 동시에 표현. 환희와 행운, 음과 양에서 ‘양’ 중국인이 선호, 불행을 쫓고 돈을 많이 번다 황제는 노란색. 중국에서 제작한 드라마 조조를 보더라도 조조의 세력은 붉은 색을 사용한다. 흰색: 중국에서 부정. 죽음. 악당. 조롱거리. 초록: 천민 복장 색. 녹색 모자는 아내가 바람을 피운다 (원나라 이후_ 미국: 한국은 주가 상승 빨강, 하락 파랑, 미국은 주가상승 파랑, 하락 빨강, 애국심 일본: 하얀(금욕, 전통), 빨강 선호 (아마테라스 오오카미, 천조대신) 원작의 붉은 색은 조조를 상징 -> 최근의 삼국지는 조조는 블루
  6. 데이터 기준 캐릭터 930종 중 유저
  7. 이슈: 성우 스탭롤 명기 여부 및 방식 이슈의 사례 스탭롤에 성우 이름 표기에 한국은 큰 문제가 없었음 일본에선 사무소 동의와 계약 확인이 필요했음 성우 스탭롤 이름 표기 합의 문제로 인해 논의를 진행하다 최종적으로 일어 버전에서는 성우 스탭롤 영역이 완전히 게임에서 제거 기합 소리 등 일부 활용되고 있는 한국어 성우 표시도 일어 성우와의 통일성을 위해 함께 삭제 요청이 있어 제거 단순 번역 데이터 관리로 커버가 불가능해, 결국 스탭롤 자체를 언어마다 따로 구동하도록 분리해 개발
  8. 독일, 미국 등의 사례는 서비스 국가가 아니라서 시간 관계상 발표 자료에서 제외 처리.
  9. 독일, 미국 등의 사례는 서비스 국가가 아니라서 시간 관계상 발표 자료에서 제외 처리.
  10. + 1 more something…
  11. 3.1 런칭 6개월 전 성사되며 개발.
  12. 인쇄물과 화면 출력의 통일성을 위해 제작
  13. PT에 사용된 폰트가 실제 삼국지조조전 게임 폰트임
  14. 유료 툴도 많으니 유료 툴이 있으시면 쓰셔도 되지만…
  15. 인쇄물과 화면 출력의 통일성을 위해 제작
  16. 인쇄물과 화면 출력의 통일성을 위해 제작
  17. 인쇄물과 화면 출력의 통일성을 위해 제작
  18. 인쇄물과 화면 출력의 통일성을 위해 제작
  19. 한자 약어 처리에 대한 이슈. 아이를 낳아서 출생신고하려고 가니 사용 가능한 한자가 정해져 있더군요. 이런 부분들에 대한 이슈가 있습니다. 스탭롤에서 한자가 지원이 안되어 일반 한자 표기로 한자를 표기하지 못하는 팀원의 이야기
  20. 인쇄물과 화면 출력의 통일성을 위해 제작
  21. 인쇄물과 화면 출력의 통일성을 위해 제작
  22. 인쇄물과 화면 출력의 통일성을 위해 제작
  23. CBT2까지는 을(를) 식으로 표기했는데 일본어는 로컬대응하면서 한국은 대응안하나? 하는 생각이 들어서 만들었습니다.코드는 안이쁜데 빨리 만드는 걸 목표로 했습니다.
  24. 애매한 기준: 영리 목적의 범위가 불분명함
  25. 개인적으로 기준이 좀 애매하다고 생각
  26. 인쇄물과 화면 출력의 통일성을 위해 제작
  27. 검토하다 폰트웍스 폰트가 더 마음에 들어서 폰트웍스로 전향한 것 뿐입니다
  28. 검토하다 폰트웍스 폰트가 더 마음에 들어서 폰트웍스로 전향한 것 뿐입니다
  29. 검토하다 폰트웍스 폰트가 더 마음에 들어서 폰트웍스로 전향한 것 뿐입니다
  30. 인쇄물과 화면 출력의 통일성을 위해 제작
  31. 인쇄물과 화면 출력의 통일성을 위해 제작
  32. 현재 당신이 보유하고 있는 ○○○의 내역입니다. 무료배포 ○○○: 구입 ○○○:
  33. 본 게임을 이용하려면 '이용약관'에 동의해주실 필요가 있습니다. 또한 미성년자가 본 게임을 이용하려면 친권자의 동의를 얻어야 합니다. 이용 약관에 동의하십니까? 당신은 성년입니까? 미성년자의 경우 친권자의 동의를 얻으셨습니까? 팝업으로 성인 여부/미성년자 친권자 동의 여부 확인 처리 필요
  34. 인쇄물과 화면 출력의 통일성을 위해 제작
  35. 인쇄물과 화면 출력의 통일성을 위해 제작
  36. 인쇄물과 화면 출력의 통일성을 위해 제작
  37. 인쇄물과 화면 출력의 통일성을 위해 제작