O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

Unite 2015 Seoul : 인디에게 어디가 한계인지는 해봐야 알잖아?

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Carregando em…3
×

Confira estes a seguir

1 de 43 Anúncio

Unite 2015 Seoul : 인디에게 어디가 한계인지는 해봐야 알잖아?

Baixar para ler offline

인디 팀을 위한 "돈으로 발라버리는" 개발법.
Asset Store 와 다양한 반칙성 리소스 툴을 이용해서 저렴하게 돈으로 발라버리는 요령과 참고 사항에 대한 강연입니다.

인디 팀을 위한 "돈으로 발라버리는" 개발법.
Asset Store 와 다양한 반칙성 리소스 툴을 이용해서 저렴하게 돈으로 발라버리는 요령과 참고 사항에 대한 강연입니다.

Anúncio
Anúncio

Mais Conteúdo rRelacionado

Diapositivos para si (20)

Semelhante a Unite 2015 Seoul : 인디에게 어디가 한계인지는 해봐야 알잖아? (20)

Anúncio

Mais recentes (20)

Unite 2015 Seoul : 인디에게 어디가 한계인지는 해봐야 알잖아?

  1. 1. 실버불릿 개발후기 어디가 한계인지는 일단 해봐야 아는 거잖아? 청강문화산업대학교 교수 / 별바람 스튜디오 대표 별바람 (김광삼)
  2. 2. 저는 이런 개발자입니다. • 코딩 32년차/ 데뷔 25년차 인디 게임 개발자 (1991년 호랑이의 분노로 데뷔) • 올파트(All-Part) 게임 개발자 플랫폼 불문, 장르 불문 인디 개발자이면서 오버 쪽과 일하는 것도 꺼리지 않음 • 대세는 알지만(교수) 따르지는 않는(개발) 마이웨이 • 호랑이의 분노, 푸른매, 그녀의 기사단, 혈십자 등 개발
  3. 3. 실버불릿의 시작 • 2012년 혈십자가 끝나갈 때 쯤 처음 구상 멀티터치에 특화된 뭔가 기묘한 조작이 없을까? • 지금까지 내가 만들어 본 적 없는 장르를 만들고 싶다 • 그 계기가 된 셀프 팬아트 일러스트 한 장 • 8년 만에 돌아온 제자에게 실무 경험을 쌓게 하고 싶으므로 팀 작업을 한다는 것을 전제
  4. 4. 이게 문제의 그 그림 • 혈십자의 캐릭터 중 제 최애캐인 “니모”요원 (실지론 서브 히로인) • 퇴마 수녀 설정 • 이 누님을 주인공으로 세워보고 싶다!! (최종적으론 다른 캐릭 다른 세계관이 되었음)
  5. 5. 그리고 UNITY4.. • 원래는 내 라이브러리도 있었다(CK2D, CK4D) • 제자와 협업/교육을 위해서는 일반적인 엔진이 필요 • 때마침 Unity4 베타가 출시 • 그래 나도 이번엔 그 대세라는 유니티를 써 보자!!
  6. 6. 유니티를 처음 만져본 소감 • 구조가 방만하네.. (마구 Append 해가는 느낌의 구조?) • 아 GUI Editor 싫다.. 정말 싫다.. • 객체지향 코딩은 영 취향에 안 맞는데.. 에라!! 진짜 방만한 개발이 뭔지 보여주마!
  7. 7. 방만한 게임 = AAA 지향 • 나다운 게임을 AAA스타일로 모바일에서 만들어보자! (인디로 큰 게임은 안돼? 난 종종 혼자서도 해봤는데? 모바일은 간단한 게임 위주라고? 앞으로도 그럴까?) • 발매 예정은 아마도 2014년말-2015년초로 생각: 당시 기준으로 최신 폰 정도에 맞춰서 개발하면 될듯? (레퍼런스 폰은 LG 옵티머스 G-Pro : 이유는 고해상도) • 가능하면 그래픽 퀄리티 설움의 한(..)을 풀어보자.
  8. 8. 결론: 한계선까지 가보자
  9. 9. 목표점 설정 • 콘솔 스타일의 게임 진행 / A급 퀄리티의 그래픽 • 신기술이나 써먹을 수 있는 기술은 닥치는 대로 써먹자! 연출상 필요하다면 얼마든지 기술개발에 투자하겠다. • 개발 스케쥴은 2년 반 = 2014년 말 목표 우리가 목표한 퀄리티와 코어한 모바일 게임의 시장은 2015년 초부터 일반화 될 거라 예상 (하지만 실지로는 2012년 말의 예상보다 반년쯤 빨랐다)
  10. 10. 정말 개발 견적이 나올까? • 개발 시작 시 개발 팀원은 2명 모든 파트 커버 가능한 경험 많은 만능 개발자 별바람 + 재능이 있으나 아직 경험은 없는 초보 프로그래머 • 개발비는 이전 게임(혈십자) 수입 + 교수 월급 = 대략 2년까지는 버틸 수 있다고 추산(이후는..-_-) • 엔진의 성향에 맞는 게임 스타일을 선택
  11. 11. 초기의 고민들 • 적은 예산의 인디 팀에서 모바일 환경으로 뽑아낼 수 있는 퀄리티와 게임 규모의 한계선은 어디인가? • 시대의 흐름과 맞지 않는 고전적 게임성은 안 되는가? (유저에게 스트레스를 주는 게임은 정말 안 되는가?) • 확률과 지속적 플레이 유도가 아니라면 돈을 못 버는가?
  12. 12. 그리고 셀프 대답들 • 소규모이므로 상대적으로 적은 예산으로 버틸 수 있다. -> 그 버틸 예산이 있다면, 시간을 가지고 한계선과 돌파구를 하나씩 확인 해보며 가면 되는 게 아닌가? • 진짜 그런 게임성 승부가 가능한지 아무도 안 해봤잖아? (모바일 특성을 모른 채 만들어진 애매한 물건 말고) 그럼 항상 무모한 내가 해보면 된다
  13. 13. 게임의 기획의 기본 골격 • 멀티터치를 이용한 쌍권총 멀티 타겟 컨트롤 • 영화적인 연출과 공략이 필요한 패턴의 보스 배틀 • 이게 어울릴 장르를 생각해보면 잠입 액션과 파밍RPG? • 메탈기어와 디아블로를 합쳐 내 스타일로 만든다면?
  14. 14. 기획의 기술적 도전 과제 • 쌍권총의 2중 타겟 IK 컨트롤 • 추적하고 따돌릴 수 있는 놀아줄 만한 적 AI • 1080p 이상으로 최고 퍼포먼스를 뽑아낼 수 있을 것 (2년 이상의 개발기간 동안 폰이 발전할거라는 전제로) • 자동생성 던젼 맵 (+ AI 길 찾기)
  15. 15. 대충 이렇게 해결했습니다 • IK는 HeadLookController 기반으로 시간을 들여 그냥 짰음 (캐릭터 기본 자세 세팅이 중요함 : 양팔의 방향 등) • AI 는 FSM 을 근간으로 주요 스테이트가 유기적으로 엮이게 설계 (서로 근처의 다른 몹 AI에게 헬프 콜 등을 보내 서로 유기적으로) • 퍼포먼스는 일일히 시험삼아 빌드해서 실험해보며 기술개발 (2년반의 스케쥴 중 첫1년은 기술 개발에 투자할 수 있었음) • 던젼은 NavMesh를 규격화 시켜 쪼갠 후, Obstacle 로 해결
  16. 16. 기술적 도전 상황의 해결법 • 일단 쫄지 말고 코드를 짠다/일단 짜도록 시킨다 -> 에디터에서 돌아간다면 일단 준비는 되었음 • 그리고 무작정 폰에 올려서 돌려본다 -> 만약 느리다면 다음 단계로 만약 문제없이 잘 돌아간다면 Profit! • 다시 코드를 검토하고 기기 특성을 확인하며 가능성 체크 -> 더 좋은 방법은? 기기 특성을 우회할 방법은? • 막상 해보면 의외로 폰의 퍼포먼스 허용 한계가 높다 특히 폴리곤 수는 의외로 굉장히 허용선이 높더라
  17. 17. 문제는 그래픽 리소스 • 개발 팀원 2명 (2012-2013년 당시) 프로그래머 1명 + 만능맨 1명 : 프로그래머 위주의 팀 • AAA타이틀을 만들려고 한다면 그래픽 리소스는 어떻게? • 내가 기획을 하면서 그래픽을 함께 커버하겠다고는 해도 기본적으론 2D도트맨이고 3D그래픽 작업은 경험이 부족 • 하지만 믿는 구석이 있었다
  18. 18. ALL HAIL ASSET STORE! • “합법적”으로 사용할 수 있는 방대한 리소스 • 내가 유니티의 강점의 70%라고 생각하는 부분은 어셋스토어 (그 동안 쌓여있는 어셋의 숫자 자체가 펀더멘털이라 생각함.) • 특히 일부의 그래픽 어셋은 A급에 손색없는 퀄리티 • 즉, “돈으로 발라버리는 개발”이 가능하다!!!!! (하지만 외주를 주거나 팀원을 고용하는 거 보다 싸다!)
  19. 19. 배경은 어셋스토어로 해결 • 퀄리티가 굉장히 중요하나 무난하다면 개성이 없어도 OK -> 결국 맵을 구성하는 센스가 중요하다 • 어셋스토어에서 구할 수 없는 독특한 어셋이 필요한 경우가 아니라면 배경 리소스는 기본적으로 전부 어셋 스토어에서 구입해서 사용 • 선별 기준은 샘플을 보고 퀄리티 최우선 퀄을 깎아 낮출 순 있지만 기본적으로 낮은걸 올릴 순 없다 지금 쓸게 아니라도 고퀄 배경을 할인하면 무조건 지른다
  20. 20. 캐릭터도 일단 어셋스토어 • 설령 나중에 다른 모델로 바꾼다고 하더라도, 일단 프로토타이핑을 위한 캐릭터가 필요하다. • 특히, 상대적으로 중요도가 떨어지거나 흔한 타입의 적 캐릭터라면 굳이 직접 만들 필요가 없다 = 어셋스토어 • 선별기준은 퀄 보다는 즉시 사용 가능여부 1. 리깅이 잘 되어 있을 것. 2. 애니메이션 세트가 기본적으로 갖춰져 있을 것. 3. 퀄리티도 나쁘지 않다면 최종까지 사용을 고려 할 수 있음. • 텍스쳐 등은 자신의 취향대로 수정할 것
  21. 21. 이펙트도 일단 어셋스토어 • 어셋스토어에 올라온 일부 이펙트 어셋들은 꽤 멋지다 (이번 게임은 Flying Teapot 제품들이 성향에 맞았음) • 모바일에선 무거운 경우가 있으므로 잘 골라야 함 - 디스토션 효과는 일단 무리 (2015년 초 현재 기준) - 폭발의 연기등 화면의 “면적을 넓게 가리는”이펙트는 느림 - 게임 풍과 어울리는가? : 너무 만화적인 이펙트는 곤란함 • 비슷한 것을 구입해서 직접 수작업으로 고치는 것을 추천
  22. 22. 기본적인 애니메이션은 MIXAMO + 자체제작 • Mixamo사가 기본적인 모션들을 잔뜩 팔고 있음 (Mixamo store 어셋을 깔면 유니티 에디터 상에서 캐릭터에 붙어서 돌아가는 모션을 확인하고 구입할 수 있음) • 특별하지 않은 기본적 게임적 모션은 다 있다고 생각하면 됨 • 단, 액션 공격 모션들은 좀 구리다 -> 직접 만들어 쓸 것 -> 그래서 2014년 결국 팀에 애니메이터를 신규 채용
  23. 23. 음악은 APM MUSIC • 보통 어셋스토어에 올라온 음악과 사운드는 좀 구리다(!!) • 하지만 어셋스토어 APM에서 파는 음악은 꽤 고퀄리티 비싸지만 가격 값은 하고, 외주보다는 훨씬 싸다 • 그 외 음원을 파는 별도의 사이트에서 구입해도 좋지만, 음원 사용의 라이선스를 꼭 잘 확인해볼 것 • 사운드는 어셋스토어 물건보단 외부의 음원 사이트에서 소스를 구입해서 직접 편집하면서 사용하는 것을 추천
  24. 24. 하지만 중요 캐릭터는? • 그래도 주인공까지 어셋스토어 물건 쓰는 건 곤란하지 않나? • 주인공 외에도 오리지널리티가 있는 보스들이나 중요한 캐릭터들은 어셋 스토어의 물건만으로는 역시 한계가 있음 • 그러므로, 주인공은 별도로 외주를 내거나 “다른 방법”을 고민해 볼 필요가 있었다 • 학생 모델러를 들여서 주인공 모델링을 해서 써볼까도 고민 했으나 학생 레벨로 A급 타이틀에 어울릴만한 퀄리티는 무리라고 판단
  25. 25. 다른 방법1 : DAZ3D
  26. 26. DAZ STIDIO • Daz3D : 개발 초기에 프로토타이핑에 사용함. 일종의 Poser 류의 간단한 캐릭터 메이킹 후 영상을 만드는 툴 게임 커스터마이징 하듯 모델을 만들고 옷을 만들어 입힐 수 있다 • 소프트웨어 자체는 무료이나 옷이나 프롭 등의 구입에 과금 • FBX export가 가능하여 완전히 리깅된 상태로 생성 • Decimator 플러그인을 사용하면 폴리곤 수를 조절 가능 • 게임 개발용 라이선스가 존재
  27. 27. DAZ3D 결과물 • 대략 20,000 Tris (헐…) • 머리,얼굴,몸,브라,바지,신발, 눈알 전부 개별 텍스쳐(…) • 눈알과 혀까지 리깅된 상태(…) • 그런데도 의외로 잘 돈다(…) • 2014년 초반 버전까지 사용
  28. 28. DAZ3D 결론 • 장점 : Daz3D 에서 다양한 복장이나 장비 등을 판매하고 있어서 커스터마이징을 극단적으로 하는 것이 가능하다 게임 개발용 라이선스도 판매해서 합법적으로 사용가능 • 단점 : Decimator가 구려 20000tri 이하는 현실적으로 무리 (하지만 20000짜리 주인공이 모바일에서 잘 돌더라는 게 함정) 기본적으로 게임용이 아니라 본이 좀 심하게 많다 텍스쳐를 너무 쪼개서 생성한다
  29. 29. 다른 방법2 : FUSE
  30. 30. MIXAMO FUSE • 어셋스토어에서 Mixamo 가 판매하는 캐릭터 생성툴 • 게임개발 용도라면 일단 Daz3D 보다 나음 (게임에 맞게 최적화된 Bone 구조와 Decimator) • 소프트웨어 자체에 기본 가격이 있음(100$) 가격정책에 따라 리깅과 애니메이션 수량이 정해짐 • 현재 NPC 캐릭터들에 Fuse 로 생성한 캐릭터를 사용
  31. 31. FUSE 결과물 • 서브 히로인..이 아니라 서브 남주격인 Seth 박사 • 대략 6000 tris 사용 (나름 게임의 주역이라..) • 본 구조는 보이는 대로 약간 오버하는 정도
  32. 32. FUSE 결론 • 장점 : Daz3D 에 비해 Decimator가 강려크하다. (대략 3000 tri 정도로도 무난하게 잘 뽑아줌) 자동으로 뽑아주는 리깅이 의외로 꽤 좋은 편 • 단점 : 샵이 없다보니 커스터마이징 자유도는 적음 (Daz3D 로는 별별 희안한 복장이나 프롭 들이 많다) Daz3D보단 낫지만 본과 텍스쳐를 좀 심하게 나눈다
  33. 33. SIMPLYGON • 개발툴이나 어셋이라기보단 월 정액 서비스에 가까움 • 기본적으로 Decimate, Texture Merge, LOD 생성지원 • 앞에서 고퀄의 배경을 사라고 말한 이유가 바로 이 물건 (원하는 수준까지 폴리곤을 Reduction 시킬 수 있다) • Draw Call 을 줄이기 위해서 이리저리 나뉘어진 Texture를 병합하는 데에도 매우 유용함 (특히 배경에 유용) • 최적화를 위해 유용한 서비스
  34. 34. 그 외에 시도해 본 것들 • Poser : 캐릭터 퀄 자체로는 Daz3D 이상이나 게임용은 아님 • Make Human : 공짜라는 점 외엔 별로.. • Substance Painter : 텍스쳐 드로잉 시 꽤 편하다 • VertExmotion : 유니티 셰이더 Soft Body Animation • Unity Analytics : 유저 스토킹은 개발자의 로망(..) • Google Drive : 개발 중 실시간 Text 수정 및 번역용
  35. 35. 정말 중요한 캐릭터는 외주
  36. 36. 외주 그래픽 작업 • 오리지널 캐릭의 퀄리티에는 그만한 비용이 필요하다 • 원화는 직접 그린 후, 모델링 + 텍스쳐까지 외주 • 리깅 + 애니메이션은 팀 내에서 작업 • 텍스쳐는 직접 만든 Shader 와 함께 다시 직접 손질 (텍스쳐의 외주 주문 사항은 기본적인 부분만 요구) • 최종적으로 In-Game의 움직임을 보며 직접 손질한다
  37. 37. 배경 어셋의 작업 프로세스 • 어셋스토어에서 비슷한 느낌의 배경 세트 어셋 구입 - 일단 모델링 자체는 하이폴 고퀄리티로 구입 - 라이팅/셰이더 빨에 속지 말 것 (믿지말자 조명빨) - 어셋에 포함된 자잘한 파일들이 뭐가 있는지는 꼭 확인 • 게임에 라이트와 셰이더를 적용해보며 직접 텍스쳐 가공 • 대충 기본 모양이 다 잡혔다 생각하면 Simplygon 으로 Reduction + Merge • 실지 기기에 넣고 퍼포먼스와 비쥬얼 체크
  38. 38. 셰이더는 직접 만지자 • 커스텀 셰이더 관련 어셋들이 여럿 있으나, 셰이더 코딩을 할 수 있으면 직접 짜는 것이 편하다 (나만 그런지는 모르지만 GUI 보단 텍스트가 편안하다) • 참고용으로 보고 싶은 셰이더는 사서 해부해볼 것 • 최종적으론 섀이더 코드를 손봐서 쓸데없는 군더더기를 다 날려버린 커스텀 셰이더를 만드는 게 좋다 • 필요하다면 캐릭터마다, 혹은 각 오브젝트마다 하나씩의 커스텀 셰이더를 수식과 수치 하나씩 고쳐가며 생성 • 셰이더를 고치고 나면 “꼭 폰테스트” (!!!)
  39. 39. 예산은 얼마 들었나? • 그래픽 외주비용 도합 : 약 1500만원 • 어셋스토어 : 2938.5$ = 약 350만원 (환율 1200원) • Daz3D 어셋 : 약 10만원 • 사운드 소스 구입 : 약 100만원
  40. 40. 실지 개발된 결과물 직접 시연해 보겠습니다.
  41. 41. 한계선은 좀 만져봤나? • 소규모 인디로 규모 있는 게임을 뽑는 건 문제 없다 개발툴의 발달로 기술적인 진입장벽이 허물어졌으며 리소스에 들어가는 비용과 시간은 저렴하게 커버 가능하다 • 모바일 기기의 퍼포먼스는 거의 전세대 게임기 레벨 (조만간 플스3급의 퍼포먼스 기기가 나올지도) • 상식적인 결과도 비교 해보면 꼭 그건 아닌 거도 많더라 (예를 들어 라이트맵을 꼭 구워야 하나? 그건 상황에 따라 다르다) • 개발에 “정석”이란 없다. “잘 돌아가면 장땡”이다.
  42. 42. UNITY4 베타로 시작해서 4.6.4로 끝내며 • 방만한 구조가 되기 쉬운 엔진이므로 구조에 신경쓰는 것이 좋다 Prefab 관리나 Instantiate 의 참조는 고민해서 배치할 것 느린 Find 명령을 안쓰려면 GUI Editor 에서 연결하는 게 좋음 (하지만 이 경우 협업시에 신경써주지 않으면 Missing 되기도) • 유니티의 힘은 내가 볼 땐 70%는 어셋스토어가 먹고 들어간다. 남이 만든 물건을 쓰는 것에 거부감이 있다면 손해보고 있는 거다 • 새로운 개발툴이나 서비스는 항상 튀어나오고 있다 종종 써먹을 만한 새로운 툴이나 서비스가 있는지 확인할 것 대세와 다른 새로운 툴을 사용하는 것에 겁먹지 말자

×