- 게임 게시판입니다.
Date 15/06/02 16:51:38
Name   MagnaDea
Subject   게임을 만드는 사람들
안녕하세요. 만년 눈팅러 MagnaDea입니다.

자유게시판에 레지엔 님의 '어느 병원으로 가야 하오(https://kongcha.net/pb/pb.php?id=free&no=154)'를 읽고, 게임 개발 이야기를 문득 써보고 싶어졌습니다.
게임 개발이 정확히 어떤 사람들에 의해 이루어지는지, 그리고 각각 무슨 일을 하는지는 두루뭉술하게나마 다들 조금씩 알고 계시겠지만, 그 디테일까지는 잘 알려져 있지 않은 것 같습니다. 이 글에서 하나의 3D 게임 개발팀에 어떤 인원들이 존재하는지, 각각 무슨 일을 하는지를 개괄적으로 설명해 보고자 합니다. 의학이 전문화/분업화 된 것처럼, 최근의 게임 개발 프로세스도 전문화/분업화 되어있고, 저쪽 너머 팀에서 무슨 일을 하는지는 저도 어깨 너머로 들은게 전부라서 디테일에 있어서 조금 틀릴 수도 있겠지만, 감안하고 가볍게 읽어주셨으면 좋겠습니다.

1. 프로그램(Program)
프로그래머는, 다들 아시는대로 프로그래밍을 하는 사람들이 모인 곳입니다. 제가 있는 곳이기도 하구요. 이곳의 카테고리는 크게

- 서버프로그래머
- 클라이언트 프로그래머

로 나뉘게 되는데, 각자 게임서버/클라이언트를 맡아서 작업합니다.

요즘 클라이언트 프로그래밍의 경우, 엔진을 사서 작업하는 경우가 대부분입니다. 엔진을 직접 개발할 수도 있겠습니다만, 바퀴를 굳이 다시만들어야 할 필요도, 그럴만한 시간과 돈도 없으니, 사서 만드는 것이 오히려 이득이죠. 그렇다고 엔진을 그대로 쓰지는 않습니다. 개발하면서 필요한 기능을 개선하기도 하고, 추가하기도 하는데, 이를 전문적으로 하는 사람들을 특별히 엔진 프로그래머라고 부릅니다. 다수의 클라이언트 프로그래머들이 게임 컨텐츠 개발을 담당하는 동안, 이 사람들은 컨텐츠에 필요한 여러 기능들을 클라이언트 프로그래머들에게 요청받아 개발하는 일을 합니다.
게임 컨텐츠와는 별개로, 컨텐츠 개발자들(기획자/아트 디자이너)이 사용할 툴을 개발하는 프로그래머들도 있는데, 이들을 툴 프로그래머라고 부릅니다. 클라이언트 프로그래머와 딱히 다른 기술을 가지고 있는 것은 아니지만, 만든 결과물을 사용하는 대상이 유저인가, 개발자인가에 따라 나뉘는 거죠. 좋은 툴 팀이 있는 회사의 경우 개발 속도도 빨라지고, 기획자의 역량을 펼칠 수 있는 여지가 더 많아지므로, 최근에 많은 회사에서 내부적으로 좋은 툴을 만들기 위해 힘을 쓰는 파트이기도 합니다.
게임은 컨텐츠 뿐 아니라 UI도 중요한 역할을 하는데, 이를 전담하는 프로그래머도 따로 있습니다. 전반적으로 프로그래머가 기피하는 3D업종이기도 한데, 약간 노동집약적인 성격이 강하기 때문이죠. 예전엔 주로 3년차 이하 뉴비가 거쳐가는 코스이기도 했습니다. 하지만 최근엔 UX가 중요해지고, 개발 환경에서 노동집약적인 요소가 많이 개선되면서, 인식도 개선되고, 중요성도 강화되고 있습니다.

서버 프로그래밍은 오히려 더 간단합니다. 전체 코드량이 클라이언트보다 작은편이기도 하고, 엔진이라고 부를만한 요소가 적고, 컨텐츠 집약적이기 때문에 보통 1-2명의 리드 프로그래머가 프로젝트 시작할 때 엔진에 해당하는 라이브러리를 짜고, 이후 해당 리드 프로그래머를 포함한 모든 서버 프로그래머가 컨텐츠의 산을 올리는 일을 합니다. 문제는 MMO 게임 서버의 경우, 멀티스레드 사용이 필수적이다시피하고, 멀티스레드는 사람이 쓰라고 만든 물건이 아니기 때문에(네. 제가 서버프로그래머입니다.) 예측할 수 없는 버그들이 많이 생기는 편입니다. 그리고 버그가 생겼을 때 가장 치명적인 파트이기도 하구요.(덕분에 게임 오픈하면 회사에서 먹고 잡니다. 업데이트 해도 회사에서 먹고 잡니다. 전 침대에서 자는 것 보다 의자에서 자는게 더 편합니다.) 만드는 컨텐츠에 따라 파트를 나누기도 합니다만, 클라이언트 만큼 전문적으로 분화시키지는 않는 편입니다.

그리하여, 프로그램팀을 최종적으로 분류하면
- 서버
-- 컨텐츠

- 클라이언트
-- 엔진
-- 컨텐츠
-- 툴
-- UI

로 정리할 수 있습니다.

2. 기획(Game Design)
예전 모 게임사 송년회던가에서 전용준 캐스터가 사회를 보면서 모 개발팀 기획팀장이 '게임 디자인팀 팀장 xxx입니다'라고 소개하니 '그림 그리시는 분이군요!'라고 받아쳐서 그 팀장님이 뻘쭘해졌다던 그 기획팀입니다. 게임 개발에서 Game Design은 게임에 대한 디자인을 얘기하며, 이는 전투부터 BM까지 게임 전체를 아우르게 됩니다. 게임 디자인팀의 분류는 회사마다 조금씩 다르긴 합니다만, 일반적으로

- 시스템 디자인
- 컨텐츠 디자인

두 개로 나누는 경우가 많습니다.

시스템 디자인의 경우, 말 그대로 게임의 시스템을 디자인 하는 팀입니다. 캐릭터에게 필요한 전투 수치 및 전투 공식이라던가, 아이템의 밸런싱 등을 담당합니다. 회사 내에서 마이크로소프트 사의 엑셀과 가장 친한 팀이기도 하며, 넘어오는 엑셀시트에 가득 차 있는 수식을 보고 있노라면 가끔씩 머리가 아득해지는 경험을 하게 되곤 하죠. 뭐 저희야 그냥 넘어온대로 구현만 하면 되니 상관 없긴 하지만요. 흐흐.
시스템 디자인 팀은 일반적으로 하나의 팀으로 존재하거나, 팀의 규모가 어느 정도 큰 경우 전투/비전투 시스템 파트로 나누어서 작업하는 경우가 많습니다. 전투 파트에서 게임의 전투와 관련된 디자인을, 비전투 파트의 경우 그 외 시스템(길드/친구/파티 와 같은 소셜 시스템이나 생산/소비와 같은 경제 시스템)을 다루게 됩니다.

컨텐츠 디자인은 게임 컨텐츠를 채우는 역할을 합니다. 몬스터의 기획이나 배치, 맵의 디자인, 엔피씨들의 대사, 퀘스트와 시나리오 등을 이 팀에서 관장합니다. 이후에 나올 아트의 배경팀과 가장 밀접하게 작업하는 팀이기도 합니다. 내부 파트로 월드/시나리오 정도를 나누고 월드 팀에서 하는 일이 맵의 기획, 몬스터나 엔피씨의 배치 등을 담당하고, 시나리오 팀에서 엔피씨와 몬스터들에게 개성 부여, 퀘스트의 기획, 게임 시나리오 제작 등을 담당하게 됩니다.

위의 분류대로 게임 디자인 팀을 최종적으로 분류해보면,
- 시스템 디자인
-- 전투
-- 비전투

- 컨텐츠 디자인
-- 월드
-- 시나리오

정도로 나눌 수 있겠습니다.

3. 아트(Art)
제 전공이 서버 프로그래밍이다 보니, 아무래도 가장 멀리 떨어져 있는 곳이 이곳이 아닐까 합니다.(그래서 겉핥기 식으로  밖에는 모릅니다.) 게임 회사에서 여성 비율의 최다 지분을 차지하며(저희 팀의 여성 비율은 0% 입니다. 남자들은 후! 여자들은 하! 후! 후! 후! 후!) 각각의 파트가 가장 전문적으로 분화되어 있는 곳이기도 하죠.
일단 아트 팀의 경우 가장 크게

- 캐릭터
- 배경
- UI
- 이펙트

로 나눕니다. 캐릭터 팀은 캐릭터를, 배경 팀은 배경을, UI팀은 UI를, 이펙트 팀은 이펙트를 만들죠. 참 쉽죠? 이 안에서도 세부적으로 분류가 되는데, 제가 2D 게임 개발을 해보지는 않아서 2D 게임팀의 경우 어떤 식으로 분류되는지는 잘 모르고, 3D를 기준으로 설명하도록 하겠습니다.

캐릭터 팀의 경우, 원화 컨셉, 모델링, 애니메이션으로 나뉩니다. 원화 컨셉은 흔히들 보셨던 일러스트 같은 그림을 그리는 곳입니다. 마냥 예쁘게만 그리는 곳은 아니고, 해당 캐릭터의 특징과 부분부분 디테일을 다 그려내야 하죠. 일반적으로 보시는 일러스트와 다르게, 캐릭터의 앞/뒤/옆면을 모두 다 따로 그리며, 디테일이 강조되어야 하는 부분이 있다면 그 부분 확대샷 같은 것을 추가로 그려내기도 합니다. 필요할 경우 재질을 참고할만한 사진을 첨부하기도 하구요.

모델링 팀은 컨셉 팀에서 넘어온 디자인을 바탕으로 3D 모델링을 만들어 냅니다. 3D 맥스나 마야 등을 사용해서 실제 3D 캐릭터를 만들어내는 역할을 하죠. 이 때 게임이 어떤 3D 엔진을 쓰는가에 따라 노말맵이라던가 등의 지원 여부가 다들 다르기 때문에, 클라이언트 팀 - 특히 엔진팀과의 관계가 꽤 밀접한 편입니다.

애니메이션 팀은 만들어진 3D 모델에 생명을 불어넣는 역할을 합니다. 해당 캐릭터가 게임 내에서 하는 여러가지 애니메이션을 직접 만들죠. 요즈음엔 기술이 발달하여 물리 엔진이 도와줄 수 있는 영역들이 늘어나긴 하지만, 물리 엔진을 사용하는 것 자체가 꽤나 높은 시스템 사양을 요구하기도 하고, 직접 만든 애니메이션 보다는 아무래도 완성도가 떨어지는 만큼, 보조적인 수단으로만 사용하고 있습니다. (가장 쉽게 볼 수 있는 물리엔진으로 만든 애니메이션이 rag doll입니다. FPS 게임들의 사망 후 애니메이션 - 계단에서 굴러 떨어진다던가 - 이 이것으로 만들어져 있죠.)

배경 팀은 캐릭터 팀의 구성에서 애니메이션을 빼면 됩니다. 끗. 하고 넘어가면 배경 팀 분들이 서운해 하실 듯 하니, 조금 더 자세히 설명해보자면,
배경 컨셉의 경우, 캐릭터 컨셉과 지향하는 바가 다릅니다. 캐릭터 컨셉이 캐릭터의 디테일 전체를 묘사하는 것에 비해, 배경 컨셉은 말 그대로 배경의 컨셉을 표현합니다. 그곳에 있어야 할 사물들, 분위기, 색감 등을 연출하는 거죠. 그 넓은 맵을 컨셉팀이 한땀한땀 다 그려줄 수는 없잖아요? 그래서 전체적인 분위기와 함께, 배치될 오브젝트들(사막에 서 있는 석상이라던가, 동굴에 석영 조각이라던가)에 대한 컨셉을 잡아주는 거죠.
모델링 팀은 이를 바탕으로, 월드 디자인팀과 함께 게임의 맵을 만듭니다. 한땀한땀 풀을 심고, 나무를 심고, 돌을 배치하고, 산을 깎고 하는 작업을 하여 게임에서 실제 플레이 할 수 있는 세계를 만드는 거죠.

UI팀은 UI 디자인을 합니다. UX 디자이너가 있는 경우 소속이 좀 애매해지기는 하는데, 스케일폼 같은 툴 덕분에 요즘 디자인과 프로그래밍 영역을 꽤 효율적으로 분리할 수 있게 되어서, UI 디자인과 함께 연출에 필요한 프로그래밍을 이쪽에서 하는 경우가 많습니다. 그래서 UI에 필요한 기능 구현은 프로그램팀이, UI 연출은 UI팀이 하는 형태로 역할 구분을 하는거죠.

이펙트 팀은 게임에 나타나는 여러가지 이펙트를 만듭니다. 상당히 귀한 직업이기도 하고, 몸이 힘든 직업이기도 합니다. 일반적으로 이펙트가 만들어지는 단계는 보통 프로세스의 뒤에 붙는 경우가 많습니다. 캐릭터가 만들어지는 단계를 예로 들면, 기획팀에서 캐릭터 기획을 하고, 기획서를 바탕으로 캐릭터 컨셉 팀에서 컨셉을 그리고, 모델링 팀에서 모델링을 하고, 애니메이션 팀에서 애니메이션을 붙이면, 그 뒤에 각각 애니메이션에 맞는 이펙트를 붙입니다. 이 때, 이런저런 어른 들의 사정으로 스케쥴이 밀리게 되면, 밀린 스케쥴은 뒤쪽 프로세스를 담당하는 팀이 수습해야 되는데 일반적으로 그 팀이 이펙트 팀과 사운드 팀입니다. (항상 야근하는 두 팀 분들께 고맙다고 생각하고 있습니다.) 덕분에 본의 아니게 몸이 힘든 업종이 되는거죠.

3D 게임 기술이 발전하게 되면서, 아트팀에도 기술적인 역량이 많이 필요해지게 되는데, 프로그램팀과 아트팀 사이에서 가교 역할을 하는, TA(Technical Artist)라는 직업이 생겼습니다. 엔진 도입시 이런저런 리서치를 하기도 하고, 아트팀 내부에 필요한 간단한 프로그래밍을 하기도 하고, 양 팀 사이에서 커뮤니케이션 채널이 되어주기도 하는 고마운 분들입니다. 아트팀 내부에서는 주로 이펙트 팀과 모델링 팀, 애니메이션 팀 분들과 밀접하게 일하는 분들이시죠.

대충 아트팀에 속하신 분들을 다 설명드린 것 같으니, 정리를 해 보자면
- 캐릭터
-- 컨셉
-- 모델링
-- 애니메이션

- 배경
-- 컨셉
-- 모델링

- UI

- 이펙트

- TA

정도가 되겠군요.

4. 사운드
게임 내에 나오는 사운드를 담당하시는 분들입니다. 사실 제가 사운드에 대해서는 정말 아는게 없어서 자세히 설명을 못드리겠네요. (죄송합니다 사운드팀 분들.ㅠㅜ) 위에 설명드렸던 이펙트 팀 분들과 함께 주로 후반부 마감 작업 때문에 몸이 힘드신 직업이기도 합니다. 주로 하시는 일은 게임 내 작곡, 보이스 작업(성우 분들을 통해 보이스를 녹음해오면, 사운드 팀 분들이 적절하게 편집하셔서 게임 내에 삽입하십니다.), 환경 사운드(피격음이라던가, 지나가는 새소리 등등) 작업 외에 제가 모르는 많은 일들을 하십니다.

5. QA
만들었으면 밖에 나가도 문제 없을까 확인을 해야 하는데 그 작업을 하시는 분들이 이 분들이십니다. 항상 마감까지 남아서 여러가지 테스트를 해주시고, 혹시라도 예상하지 못했던 버그는 없는지, 멀쩡하게 돌아가던게 안돌아가지는 않는지, 고쳤다고는 하는데 제대로 고치기는 했는지, 같은 저희가 싼 똥을 열심히 치워주시는 고마우신 분들이죠. (똥싸서 죄송합니다.ㅠㅜ) 단순히 기능 확인 외에도, Fun QA라고 하여 이대로 만들면 재미있다던데 정말 재미있기는 한건지 직접 플레이 해보면서 테스트 해보기도 하십니다. (사실 게임 디자인 쪽 분들은 정작 게임 그닥 많이 안하세요. 소근소근....)

위에서 언급한 분들 외에도, PD 라던가 AD 라던가 하는 대외적으로 알려진 직군들이 있긴 합니다만, 실제로 게임을 만들기 위해 크레딧 화면에서 보이는 분들이 어떤 일을 하는지 간단히 적어보려고 했는데 생각보다 글이 길어졌네요. 제 짧은 지식으로 잘못된 정보를 전달했거나 했다면, 해당 직군 분들께 그저 죄송스럽다는 말씀을 드리고 싶고, 그냥 간단하고 개괄적으로 보는 직업 소개라고 생각하고 부담없이 읽어주셨으면 감사하겠습니다.



0
이 게시판에 등록된 MagnaDea님의 최근 게시물


목록
번호 제목 이름 날짜 조회 추천
505 E3 2016의 FPS 게임들에 대한 소감 2 저퀴 16/06/15 6016 1
504 [Don't Starve] 이것만 알면 원숭이도 10일내로 정착지를 만든다! 4편 1 Xayide 16/06/14 12104 3
503 [Don't Starve] 이것만 알면 원숭이도 10일내로 정착지를 만든다! 3편 1 Xayide 16/06/14 11311 2
502 [Don't Starve] 이것만 알면 원숭이도 10일내로 정착지를 만든다! 2편 2 Xayide 16/06/14 10660 3
501 [Don't Starve] 이것만 알면 원숭이도 10일내로 정착지를 만든다! 1편 6 Xayide 16/06/14 17279 4
500 홈즈전기는 아직도 오와콘인가. 2 klaus 16/06/13 5413 0
499 트위치를 다음팟으로 보기 (이미지, 2MB) 12 메리메리 16/06/12 8818 4
498 현 시점 CJ의 문제점에 대한 생각 4 김덕배 16/06/10 5878 0
497 다인큐는 어떻게 솔랭전사의 기분을 엿 같게 만드는가 4 당근매니아 16/06/08 35299 6
496 슈퍼로봇대전 V 발표 4 NF140416 16/06/04 6003 0
495 토탈 워: 워해머 리뷰 5 저퀴 16/06/03 12220 0
494 [LOL] 랭크 포지션 자동선택 도입 7 kpark 16/06/03 9660 0
493 심상치 않은 오버워치의 기세 : PC방 점유율 20% 돌파 11 곧내려갈게요 16/06/02 6686 1
492 [LOL] 오피셜 - 솔랭 도입 계획 없음. 14 kpark 16/06/01 6030 0
491 [하스스톤] 투기장 픽 기록 5 원추리 16/05/30 7432 0
490 [스팀게임 리뷰] Mini Metro - 복잡한 일상을 연결하는 퍼즐 1 Xayide 16/05/29 8918 2
489 [하스스톤] 투기장 기보 10 환상 16/05/26 7096 0
488 인생 게임 3(현재는 2)가지... 17 NF140416 16/05/26 6561 2
487 [Binding of Isaac : Afterbirth] 아이작 업적 100% 달성 후기 1 Xayide 16/05/26 8844 2
486 오버워치가 겜방 3위로 스타트를 시작했습니다 11 Leeka 16/05/25 5814 0
485 “완벽한 설계로 복수에 성공하다”…SKT vs RNG 4강 분석 1 한아 16/05/25 6227 0
484 [하스스톤] 창작덱 짜고 노는 이야기. 19 Xayide 16/05/22 6729 0
483 [Don't Starve : Shipwrecked] 굶지마 난파선 추가 캐릭터 가이드 2 Xayide 16/05/22 16201 1
482 [하스스톤]투기장 12승 기념 8 바코드 16/05/19 5929 0
481 [하스스톤] 투기장 일기 13 환상 16/05/18 7296 0
목록

+ : 최근 6시간내에 달린 댓글
+ : 최근 12시간내에 달린 댓글

댓글