Advertisement

More Related Content

Slideshows for you(20)

Advertisement

Similar to Unity3D로 풀3D web mmorpg 만들기(20)

Advertisement

Recently uploaded(20)

Unity3D로 풀3D web mmorpg 만들기

  1. Unity3D로 만드는 Web Full 3D - MMORPG “삼국지를 품다” 의 테크니컬 아트 Ndoors 정종필
  2. 대충 살아가는 게임개발자 http://chulin28ho.egloos.com 정종필 Ndoors 개발1본부 기술지원팀 부장 / Technical Art Director -1992. H.Q team -충무공전1 캐릭터 디자이너 -임진록 시리즈 그래픽 팀장 -천년의 신화 그래픽 팀장 -㈜ 조이온 아트디렉터 -임진록 온라인 거상 -군주온라인 -타임앤테일즈 기획팀장 -아틀란티카 테크니컬 아티스트 -삼국지를 품다 테크니컬 아트 디렉터
  3. 프로젝트의 시작 : Unity3D 엔진을 결정하다
  4. • 프로젝트의 시작 o Ndoors H.Q.team
  5. • 프로젝트의 시작 o Ndoors H.Q.team o …남들 안 하는 것 도전하기로 유명한 회사 • 정치 경제 역사 교육 … • 턴제 MMORPG…
  6. 시대는 (빠르게) 바뀌고 있다 o 무거운 게임의 시대는 저물고… o 접근성이 쉬운 WEB 게임을 만듭시다
  7. 그럼, 고품질의 풀 3D 웹게임으로!!
  8. 프로젝트의 목표 o “정통” 스토리 삼국지라고? o 나관중, 삼국지연의 기반 o 1천여개의 ‘드라마’ 삽입
  9. 프로젝트의 목표 o 고품질의 멀티 플렛폼 게임 o WEB 버전과 스마트폰 게임의 연동 o 각각 독립 플레이도 가능
  10. Unity 3D o 근래에 각광받고 있는 엔진 o 일단 우리의 요구에 가장 근접 소문조사
  11. Unity 3D o 근래에 각광받고 있는 엔진 가격이 싸고 o 일단 우리의 요구에 가장 근접 제작이 빠르다고 하고 멀티 플렛폼에 특화되어 있다니까
  12. 그리고 별 건 아니지만 조사하다 보니 알았는데
  13. 그리고 별 건 아니지만 있고 개발팀은 덴마크에 조사하다 보니 사무실은 미국에 있고 알았는데 이번엔 캐나다 회사를 영입했고 리투아니아에도 연구소가 있어? 별 의미 없지만 뭔가 정체불명의 국적 소문은?
  14. 그 외 들려오는 불길한 소문들 “1인 개발자용 엔진이라던데? 여러 명은 못 쓴데” “퍼포먼스와 기능이 떨어져서 MMO 같은 게임 만들기는 무리야” “그래픽이 구리고 렌더링이 엄청 느려” “해 보니까 모바일 게임 외엔 못만들어” 그렇지만
  15. 우리가 뭐 언제부터 소문 듣고 게임 만들어 왔냐
  16. Unity3D 테스트를 시작하다
  17. Unity3D 테스트 첫인상 o 뭐야 몰라 무서워 o 생각보다 훨씬 쉽다 o 프로그래머 하루만에 … “헉” o 그래픽 아티스트들도 … “경악” o 툴이 하나 밖에 없어? ‘눈길’
  18. Unity3D 테스트 첫인상 o LEGO? o 컴포넌트만 가져다 끼우면 기능이 뚝딱 완성 o MAX 파일이나 PSD 파일까지 몽땅 Asset으로 받음 o 웹 /모바일 /콘솔 버전이 빌드 옵션만 바꿔주면 알아서 빌드됨
  19. Unity3D 테스트 첫인상 o LEGO? o 컴포넌트만 가져다 끼우면 기능이 뚝딱 완성 o MAX 파일이나 PSD 파일까지 몽땅 Asset으로 받음 o 웹 /모바일 /콘솔 버전이 빌드 옵션만 바꿔주면 알아서 빌드됨 “괜히 개발팀이 *덴마크에 있는 게 아니었어요” * 레고는 덴마크 회사
  20. Unity3D 테스트 첫인상 o …게다가 o 웬만한 미들웨어는 몽땅 내장되어 있어서 인티그레이션 걱정이 없음 o Umbra o Tree Creator o Beast o Physics o Substance o FMOD o Asset Server o Mono
  21. Unity3D 테스트 첫인상 o엔진에 앱스토어가 있어!!! o 정확히는 Asset Store o UI가 구려? 그럼… o 비주얼 셰이더 에디터가 없어? 그럼…
  22. Unity3D 테스트 첫인상 o엔진이 부분 유료화도 해? 넥슨이냐 o 캐쉬 영역 50MB… 그래픽퀄리티
  23. Unity3D 테스트 첫인상 o그래픽 퀄리티도 그다지 떨어지지 않음 o Forward Renderer와 Deferred Renderer 도 지원 o Shader Script가 쉬운 편 o 3.0 부터는 그런대로 괜찮. o 3.5 부터는 밀리지 않음
  24. Unity3D 테스트 첫인상 o 프로그래머들은 많이 우려 o 접근이 안되는게 많다 o 스크립트의 속도는? o C# 이다… C++이 아냐… 종합적으로 봤을때..
  25. 종합적으로 봤을 때 o 그것은 좋은 엔진 : 우리 프로젝트 / 제작 스타일과 잘 맞는 엔진 o 엄청나게 빠른 피드백은 최강의 강점 o 우리에게 빠른 것은 최고의 가치
  26. 종합적으로 봤을 때 o 그것은 좋은 엔진 : 우리 프로젝트 / 제작 스타일과 잘 맞는 엔진 o 엄청나게 빠른 피드백은 최강의 강점 o 우리에게 빠른 것은 최고의 가치 진짜임
  27. 종합적으로 봤을 때 o 그것은 좋은 엔진 : 우리 프로젝트 / 제작 스타일과 잘 맞는 엔진 o 엄청나게 빠른 피드백은 최강의 강점 o우리는 처음 해보는 멀티 플렛폼에 도전하고 있다.
  28. 종합적으로 봤을 때 o 그것은 좋은 엔진 : 우리 프로젝트 / 제작 스타일과 잘 맞는 엔진 o 엄청나게 빠른 피드백은 최강의 강점 o우리는 처음 해보는 멀티 플렛폼에 도전하고 있다. o미래가 밝아 보인다 o 엔진 개발사가 적극적이다
  29. 다소 성급할 수도 있지만 결 to the 정
  30. Unity3D 를 실제로 써보니…
  31. Unity3D 를 실제 써보니… o (최상위 엔진급의) 차세대급 하이엔드 기능은 좀 부족 o 실시간 GI 뭐 이런 수준은 아님 o 그러나 엄청나게 빠른 업데이트 o 3.5에서 HDR과 Gamma Correction, Light Probe 등 내장 o 4.0 에서는 DirectX 11 기능 지원 예정
  32. Unity3D 를 실제 써보니… o과연 1인 개발자를 위해서는 모든 것이 준비 o 모든 것이 간편 o 아직 큰 프로젝트는 잘 “모르더라” o강력한 시각화 o 이게 은근히 대놓고 강력
  33. Unity3D 를 실제 써보니… o 프로그래머 입장 : 단점이 확실히 있음!!! o 스크립트로 접근이 한계가 있어! o메모리가 새!!!!!!!!! 에디터 잘 죽어!!! o 확실히 무거워!!! UI/Terrain 구려!!! Collision 무거워!!! o Mono구려!!! 디버깅도 안돼!!! 가비지 컬렉터 느려!! o 버그 어쩔꺼야!!! o 레퍼런스가 빈약해!!! 보고 있나 유니티
  34. Unity3D 를 실제 써보니… o 그래픽 아티스트나 디자이너는 대 환영 o “ 가벼운 언리얼 같은 느낌이었어요” o “퀄리티도 잘 나오고 금방 배울 수 있어요” o 조금 과장하면 “쯔꾸르 같았다” 라는 평도 o 시간도 없고 그래픽 프로그래머도 없는 회사에게는 최고의 물건 프로그래머들은 다운된다던데..
  35. Unity3D 를 실제 써보니… “툴이 좀 다운되지 않아?” o 그래픽 아티스트나 디자이너는 대 환영 o “ 가벼운 언리얼 같은 느낌이었어요” “페인터 보다는 백배 나아” o “퀄리티도 잘 나오고 금방 배울 수 있어요” o 조금 과장하면 “쯔꾸르 같았다” 라는 평도 o 시간도 없고 그래픽 프로그래머도 없는 회사에게는 최고의 물건 그렇지만..
  36. Unity3D 를 실제 써보니… o너무 쉬운 엔진의 함정 o 너무 쉽게 core한 부분에 접근 가능 o 관리를 잘 못하면 퍼포먼스 저하가 쉬움 o TA 제어가 꼭 필요한 엔진
  37. 어쨌건 Unity3D 의 최종 평가는 o 전체적으로는 기대 이상 : 포스트 겜브리오? o 툴 기반 엔진 : 작업 프로세스의 재 확립 필요 o 메모리 문제만 어떻게 좀 하면… o 엔진 개발사의 적극적 협력 – 본사 개발자 파견
  38. “삼국지를 품다”의 Technical Art
  39. Technical Artist o Full – Time TA 2명, Part – Time TA 2명 oTechnical Support Team / Artist
  40. Technical Artist o “ 프로그래머의 머리로, 아티스트의 감성으로 ” o 프로그래머의 한계와 아티스트의 한계 o 무조건 그래픽 데이터부터 타협하는 사태 방지 o 아트 팀이 원하는 것을 게임에 구현 / 가격대 성능비 체크, 결정 o 편리한 작업 환경 구현 / 높은 품질을 위한 기술 제안 o “영업 사원 마인드” : 우리의 고객은 모든 개발자 o R&D , Script, Shader, Trouble Shooting , Education
  41. 어쨌건 프로젝트는 시작되었는데 가장 불안했던 것은…
  42. o 일단 WEB에서 “돌아가긴 하냐?” o 돌아간다면, 어느 수준을 만들어야 하는 겁니까?
  43. “다른 웹게임과 확연히 다른 수준을 만들어”
  44. “근데 무거우면 안됨ㅋ” 웹게임이잖아ㅋ
  45. 이런걸 원하는 거였..
  46. 구체적으로는.. 구체적으로는.. o 어떤 세부기준으로 제작해야 하나? o 모바일 버전도 고려 o 어떤 기술을 어디까지 사용해야 하나? 가이드라인
  47. 가이드라인 없이는 아무것도 안될 거야… @agebreak “개불” 박민근 선생. 네오위즈
  48. 제작 가이드라인 & 옵션을 결정하다 -퍼포먼스 1차 테스트 -퍼포먼스 2차 테스트 -리소스 제작 가이드라인 -셰이더 커스터마이즈 -퍼포먼스 3차 테스트 -최종 사양 / 옵션 결정
  49. 퍼포먼스 1차 초벌 테스트/ 정리 o 예상보다 너무 낮게 나오는 프레임… o 렌더링 옵션 수정 / 제어 o 브라우저의 프레임 제한 확인 o 의미없는 후처리 정리
  50. 퍼포먼스 2차 테스트 o 리소스 데이터 표준화 테스트 o 30마리의 Batch 처리 안된 캐릭터 o 해상도 1024*600 o 예상 ‘중간’옵션값으로 강제 설정 o 카메라 최대 Zoom Out 예상값
  51. 퍼포먼스 2차 테스트 o 제작된 맵 프로파일링 o 프로파일러 깎는 노인
  52. 퍼포먼스 2차 테스트 o Asset 제작 스타일 파악 o 제작 개선점 분석 o 리소스 외의 프레임 저하요소 분석 /해결 o“표준 맵” 결정
  53. 리소스 제작 가이드라인 o 캐릭터는 30-40마리 동시 출현이 한계 o Dynamic Batch를 이용하면 좀 더 가능 o 커스터마이징은 제약 좀… o 캐릭터 폴리곤은 4000-5000 oTexture Size는 좀 더 크게 o 언제든 줄일 수 있는 것은 넉넉하게 사용한다 o 최후의 최적화 방법으로 선택
  54. 리소스 제작 가이드라인 o 카메라 뷰 제한 o 게임의 특성 o 안정된 퍼포먼스 o 디자인 집중
  55. 리소스 제작 가이드라인 o 카메라 뷰 제한 o 게임의 특성 o 안정된 퍼포먼스 o 디자인 집중
  56. 리소스 제작 가이드라인 o 카메라 뷰 제한 o 게임의 특성 o 안정된 퍼포먼스 o 디자인 집중
  57. 리소스 제작 가이드라인 oDP Call은 그래픽팀에서 적극적으로 신경쓴다 o ‘보통’ 옵션에서 Dpcall을 400 이하로 나오게 할 것 o 배경 그래픽 팀에 적극적으로 교육 o 폴리곤 수는 지금에서 더 늘지만 않을 정도로 o 너무 복잡한 제약은 아티스트들을 주눅들게 한다.
  58. Shader 작업 o 캐릭터 Shader 제작 o 염색, Rim light 기능요구 o 너무 고급 기술은 사용 않기로 -Specular *2 -Half Lambert -SSS -Hemisphere Ambient -Rim -Dye
  59. Shader 작업 o 캐릭터 Shader 제작 별론데요 o 염색, Rim light 기능요구 o 너무 고급 기술은 사용 않기로 -Specular *2 -Half Lambert -SSS -Hemisphere Ambient -Rim -Dye
  60. Shader 작업 o 예쁘면 장땡 -Specular *2 -Half Lambert -SSS -Hemisphere -Lambert Ambient -Rim -Rim -Dye -Dye
  61. 이런 시도 저런 시도 o Toon Shader o Texture Color를 Sampling한 외각 라인 o 게임 성격과 맞지 않아 포기
  62. 에라 그럼 가볍게라도 만들자 o Handmade Shader : Full Vertex Light로 교체 o DP call 감소 효과 o 파츠가 있는 군주 캐릭터의 경우, 캐릭터 1마리당 약 10 드로우콜 절약 o 30마리 상황에서 2-3 프레임 증가 효과
  63. 그래도 아쉬워서 o 그 대신 Gamma Correction 추가 o 해 놓고 나니까 3.5에서 기본으로 추가된다능…
  64. Water Shader 작업 o 가벼운 물은 구리고, 예쁜 물은 무거워요
  65. Water Shader 작업 o Vertex Color / Alpha 마스킹 o 2Pass / Cubemap Reflection / Realtime Refraction / Normalmap / Fixed specular
  66. Water Shader 작업 o Water Shader 수정 o 3단계 Shader LOD o 옵션별 대응
  67. TA는 신이 아니라고요… o 기타 예상되는 무서운 부정적인 변수들 o 인터페이스의 퍼포먼스 o 게임 로직의 부하 o 이펙트 / UI 반투명 부하 o 기타 예상 못한 변수들 본격적으로 서버연결
  68. 본격 퍼포먼스 3차 테스트 o 레퍼런스 CPU 추출
  69. 본격 퍼포먼스 3차 테스트 o 레퍼런스 VGA 추출
  70. o
  71. o 레퍼런스 하드웨어들 결정 o 기준 맵에서 교차 테스트 o 리얼 게임 서버에서 최종 테스트 o 결과도출
  72. 최종결과 도출 o주관적 판단 +a o프로파일러 응용 o이상 증상 체크 o부하 영역 체크
  73. 사양 / 옵션 결정 최저사양 권장사양 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 간단한 동시작업 가능
  74. 최저 낮음 보통 좋음 최상 사양 / 옵션 결정 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
  75. 옵션-최상 Realtime Shadow SSAO Bloom Contrast enhance Color correction Full Texture size Anisotropic Filtering Terrain error low Shader LOD 500
  76. 옵션-상 Realtime Shadow SSAO Bloom Contrast enhance Color correction Full Texture size Anisotropic Filtering Terrain error low Shader LOD 500
  77. 옵션-보통 Realtime Shadow SSAO Bloom Contrast enhance Color correction Full Texture size Anisotropic Filtering Terrain error mid Shader LOD 300
  78. 옵션-하 Realtime Shadow SSAO Bloom Contrast enhance Color correction MiddleTexture size Anisotropic Filtering Terrain error mid Shader LOD 200
  79. 옵션-최하 Realtime Shadow SSAO Bloom Contrast enhance Color correction Low Texture size Anisotropic Filtering Terrain error high Shader LOD 150
  80. 삼국지를 품다 -SPT
  81. 삼국지를 품다 -SPT
  82. 삼국지를 품다 -SPT
  83. 정리 • 돌아 가긴 하더군요 • 묵직한 건 사실입니다
  84. 정리 • 돌아 가긴 하더군요 • 사양과 옵션은 예상에 거의 근접 성공 • 물론 점점 더 높아질 겁니다만
  85. 정리 • 돌아 가긴 하더군요 • 사양과 옵션은 예상에 거의 근접 성공 • 좀 더 자동화를 궁리해 봐야 할 듯 • 그렇지만 수작업도 의미가 있었음
  86. 정리 • 돌아 가긴 하더군요 • 사양과 옵션은 예상에 거의 근접 성공 • 좀 더 자동화를 궁리해 봐야 할 듯 • 하드코어하게 만들면 (당연하게도) 프로그래머가 고생합니다 • 나란엔진 그런엔진
  87. 정리 • 돌아 가긴 하더군요 • 사양과 옵션은 예상에 거의 근접 성공 • 좀 더 자동화를 궁리해 봐야 할 듯 • 하드코어하게 만들면 (당연하게도) 프로그래머가 고생합니다 • 노하우를 꽤 쌓았습니다 • 프로그래머 분들이 고생 많았습니다
  88. 정리 • 돌아 가긴 하더군요 • 사양과 옵션은 예상에 거의 근접 성공 • 좀 더 자동화를 궁리해 봐야 할 듯 • 하드코어하게 만들면 (당연하게도) 프로그래머가 고생합니다 • 노하우를 꽤 쌓았습니다 • 몇가지 문제를 극복하면 훨씬 더 높은 퀄리티도 충분히 가능합니다 • 웹게임으로는 2-3 배 이상 퀄리티도 곧 가능하지 않을지
  89. 정리 • 돌아 가긴 하더군요 • 사양과 옵션은 예상에 거의 근접 성공 • 좀 더 자동화를 궁리해 봐야 할 듯 • 하드코어하게 만들면 (당연하게도) 프로그래머가 고생합니다 • 노하우를 꽤 쌓았습니다 • 몇가지 문제를 극복하면 훨씬 더 높은 퀄리티도 충분히 가능합니다 …그렇지만
  90. 그치만 모바일은 다른 차원의 문제였습니다… To be continued…
  91. Ndoors 개발1본부 기술지원팀 감사합니다 부장/ Technical Art Director 정종필 @Jpcorps jpcorp@ndoors.net 대충 살아가는 게임개발자 http://chulin28ho.egloos.com http://chulin28ho.tistory.com 게임개발 포에버 / 대마왕J http://gamedevforever.com 참고자료 Special Thanks to 사용된 이미지 “삼국지를 품다” 개발팀 이말년 „이말년시리즈‟ http://www.sampoom.com TS팀 귀귀 „정열맨‟ http://chulin28ho.egloos.com Pope kim 스승님 小畑 健,DeathNote Tis/ Ozlael/ Hybrid/ agebrake/ Silverchime あずまきよひこ “よつばと!”) http://www.unity3dkorea.com/ Cagetu/ lune00/ storm / Viiiiito / zinzza / http://www.facebook.com/groups/172155986199569/ Template_NANA / zeyspapa / zoohae / Usuta Kyosuke . “ピューと吹く! ジャガー” jun0683 / kgun86 / eiaserinnys / siyoskii / 増田こうすけ. ギャグマンガ日和 dwloiter / banhae / sehaya / 롤러코스터 남녀탐구생활 Mysterion_Rises/ MBC „무한도전‟ 조석 „마음의소리‟
Advertisement