• 회원가입
  • 로그인
명예 멘토 멘토 찾기 콘텐츠 클래스 온라인 클래스 LIVE 대학교육 NEW 멘토 지원하기 로그인
온라인으로 취업 고민을 끝내는 가장 확실한 방법
온라인 클래스 보러가기
#IT개발 #스펙

게임 개발자, 무엇을 어떤 순서로 공부해야 할까요?

안녕하세요, 멘토님. 이제 2학년이 되는 컴퓨터공학부 학생입니다. 저는 게임 개발자가 되고 싶은데요. 무엇을 공부하고 준비해야 할지 막연하던 와중에 잇다를 알게 되었고, 현직에서 일하시는 멘토님을 찾게 되었습니다. 
 

ⓒCraig Garner


1. 게임 개발자가 되기 위해서는 C, C++, C#, JAVA, 자료구조, 알고리즘, 라이브러리, API, 게임수학을 공부해야 한다고 알고 있습니다. 어떤 순서로 공부를 하고 어느 정도 수준까지 공부해야 하는지 알고 싶습니다. 그리고 추가적으로 공부하면 좋은 것이 있을까요?
 
2. *유니티나 *언리얼 같은 툴들은 위의 내용을 전부 공부한 뒤에 공부하는 것이 좋을까요? 그리고 공부할 때 학원에 다니는 것은 어떤가요?
 
3. 자체 엔진을 이용하는 게임 회사들도 있다고 들었는데, 그런 경우에도 유니티나 언리얼을 통한 공부가 도움이 되나요?
 
4. 찾아보니 게임 개발자로 취직을 하기 위해서는 포트폴리오를 준비하는 경우가 대부분인 것 같은데요. 구체적으로 어떤 포트폴리오를 준비하는지 알고 싶습니다.
 
5. 포트폴리오 이외에 신입으로 준비할 수 있는 것은 무엇이 있나요?
 
6. 이건 정말 소심한 질문인데요. 사실 저는 수도권의 별로 좋지 않은 학교의 학생입니다. 그래도 게임 업계는 경험이나 능력적인 부분을 많이 본다고 듣긴 했는데요. 실제로 그런지 정말 궁금합니다. 만약 학력 부분이 문제가 된다면 재수나 편입을 하더라도 게임 개발자가 되고 싶거든요.
 
인터넷에서는 답을 찾을 수 없었던 질문을 할 수 있어서 다행이에요. 멘토님의 현실적인 조언 부탁드리겠습니다. 감사합니다.


 
*유니티 : 유니티(Unity)는 3D 및 2D 비디오 게임의 개발 환경을 제공하는 게임 엔진이자, 3D 애니메이션과 건축 시각화, 가상현실(VR) 등 인터랙티브 콘텐츠 제작을 위한 통합 제작 도구이다.

*언리얼 : 언리얼 엔진(Unreal Engine)은 미국의 에픽 게임즈에서 개발한 3차원 게임 엔진이다. 1994년부터 현재까지 꾸준한 개량을 통해 발전되고 있으며, 수십 개의 비디오 게임에 사용되고 있는 미들웨어 솔루션이다.

곽준원 멘토의 답변


안녕하세요, 멘티님. 다양한 프로그래머 직업 중에 게임 업을 선택하시고 공부하고 계시군요. 저의 글이 게임 개발자가 되는 길에 조금이라도 보탬이 되었으면 좋겠네요. 그럼 바로 답변드려 볼게요.
 

ⓒfabian grohs


우선 C와 C++을 중심으로 공부하세요
첫 번째 질문부터 보면요. 프로그래밍 언어는 굉장히 다양하고 하나의 언어를 깊이 있게 공부하고 습득하기 어려워요. 그렇기 때문에 여러 언어를 하기보다는 우선 C, C++를 주로 하시면 좋겠어요. 물론 모바일 플랫폼에서는 JAVA도 필요하고, 또 다양한 툴 제작과 유니티 엔진을 이용한 게임 개발에서는 C#을 사용하긴 하지만, 우선은 C++를 깊게 이해하시면 좋겠어요. 즉, 객체 지향 개념을 명확히 이해하셔야 한다는 거죠.
 
그리고 자료구조, 알고리즘, 게임수학의 공부 순서는 정해져 있지 않아요. 프로그래밍은 프로그래밍 언어, 자료구조, 알고리즘, 수학이 모두 연계되어 있는 집합체이기 때문에 공부 순서는 중요하지 않거든요.
 
프로그래밍에는 정답이 없지만, 상당히 괜찮은 코드라는 것은 존재해요. 자신의 코드가 이런 괜찮은 코드로 변화하기 위해서는 다양한 자료구조와 알고리즘, API 활용 능력이 필요하죠. 어느 정도 수준이라는 기준은 사실 정해진 바가 없어요. 다만 수준을 향상시키기 위한 방법은 존재하죠.
 
그 방법이란 이런 거예요. 우선은 학교에서 주어진 과제를 충실히 수행하시고요. 과제로 주어진 문제를 해결하였다고 멈추지 마시고 조금 더 좋은 코드를 생산하기 위해 어떤 자료구조와 알고리즘을 사용해야 할지 고민하고 설계해 보는 거죠.
 
그리고 학부생 시절 공부했던 내용, 그리고 자신이 고민하고 개선했던 코드와 방식을 필히 노트에 적어놓으시거나 메모라도 해 놓길 추천드려요. 또 학부생 시절의 이러한 코딩에 대한 경험을 나중에 자기소개서에서 활용하면 좋아요.
 
게임 프로그래머는 클라이언트와 서버로 구분할 수 있는데요. 각 직군에 대한 주요 지식이 조금씩 달라요. 학부 시절에 배우는 커리큘럼은 서버와 클라이언트 프로그래머가 되기 위한 기본 소양이라고 보시면 됩니다.


ⓒtj arnold


유니티, 언리얼. 두 가지 공부법이 있어요
다음으로는 유니티와 언리얼 엔진에 대해서 말씀드릴게요. 위에서 말씀드린 공부를 하면서 이 두 개의 툴을 이용해 다양한 공부를 병행하는 것도 괜찮은데요. 이런 엔진을 공부하는 방법 역시 다양해요.
 
여기에는 실제 엔진이 제공하는 다양한 요소의 동작 방식을 분석하는 방법과 엔진이 제공하는 요소를 이용하여 게임을 만드는 방법이 있어요.
 
전자를 생각하고 있다면 그래픽 관련 공부를 병행해야 해요. 후자라면 툴을 익히고 게임 프로젝트를 생성하여 자신의 게임을 차근차근 만들어보며 공부할 수 있죠. 3D 그래픽 기술을 직접 공부하기에는 진입장벽이 조금은 높을 수 있어요. 이러한 경우에는 학원의 도움을 받는 것도 괜찮습니다.
 
참고로 언리얼 엔진은 오픈소스로 제공되지만, 유니티는 엔진을 살펴볼 수 없어요. 그저 API로 제공되는 엔진의 함수를 가져다 사용해야 하죠. 엔진을 공부하시고 싶으시다면 언리얼 엔진을 선택하시고, 자신의 간단한 2D나 3D 게임을 만들어보고 싶으시다면 유니티 엔진을 추천합니다.
 
자체 엔진 게임 회사라도 유니티, 언리얼은 도움이 돼요
세 번째 질문에서는 자체 엔진 게임 회사를 언급하셨는데요. 자체 엔진을 이용하더라도 구성 요소는 유니티, 언리얼과 크게 다르지 않아요. 결국 같은 3D 그래픽 기술의 원천은 별반 다르지 않다는 거죠.
 
위에서 유니티와 언리얼의 공부에는 두 가지 방법이 있다고 말씀드렸는데요. 그중 그래픽 관련 공부를 하신다면, 자체 엔진을 이용한 개발사에서도 충분히 역량을 발휘할 수 있을 거예요.
 
그리고 혹시 엔진 공부가 어렵다고 생각하실 수 있는데요. 낙담하지 않으셔도 됩니다. 엔진을 이용하여 게임 콘텐츠를 구현하실 수 있으면 자체 엔진을 이용하는 개발사에서도 그리 어렵지 않게 적응할 수 있을 테니까요.

ⓒpinho


포트폴리오, 졸업 프로젝트로 충분히 가능
네 번째 질문은 포트폴리오에 관한 것이네요. 포트폴리오는 자신이 지금까지 어떤 프로젝트에서 어떤 구현을 맡아서 했고, 자신이 설계한 코드가 어느 부분인지 보여주는 걸 말해요. 보통 이력서에는 자신이 작성한 코드, 즉 CPP 파일을 첨부하죠.
 
학교를 졸업한 후에 학원에 다니는 취준생들을 보면 대부분 학원에서 프로젝트로 참여한 내용을 포트폴리오로 제출하는데요. 그럼 학부생들은 어떻게 해야 할까요? 모두 학원에 다녀 포트폴리오로 제출할 프로젝트를 생산해야 할까요?
 
저는 꼭 그렇지는 않다고 봐요. 학원에서는 인원을 정하고 자신들이 만들고 싶은 게임을 프로젝트로 정하는데요. 학원생은 학부생처럼 시험을 보고 학점을 얻어야 하는 상황이 아니라서 프로그래밍에 전념할 수 있다는 장점이 있지만, 학부생도 마지막 졸업 프로젝트에 충분히 시간을 할애할 수 있다고 생각해요.
 
학교에서 진행하는 수업에서 하는 프로젝트는 간단하지만 상당히 중요해요. 그저 학점을 얻기 위해 하는 프로젝트와 발표, 과제가 아니라 자신의 실력 향상을 위한 단계라고 생각하셨으면 좋겠어요.
 
개발 경험을 이력서에 구체적으로 담으세요
다음으로는 신입으로 준비할 수 있는 것에 대해 말씀드릴게요. 여기에는 꼭 프로그래머뿐만 아니라 여느 직군에서든 마찬가지로 중요한 요소가 있어요. 바로 학부생 시절의 경험을 고스란히 녹여낼 수 있는 이력서인데요.
 
사실 경력자분들도 자신이 해온 일에 대해 자세히 쓰지 못하고 말하는 능력도 부족한 분들이 많아요. 앞서 이야기했듯이 자신이 게임을 만들기 위해 노력한 내용을 고스란히 이력서에 담으면 좋겠어요.

ⓒpatrick perkins


예를 들어 어떤 게임을 만들기 위해 생각한 내용, 프로그래밍을 하면서 해결한 버그, 게임 콘텐츠의 어떤 구성 요소를 구현하기 위해 사용한 알고리즘, 자료구조, 그리고 완성 후에 코드 개선을 위해 노력한 흔적이 이력서에 담겨 있으면 좋겠어요.
 
신입에게는 대단한 능력을 원하지 않아요. 그저 어느 기간 동안 얼마큼의 성장을 이루었는지에 대해 자신을 어필하면 되는 거예요.
 
학력보다는 실력이 우선이에요
마지막 질문에서는 학력에 대한 걱정을 해 주셨네요. 실제로 회사 중에서는 실력보다 스펙을 중요시하는 곳도 있어요. 스펙과 실력 둘 중 어떤 것이 나은지 정확하게 판단하기는 어려운 거죠.
 
하지만 최근에는 블라인드 채용으로 스펙보다는 실력을 높게 평가하는 기업이 늘고 있어요. 저도 수도권의 그저 그런 학교의 전산학과를 졸업했는데요. 예전에는 서울 소재의 대학으로 편입도 생각해봤고 학교에 다니며 수능시험도 다시 치러봤어요.

ⓒfreepik


하지만 지금은 그런 노력의 시간이 조금은 아깝다는 생각이 들어요. 대학의 간판을 바꾸기 위해 공부하는 시간이 게임 개발자가 되기 위해 필요한 지식을 습득하는 시간으로 되면 좋겠어요.
 
요즘 개발사에서는 대부분 코딩테스트를 봐요. 아무리 대학 간판이 좋다고 하더라도 코딩테스트를 통과하지 못하고 프로그래밍 능력이 부족하다면 채용하지 않는 분위기죠. 게임 콘텐츠를 개발하기 위한 정형화된 방법은 없어요. 각 게임마다 아이템, 스킬, UI/UX, 콘텐츠가 모두 다르기 때문에 파생되는 기획 데이터의 구성도 다를 수밖에 없거든요.
 
그렇기 때문에 문제 해결 능력이 필수 요소로 부각될 수밖에 없어요. 학교에서 다양한 프로젝트의 다양한 문제를 접해 보며 해결하지 못한다고 주저앉지 마시고 하나씩 해결하면서 능력을 배양하고 성취감을 느끼시길 바랍니다.
 
자신이 처음 구현한 내용이 화면에 보이면 그 순간은 영원히 기억에 남을 거예요. 꼭 좋은 결과 있길 바랄게요. 감사합니다.
 
답변이 궁금한가요?
지금 무료로 확인하세요!
답변 보기
©모든 저작권은 해당 콘텐츠 제공자 또는 해당 콘텐츠 제공자와 잇다가 공동으로 보유하고 있으며, 콘텐츠의 편집 및 전송권은 잇다가 가지고 있습니다.
11
IT개발
곽준원 멘토
웹젠 · 클라이언트팀
http://blog.naver.com/ssmile1006
게임개발 16년차 클라이언트 프로그래머입니다.
게임개발에 대한 전반적인 필요 지식 및 조언을 해드립니다.
그리고 '취업'이 아닌 '직업'을 찾을 수 있도록 도움을 드리고 싶습니다.
네이버 엑스퍼트
http://naver.me/FEJga3x4
더보기
#직무 #진로 #회사생활 #기타
팔로우 답변 중
취업고민 즉문즉답 온라인 클래스 클래스 더보기
정지훈 멘토
삼성바이오로직스
4.76 (17)
알림받기
생산/품질/제조 · 직무 특강
제약산업 현직자가 알려주는 생산/품질관리 직무 특강

4.27(화) 19:00
온라인
2021 삼육대학교
김왕건 멘토
BGF리테일
4.81 (27)
10일 후 마감
영업/영업관리 · 직무 특강
프랜차이즈 유통업 현직자가 전하는 영업/영업관리의 모든것

4.28(수) 19:00
온라인
2021 삼육대학교
서승연 멘토
포스코인터내셔널
4.7 (20)
알림받기
해외영업 · 직무 특강
대기업 실무자와 함께 해외영업 직무 탐색하기

4.27(화) 19:00
온라인
2021 삼육대학교
이옥찬 멘토
아모레퍼시픽
5.0 (1)
알림받기
인사/총무/노무 · 직무 특강
인사 담당자에게 듣는 인사 직무의 모든 것

4.28(수) 19:00
온라인
2021 삼육대학교
오리지널
조아진 멘토
카카오모빌리티
4.93 (14)
알림받기
전략/기획 · 직무 특강
🚀 잇다 Original | 유명기업 현직자와 전략/기획 직무 파헤치기

4.29(목) 19:00
온라인
잇다
클래스 더보기
함께 보면 좋은 콘텐츠 콘텐츠 더보기
IT개발
소프트웨어 개발자가 되는 4가지 루트!
멘토님, 안녕하세요. 소프트웨어 개발자가 되고 싶은 22살 청년입니다. IT에 관심이 생겼고 소프트웨어 개발자라는 꿈을 가지게 되었습니다. 하지만 IT 회사에 취업하기 위해서 어떻게 준비를 해야 할지, 소프트웨어 개발자가 되기 위해 어떤 자격증과 기술을 갖춰야 하는지 몰라 너무 막막합니다.
멘토
IT개발
8
IT개발
준비가 덜 된 IT개발 지원, 휴학해 실력을 쌓을까요?
학교 다닐 때는 프로그래밍이 너무 어렵게 느껴져 소프트웨어 개발은 저와 맞지 않는다고 생각했지만, 지금은 개발이 좋고 열심히 하고 싶습니다. 부끄럽지만 학부 수업에서 한 프로젝트를 제외하면 당당히 말할 수 있는 프로젝트도, 인턴 경험도, 공모전 경험도, 입상 경험도 없었습니다.
멘토
IT개발
5
IT개발
안드로이드 개발 직무, 비전공자는 어떻게 준비해야 할까요?
안드로이드 개발 직무 쪽으로 취업을 준비하고 있습니다. 비전공자이고, 4학년 때부터 자바와 안드로이드를 공부했어요. 안드로이드 개발 직무 취업을 위한 포트폴리오를 만들던 중, 여러 개발자의 포트폴리오를 봤습니다. 신입 개발자인데도 안드로이드 개발 관련 언어나 프로젝트들이 다양해 제 실력이 떨어지는 건 아닌지 걱정됩니다.
멘토
IT개발
6
IT개발
SI업무, 어떤 프로그램 언어와 자격증이 필요할까요?
SI업체(시스템통합업체)로 취업하기를 결심했고, SI 취업을 위해 노력 중 입니다. SI 업무를 위해 어떤 언어와 어떤 자격증을 공부할지 고민이 생겨 질문드립니다. 통계, 테이터 쪽을 강점으로 잡고 포트폴리오를 만들 생각입니다. 그렇다면 분산처리시스템 언어로 많이 사용되는 java를 공부하는 게 c++보다 이득일까요?
곽동훈 멘토
Samsung SDS · ERP컨설팅
7
IT개발
비전공자 IT 개발자, 취업 가능한가요?
산업공학과 졸업 후 비전공자로 IT개발자에 도전하고 있습니다. 정보처리기사 자격과 토익점수를 취득했고, 6개월간 자바 프레임워크 교육 과정을 수료하며 웹사이트와 안드로이드 프로젝트를 수행했습니다. 헌데 전공지식이 부족해 비전공자 IT 개발자로 취업이 될지 불안합니다. 비전공자 IT 개발자가 어떻게 취업 대비하면 좋을까요?
박재선 멘토
現)현대카드 / 前)삼성SDS · BigData팀
14
IT개발
통계 분석 직무, 프로그래밍 언어를 배워야 할까요?
통계 분석 직무는 평소 데이터 분석 도구보다는 분석 자체가 더 중요하다 생각했는데, 통계 분석 관련 직무는 SW 직군으로 뽑는 경우가 많았습니다. 그래서 프로그래밍 언어를 따로 배워서 SW직으로 지원해야 할지 고민입니다. 현직자의 시각에선 어떤지 조언듣고 싶습니다.
박재선 멘토
現)현대카드 / 前)삼성SDS · BigData팀
9
콘텐츠 더보기
멘토가 되어 보세요.
취준생, 사회초년생에게 멘토님의 커리어 경험을 공유해 보세요.
멘토 지원하기
  • 회사소개 · 이용약관 · 개인정보 처리방침 · 고객센터
대표번호: 02-2653-1022 (10:00 ~ 19:00) / 점심시간: 13:00~14:00 (주말 및 공휴일 휴무)
㈜레디앤스타트 | 사업자등록번호 : 117-81-82177 | 대표 : 조윤진 서울 종로구 종로 51 종로타워 23층

© 2020 itdaa