대충 살아가는 게임개발자
http://chulin28ho.egloos.com
정종필
Ndoors 개발1본부 기술지원팀
부장 / Technical Art Director
-1992. H.Q team
-충무공전1 캐릭터 디자이너
-임진록 시리즈 그래픽 팀장
-천년의 신화 그래픽 팀장
-㈜ 조이온 아트디렉터
-임진록 온라인 거상
-군주온라인
-타임앤테일즈 기획팀장
-아틀란티카 테크니컬 아티스트
-삼국지를 품다 테크니컬 아트 디렉터
Unity3D 테스트 첫인상
o 뭐야 몰라 무서워
o 생각보다 훨씬 쉽다
o 프로그래머 하루만에 … “헉”
o 그래픽 아티스트들도 … “경악”
o 툴이 하나 밖에 없어? ‘눈길’
Unity3D 테스트 첫인상
o LEGO?
o 컴포넌트만 가져다 끼우면 기능이 뚝딱 완성
o MAX 파일이나 PSD 파일까지 몽땅 Asset으로 받음
o 웹 /모바일 /콘솔 버전이 빌드 옵션만 바꿔주면
알아서 빌드됨
Unity3D 테스트 첫인상
o LEGO?
o 컴포넌트만 가져다 끼우면 기능이 뚝딱 완성
o MAX 파일이나 PSD 파일까지 몽땅 Asset으로 받음
o 웹 /모바일 /콘솔 버전이 빌드 옵션만 바꿔주면
알아서 빌드됨
“괜히 개발팀이 *덴마크에 있는 게 아니었어요”
* 레고는 덴마크 회사
Unity3D 테스트 첫인상
o …게다가
o 웬만한 미들웨어는 몽땅 내장되어 있어서
인티그레이션 걱정이 없음
o Umbra
o Tree Creator
o Beast
o Physics
o Substance
o FMOD
o Asset Server
o Mono
Unity3D 테스트 첫인상
o엔진에 앱스토어가 있어!!!
o 정확히는 Asset Store
o UI가 구려? 그럼…
o 비주얼 셰이더 에디터가 없어? 그럼…
Unity3D 를 실제 써보니…
o (최상위 엔진급의) 차세대급 하이엔드 기능은 좀 부족
o 실시간 GI 뭐 이런 수준은 아님
o 그러나 엄청나게 빠른 업데이트
o 3.5에서 HDR과 Gamma Correction, Light Probe 등 내장
o 4.0 에서는 DirectX 11 기능 지원 예정
Unity3D 를 실제 써보니…
o과연 1인 개발자를 위해서는 모든 것이 준비
o 모든 것이 간편
o 아직 큰 프로젝트는 잘 “모르더라”
o강력한 시각화
o 이게 은근히 대놓고 강력
Unity3D 를 실제 써보니…
o 프로그래머 입장 : 단점이 확실히 있음!!!
o 스크립트로 접근이 한계가 있어!
o메모리가 새!!!!!!!!! 에디터 잘 죽어!!!
o 확실히 무거워!!! UI/Terrain 구려!!! Collision 무거워!!!
o Mono구려!!! 디버깅도 안돼!!! 가비지 컬렉터 느려!!
o 버그 어쩔꺼야!!!
o 레퍼런스가 빈약해!!!
보고 있나
유니티
Unity3D 를 실제 써보니…
o 그래픽 아티스트나 디자이너는 대 환영
o “ 가벼운 언리얼 같은 느낌이었어요”
o “퀄리티도 잘 나오고 금방 배울 수 있어요”
o 조금 과장하면 “쯔꾸르 같았다” 라는 평도
o 시간도 없고 그래픽 프로그래머도 없는 회사에게는 최고의 물건
프로그래머들은 다운된다던데..
Unity3D 를 실제 써보니…
“툴이 좀 다운되지 않아?”
o 그래픽 아티스트나 디자이너는 대 환영
o “ 가벼운 언리얼 같은 느낌이었어요” “페인터 보다는 백배 나아”
o “퀄리티도 잘 나오고 금방 배울 수 있어요”
o 조금 과장하면 “쯔꾸르 같았다” 라는 평도
o 시간도 없고 그래픽 프로그래머도 없는 회사에게는 최고의 물건
그렇지만..
Unity3D 를 실제 써보니…
o너무 쉬운 엔진의 함정
o 너무 쉽게 core한 부분에 접근 가능
o 관리를 잘 못하면 퍼포먼스 저하가 쉬움
o TA 제어가 꼭 필요한 엔진
어쨌건 Unity3D 의 최종 평가는
o 전체적으로는 기대 이상 : 포스트 겜브리오?
o 툴 기반 엔진 : 작업 프로세스의 재 확립 필요
o 메모리 문제만 어떻게 좀 하면…
o 엔진 개발사의 적극적 협력 – 본사 개발자 파견
Technical Artist
o “ 프로그래머의 머리로, 아티스트의 감성으로 ”
o 프로그래머의 한계와 아티스트의 한계
o 무조건 그래픽 데이터부터 타협하는 사태 방지
o 아트 팀이 원하는 것을 게임에 구현 / 가격대 성능비 체크, 결정
o 편리한 작업 환경 구현 / 높은 품질을 위한 기술 제안
o “영업 사원 마인드” : 우리의 고객은 모든 개발자
o R&D , Script, Shader, Trouble Shooting , Education
퍼포먼스 2차 테스트
o Asset 제작 스타일 파악
o 제작 개선점 분석
o 리소스 외의 프레임 저하요소 분석 /해결
o“표준 맵” 결정
리소스 제작 가이드라인
o 캐릭터는 30-40마리 동시 출현이 한계
o Dynamic Batch를 이용하면 좀 더 가능
o 커스터마이징은 제약 좀…
o 캐릭터 폴리곤은 4000-5000
oTexture Size는 좀 더 크게
o 언제든 줄일 수 있는 것은 넉넉하게 사용한다
o 최후의 최적화 방법으로 선택
리소스 제작 가이드라인
oDP Call은 그래픽팀에서 적극적으로 신경쓴다
o ‘보통’ 옵션에서 Dpcall을 400 이하로 나오게 할 것
o 배경 그래픽 팀에 적극적으로 교육
o 폴리곤 수는 지금에서 더 늘지만 않을 정도로
o 너무 복잡한 제약은 아티스트들을 주눅들게 한다.
Shader 작업
o 캐릭터 Shader 제작
o 염색, Rim light 기능요구
o 너무 고급 기술은 사용 않기로
-Specular *2
-Half Lambert
-SSS
-Hemisphere
Ambient
-Rim
-Dye
Shader 작업
o 캐릭터 Shader 제작 별론데요
o 염색, Rim light 기능요구
o 너무 고급 기술은 사용 않기로
-Specular *2
-Half Lambert
-SSS
-Hemisphere
Ambient
-Rim
-Dye
Shader 작업
o 예쁘면 장땡
-Specular *2
-Half Lambert
-SSS
-Hemisphere -Lambert
Ambient -Rim
-Rim -Dye
-Dye
이런 시도 저런 시도
o Toon Shader
o Texture Color를 Sampling한 외각 라인
o 게임 성격과 맞지 않아 포기
에라 그럼 가볍게라도 만들자
o Handmade Shader : Full Vertex Light로 교체
o DP call 감소 효과
o 파츠가 있는 군주 캐릭터의 경우, 캐릭터 1마리당 약 10 드로우콜 절약
o 30마리 상황에서 2-3 프레임 증가 효과
그래도 아쉬워서
o 그 대신 Gamma Correction 추가
o 해 놓고 나니까 3.5에서
기본으로 추가된다능…
사양 / 옵션 결정 최저사양 권장사양
CPU CPU
o 가능한 한 가볍게 Intel Pentium4 2.8G Intel Pentium4 3.2G
AMD Athlon 2600+ AMD Athlon 64 3200+
o 최저사양의 정의 Memory Memory
1G 2G
o 최저옵션
o 최저해상도 (1024*600) Graphic Card Graphic Card
Geforce FX5900 128MB Geforce 7600 256MB
o 동시작업 무리
ATI X600 128MB ATI X1650 256MB
Hard Disk Hard Disk
o 권장사양의 정의
여유공간 10 G 이상 여유공간 10 G 이상
o ‘보통’ 옵션
Internex Explorer Internex Explorer
o 권장 해상도 (1280*1024)
8.0 이상 9.0 이상
o 간단한 동시작업 가능
최저 낮음 보통 좋음 최상
사양 / 옵션 결정 Pixel light count 0 1 2 3 4
shadow hard Only
shadow resolution High
o 5단계 옵션 완성
shadow cascade 1
o 낮은 사양쪽에 집중 shadow distance 30
o 고급기술은 최고급 옵션에 집중 blend weight 1 2 4 4 4
texture quality 1/4 1/2 Full Full Full
o 공식을 이용한 자동설정 완성
anisotropic texture ForceEnable
Terrain Pixel Error 150 150 50 0.1 0.1
Shader LOD 200 200 300 500 500
SkyBox O O O O
Color Correction O O O
Depth of Field O O
Bloom (LDR) O O
Contrast Enhance O O
SSAO O
옵션-최상
Realtime Shadow
SSAO
Bloom
Contrast enhance
Color correction
Full Texture size
Anisotropic
Filtering
Terrain error low
Shader LOD 500
옵션-상
Realtime Shadow
SSAO
Bloom
Contrast enhance
Color correction
Full Texture size
Anisotropic
Filtering
Terrain error low
Shader LOD 500
옵션-보통
Realtime Shadow
SSAO
Bloom
Contrast enhance
Color correction
Full Texture size
Anisotropic
Filtering
Terrain error mid
Shader LOD 300
정리 • 돌아 가긴 하더군요
• 사양과 옵션은 예상에
거의 근접 성공
• 물론 점점 더 높아질 겁니다만
정리 • 돌아 가긴 하더군요
• 사양과 옵션은 예상에 거의 근접 성공
• 좀 더 자동화를
궁리해 봐야 할 듯
• 그렇지만 수작업도 의미가 있었음
정리 • 돌아 가긴 하더군요
• 사양과 옵션은 예상에 거의 근접 성공
• 좀 더 자동화를 궁리해 봐야 할 듯
• 하드코어하게 만들면
(당연하게도)
프로그래머가 고생합니다
• 나란엔진 그런엔진
정리 • 돌아 가긴 하더군요
• 사양과 옵션은 예상에 거의 근접 성공
• 좀 더 자동화를 궁리해 봐야 할 듯
• 하드코어하게 만들면 (당연하게도)
프로그래머가 고생합니다
• 노하우를 꽤 쌓았습니다
• 프로그래머 분들이 고생 많았습니다
정리 • 돌아 가긴 하더군요
• 사양과 옵션은 예상에 거의 근접 성공
• 좀 더 자동화를 궁리해 봐야 할 듯
• 하드코어하게 만들면 (당연하게도)
프로그래머가 고생합니다
• 노하우를 꽤 쌓았습니다
• 몇가지 문제를 극복하면
훨씬 더 높은
퀄리티도 충분히 가능합니다
• 웹게임으로는 2-3 배 이상 퀄리티도
곧 가능하지 않을지
정리 • 돌아 가긴 하더군요
• 사양과 옵션은 예상에 거의 근접 성공
• 좀 더 자동화를 궁리해 봐야 할 듯
• 하드코어하게 만들면 (당연하게도)
프로그래머가 고생합니다
• 노하우를 꽤 쌓았습니다
• 몇가지 문제를 극복하면 훨씬 더 높은
퀄리티도 충분히 가능합니다
…그렇지만