디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

게임 프로그래머로 취직할사람들이 배울것들-1부

게임프로그래머(113.199) 2016.11.27 15:11:15
조회 11217 추천 24 댓글 16

최근에 회사에서 프로그래밍외에 인사업무를 하게되서(신입 서류,기술 면접 담당)

지원자들을 보다가 문득 최근 게임프로그래밍에 뛰어드는 신입이 공부 할 것들을 정리해본다.


양이 좀 많아서 2부정도 생각해보는데 별로 도움안된다고 생각하면 2부는 스킵하겠음.


아 참고로 일반적인 게임프로그래밍 이라고 하면 클라이언트프로그래머를 뜻함.


신입의 상당수가  어디든 게임학원출신이고(유명한것 몇개 쥬신아카데미,서울게임아카데미,sbs게임아카데미,게임스쿨,게임아카데미(작년인가 사라졌다고함)

게임학원의 커리큘럼이 1년정도의 짧은시간안에 학생들에게 엑기스를 주입시킨다고 보면됨.


학원마다 차이는 있지만 보통 쿼터를 나눔. 1~3쿼터 정도

보통 9~12개월짜리 코스임.


그리고 아래에 서술되는 커리큘럼은 지금은 사라진 한국콘텐츠 진흥원의 게임아카데미 방식임.


1쿼터.

1.C,C++(문법습득,활용,간단한 콘솔창으로 게임제작 - 테트리스,타자게임,텍스트기반 알피지등등)

2.윈도우 API(역시 간단한 기초지식습득후 게임제작해봄- 보통 슈팅게임)

3.MFC - 이건 요샌 가르치지 않는데도 있음. 툴자체를 C#으로 제작하는추세라서.


#위의 1~3번과 병행하면서 가르치는것들

1.자료구조(스택,큐,리스트,트리 등등의 원론적인 구현방법 설명

 - 원리는 잘 배운다음에  실제로는 각회사에서 쓰는 엔진(자체엔진포함)의 자료구조를 쓰게될것임.- 직접 저런 스탠다드 자료구조 구현하는경우는 신입에게는 없다고 본다.)

-다만 자료구조라는게 꼭 저런 스탠다드형 자료구조말고도 각 게임에 맞게 자료를 구성하는 시스템을 만드는 행위자체도 자료구조의 일종이라고 봄.

2.알고리즘(정렬,검색,Astar등등)

-이건 일종의 로직훈련이라고 보면될듯

3.네트워크

-이건 학원마다 좀차이있음

-다만 소켓프로그래밍의 기초정도는 일반적으로 가르치더라고

-10인접속되는정도의 슈팅게임 제작(정말 간단하게 입장,채팅,슈팅되는정도)

4.게임기획

-실제 게임회사에서는 기획문서를 가지고 프로그래밍을 하기때문에

기획이 어떤식으로 이루어지는지를 간단하게나마 이해하기 위해서..

5.게임기초 수학

-행렬,벡터,삼각함수 등등

-왜하냐면 2쿼터를 위해서 함. (3d공간)


그리고 1쿼터안에 2d프로젝트를 팀과 협업해서 수행함

게임아카데미의 경우는 기획,프로그래밍,아트가 모두 있었기 때문에 파트별 협업으로 프로젝트 완성함.

일반적인 다른 학원들은 프로그래밍끼리 알아서 그래픽자료 긁어와서 한다.


2쿼터

그래픽스API(쉽게 말해 다이렉트x,opengl)

근데 사실 요즘엔 워낙 엔진프로그래밍 시대다보니 스킵하고 바로 유니티같은걸로 넘어가는데도 있긴함

하지만 내생각엔 저런 로우레벨 api가지고 자체엔진(이라고 쓰고 프레임워크)제작 해보는게 나중을 생각하면 훠얼씬 도움됨

결국 자체엔진을 허접하게나마 띄워본사람은 상용엔진에 대한 이해도가 확연하게 차이가남.


보통은 다이렉트9(아직도 9다..)를 가지고 자체 프레임워크를 제작함

쉽게 말해 미니엔진 프로그래밍이라고 보면됨

여기서부터는 1쿼터랑 달리 거의 스스로 만들어가는 과정이라고 보면됨

간단히 나열해보자면


1.C++을 가지고 기본 게임업데이트 루프를 제작함


2.Scene구조(레벨구조)확립


3.3d공간에 대한 이해

-행렬,벡터 - 수학수업은 계속된다..

- 월드->뷰->프로젝션으로 이어지는 3d공간에 물체를 투사하는 과정에 대한 깊이있는 이해.

-결국 로우레벨 api가 하는일은 점(vertex)사이의 선(line)을 그리는게 전부라는 사실을 이해.


4.렌더링파트

-기본적으로 api함수들을 가지고 화면에 3d물체를 그리는 작업

-익숙해지면 렌더링 파이프라인에 대한 깊이있는 이해와 테크닉을 습득

-셰이더 연구

현재 게임들은 셰이더없이는 안돌아간다고 봐도 될정도.

dx9.0을 많이 쓰는 관계로 무려 셰이더 2.0을 가지고..수업함

프레임마다 그리고 지우는걸 반복하는 특성상

렌더링업데이트 순서를 잘 정의해서 프레임워크를 구성한다.

-이펙트는 보통 아예 따로 생각하는게 좋음

이펙트툴을 직접 제작하거나 안된다면 적어도 에셋을 쉽게 넣을수 있는 매니저구조라도 확립할것.

-애니메이션

상당히 토나오는 작업. 6번의 외부에셋포팅을 해결한 뒤에 수행한다.

아트팀에서 제작한 캐릭터들의 다양한 애니메이션을 재생할수 있는 시스템 구축.


5.입력(input)처리

마우스,키보드등의 이벤트를 처리하도록 매니저를 작성

기본적으로 directxinput을 쓰는데 가끔 패드게임 만드는 친구들은 xinput붙여서 패드도 구동하게 함(잘은 없음)

기본 클래스는 제공되지만 결국 사용자가 쓰기편하게 커스터마이징을 해야됨


6.외부에셋포팅(3d모델자료)일반적으로 3d게임을 만드려면 외부 모델링툴을 가지고 캐릭터,배경등을 만들고 그걸 엔진에서 읽어야함.

한국은 99%가 3dsMax를 사용(외국은 maya,blender등도)

결국 포팅을 하려면 3dsMax자체에 대한 이해도가 어느정도 수반되어야함.

max에서 제작한 파일들은 다양한 형태로 포팅이 되는데 업계표준은 보통 fbx를 사용.

다만 학원에 따라서는 학생의 공부차원에서 ase를 사용하기도함.(문자열 파싱에 대한 확실한 베이스를 다지기 위해)


결국 max에서 넘어오는 자료는 vertex의 좌표와 거기에 입혀진 텍스쳐의 좌표임

추가로 노말맵,알파맵등의 멀티 텍스쳐를 쓰는경우 파싱이 좀더 복잡해짐

이것들을 엔진에서 인식할수 있도록 바이너리로 저장하는 루틴이 필요함


7.사운드

보통은 directx사운드를 간단하게 써도 되지만

fmod같은 개인사용자에게 무료배포되는 상용라이브러리를 써도됨


8.충돌시스템

이부분은 물리시스템을 도입하지 않을경우 직접 구현해야함

AABB,OBB,Sphere,점과 면, 점과선,선과 구체 등등 다양한 경우의 충돌검사 루틴지정

추가로 Layer개념까지 도입하고 태그시스템까지 해놓으면 최적화부분에서 굿.


9.물리시스템

이건 선택임

다만 피직스X나 Bullet같은 외부 물리 라이브러리를 한번 붙여보는게 공부가 많이됨

필자는 Bullet을 한달동안 고생해서 낑낑데면서 붙인기억이 있는데 하고나니까

상용엔진의 물리시스템을 이해하는데 엄청나게 도움이 되었음.

(참고로 유니티,언리얼4엔진모두 피직스X를 사용)


10.각종툴제작

위에서 말한 렌더링파트는 특히 아트팀과 협업한다면 툴을 제작해보는게 좋음

아트가 자신이 작업한 fbx,ase파일을 열면 자동으로 파싱되서 월드에 해당 에셋이 뜨게 하고

버튼컨트롤등을 추가해서 셰이더를 변경하고

애니메이션을 키프레임별로 확인하고 하는 작업을 하게 해주면 아주 좋음(신입 면접때 아주 좋은 평가를 받음)


11.오브젝트풀,레퍼런스카운터 제작

알다시피 실시간 heap영역에 대한 메모리 할당은 최소화하는게 좋고

그래서 오브젝트풀,메모리풀등을 사용하는데 학생레벨에서는 오브젝트풀만 알아도 수준급임

그리고 C++의 특성상 메모리를 직접 관리하다보니 할당한 메모리를 깜박하고 해제 하지 않는 경우가 많음.

그래서 sharedpointer를 사용하거나 아니면 간단하게 레퍼런스카운트(참조숫자- 즉 내가 할당한 메모리가 현재 몇군데서 쓰이는지를 기록)를 가지고

메모리 사용이 끝난 객체를 자동해제되는 루틴을 심어두는 방식을 연구해보는게 좋음.


12.위 사항들을 토대로 게임아이디어(기획)을 가지고 게임제작

보통 1달혹은 2달까지의 시간을 주고 게임을 제작


몇가지 빼먹은것도 있지만 대충 다 쓴거 같음

여기까지가 상용엔진 사용전에 공부할것들이고

실제로 회사가면 유니티,언리얼4,크라이,게임브리오,그회사의 자체엔진,등등을 사용해서 게임을 만듬.

아예 엔진부터 제작해서 만드는 경우는 신입에게는 사실상 어렵다고 보면됨(신입에게 엔진제작을 안시키니까)


반응이 괜찮으면 다음편엔 상용엔진에 대해서 공부할것들을 써보겠음.


추천 비추천

24

고정닉 3

1

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 며느리, 사위되면 시댁, 처가에 잘할 것 같은 스타 운영자 25/10/13 - -
AD 프로게이머가 될테야!! 운영자 25/10/01 - -
공지 프로그래밍 갤러리 이용 안내 [96] 운영자 20.09.28 47930 65
2896439 진중권이 말하는 극좌 ♥덩냥이♥갤로그로 이동합니다. 23:16 8 0
2896438 아니 존나 신기한게 124.48 쟤 댓글 달리고 비추가 갑자기 폭증함ㅋㅋ ㅆㅇㅆ(124.216) 23:13 16 0
2896435 이거 강의 언제 어디서 듣나요 발명도둑잡기(118.216) 23:10 6 0
2896434 냥덩이는 털바퀴가 된당⭐+ 7화 ♥덩냥이♥갤로그로 이동합니다. 23:09 6 0
2896432 안목 유튜브 보고 스포이더로 똑같이. 넥도리아(220.74) 23:06 8 0
2896431 [공지] 나님.. 이 모든 사태에 대해 책임지고 탈갤합니당.. ♥덩냥이♥갤로그로 이동합니다. 23:04 17 0
2896428 냥덩 도배 발명도둑잡기(118.216) 22:53 11 0
2896427 냥덩아 적당히해 [3] 개멍청한유라갤로그로 이동합니다. 22:45 30 0
2896424 샤미 “K-팝은 더 성장할 것…韓 아티스트 영입 검토” [1] 발명도둑잡기(118.216) 22:29 14 0
2896420 현시대는 토발즈도 1찍 짱깨편인 무서운 시대이다ㅋㅋ번식 더 해줘라 이기 타이밍뒷.통수한방(1.213) 22:23 8 0
2896418 [공지]냥덩강점기 종료~ 나님 야구 보면서 잘 놀다갑니당~ ♥덩냥이♥갤로그로 이동합니다. 22:20 16 0
2896417 비선실세 국정농단 의혹 김현지 제보 받습니당⭐ ♥덩냥이♥갤로그로 이동합니다. 22:18 20 1
2896416 와 벌써 시간 이렇게 됐네 잘 준비해야지 [2] chironpractor갤로그로 이동합니다. 22:16 20 0
2896415 김광현 ㅋㅅㅋ ♥덩냥이♥갤로그로 이동합니다. 22:15 12 0
2896414 18년인가 양현종 마무리 우승이 ㄹㅇ 소름끼쳤는데 ♥덩냥이♥갤로그로 이동합니다. 22:13 8 0
2896413 애널 야구 좀 싱겁게 끝나서 아쉽 ♥덩냥이♥갤로그로 이동합니다. 22:12 8 0
2896412 김서현도 공이 빠른건 맞긴한데 제구 구리다던데 ♥덩냥이♥갤로그로 이동합니다. 22:11 9 0
2896411 폰세 막판에 퍼진거 같던데 ♥덩냥이♥갤로그로 이동합니다. 22:07 9 0
2896410 폰세 1차 나오면 삼성 1차전은 버리려나보네 [6] ♥덩냥이♥갤로그로 이동합니다. 22:07 22 0
2896409 타자들이 투수에 익숙해지면 불리 하니까 ♥덩냥이♥갤로그로 이동합니다. 22:05 9 0
2896408 김경문 감독이 우승하려고 폰세 약팀만 보냇다네 ♥덩냥이♥갤로그로 이동합니다. 22:04 8 0
2896407 폰세가 빠따 강한팀은 일부러 빼왓다는데? ♥덩냥이♥갤로그로 이동합니다. 22:03 8 0
2896406 삼성유튜브 보니까 개웃기넹 ㅋㅅㅋ ♥덩냥이♥갤로그로 이동합니다. 22:02 10 0
2896405 큰경기에 강하고 작은경기에 약한;; ♥덩냥이♥갤로그로 이동합니다. 22:01 11 0
2896404 근데 국내트로피는 없응 ♥덩냥이♥갤로그로 이동합니다. 21:59 9 0
2896403 2008년 올림픽 우승이 김경문이었네 ㄷㅅㄷ ♥덩냥이♥갤로그로 이동합니다. 21:58 9 0
2896401 기아를 김성근 감독 맡으면 어떨까? ♥덩냥이♥갤로그로 이동합니다. 21:57 9 0
2896400 시발 크로스 컴파일 성공해서 자랑하러 왔더니 갤 난장판이네 프갤러(110.8) 21:57 16 0
2896399 빠와까가 미치는 슈퍼스타 ♥덩냥이♥갤로그로 이동합니다. 21:56 10 0
2896397 김성근 감독이 돌아와야 잼난데 ♥덩냥이♥갤로그로 이동합니다. 21:55 9 0
2896396 넥센때부터 다 강팀 만들어 놓음 ㄷㅅㄷ ♥덩냥이♥갤로그로 이동합니다. 21:54 9 0
2896395 게시글 단 3개 [2] ㅇㅇ(122.199) 21:54 26 0
2896394 엄석대=박근혜. 신임 교사=윤석열 [1] 프갤러(110.8) 21:54 19 0
2896393 엄갈량이 지금 한국 최고 감독이 맞긴한듯 ♥덩냥이♥갤로그로 이동합니다. 21:54 9 0
2896392 버핏인덱스 보니까 218%더라 이거면 완전 나스닥 거품이라는건데 ㅆㅇㅆ(124.216) 21:54 17 0
2896390 류현진이 김광현 양현종보다 나이 많은데 평자 ㄷㅅㄷ 메이저리거 ♥덩냥이♥갤로그로 이동합니다. 21:52 12 0
2896389 류현진이 레전드는 레전드네 ♥덩냥이♥갤로그로 이동합니다. 21:51 10 0
2896388 대승엽 ♥덩냥이♥갤로그로 이동합니다. 21:49 10 0
2896386 이승엽은 전라도라 서울팀 간건가? ♥덩냥이♥갤로그로 이동합니다. 21:49 10 0
2896385 이범호던 이승엽이던 감독짬은 아니지 ♥덩냥이♥갤로그로 이동합니다. 21:47 10 0
2896384 손아섭 우승 한번도 못햇네 ㄷㅅㄷ ♥덩냥이♥갤로그로 이동합니다. 21:46 9 0
2896383 솔직히 작년응 심판이 기아 우승 시켜준거라 ♥덩냥이♥갤로그로 이동합니다. 21:46 9 0
2896381 ㅅㅂ 모기잇나? ♥덩냥이♥갤로그로 이동합니다. 21:44 9 0
2896380 준플 연기될듯? ♥덩냥이♥갤로그로 이동합니다. 21:44 9 0
2896379 롯데도 올해 레전드긴 레전드넹 ♥덩냥이♥갤로그로 이동합니다. 21:42 10 0
2896378 애초 와일드가 몇년된거지? ♥덩냥이♥갤로그로 이동합니다. 21:41 11 0
2896377 와일드로 와서 우승한 팀이 없지않나? ♥덩냥이♥갤로그로 이동합니다. 21:40 10 0
2896376 한국시리즈 찍어보느냐가 궁금하네 ♥덩냥이♥갤로그로 이동합니다. 21:40 11 0
2896375 한국 자칭 우파 일베들은 우리들의 일그러진 영웅 보면 다 이해된다. [1] 프갤러(110.8) 21:40 24 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2