멘토지원
파트너스
현직자 클래스
멘토 찾기
Best 질문답변
클라이언트 프로그래머 -알고리즘&엔진 학습법 및 자격증에 대한 궁금증
AST홀딩스 · 디지털리얼리티 연구소
약 5년 전
💬 멘티의 질문

멘토님 안녕하세요. 저는 컴퓨터 과학과를 다니다가 현재 휴학 중인 학생입니다. 클라이언트 프로그래머가 되고 싶어 준비하던 중 궁금한 게 생겨서 이렇게 질문을 남기게되었습니다.

 

Monstar Studio

 

1. 알고리즘 공부 같은 경우 백준과 같은 사이트에서 문제를 많이 풀어보는 게 좋을까요? 아니면 게임알고리즘 관련 책을 구매해서 공부하는게 좋을까요?

 

2. 정보처리 기사나 한국콘텐츠진흥원의 게임 프로그래밍 전문가 자격증을 따는 게 도움이 되나요?

 

3. 현재 유니티 엔진을 공부 중인데 언리얼 엔진까지 다뤄보는게 좋을지, 유니티 엔진을 꾸준히 공부하는게 좋을지 고민입니다.

 

4. 포트폴리오용 게임 개발을 할 때 기존에 존재하는 게임을 모방해서 만드는 것도 상관없나요?

 

멘토님의 현실적인 조언을 부탁드리며 저의 고민을 읽어주셔서 감사합니다!


💬 곽준원 멘토의 답변


안녕하세요. 멘티님, 클라이언트 프로그래머1) 직업을 준비 중에 계시는군요. 우선 질문에 답하기에 앞서 멘티님 상황을 조금 더 자세히 알려주시면 답변을 보다 수월하게 할 수 있을 것 같아요. 

 

예를 들어 클라이언트 프로그래머가 되기 위해 어떤 준비를 진행하고 있고, 또는 어떤 준비를 했는지 언급해주시면 보다 맥락에 맞는 답변을 할 수 있지 않을까 해요! 

 

Photo Kozyr

 

알고리즘 공부 방법

학습 방법에는 여러 방법이 있어요! 전문가의 강의를 들으며 지식을 습득하는 방법과 책을 읽고 더디지만 자신이 직접 해보며 알아가는 방법이 있습니다. 전자가 백준 사이트에서 문제를 풀고 강의를 듣는 방식이고, 후자가 책을 구입하여 공부하는 방식이겠지요. 학습 방법에는 정답이 없습니다. 하지만 조금 효율적인 방법이 존재할 수 있겠죠?

 

일단 저는 책을 읽고 모르는 분야는 전문가의 강의를 듣는 방법을 택했어요. 혹은 구글의 검색을 통해 해결하려고 합니다. 

 

알고리즘은 다양한 자료구조를 이용하여 문제를 해결하는 로직이니까 다양한 문제를 많이 접해보셨으면 좋아요. 그리고 본인의 힘으로 해결할 수 있는 능력을 최대한 키우면 클라이언트 프로그래머에 조금 더 가까워지지 않을까 합니다. 

 

그런 과정 중에 다른 분들의 코드도 살펴보고 백준 사이트의 문제도 더불어 풀어보며 전문가의 강의도 들어보면 알고리즘이 어렵지 않게 느껴지실 겁니다.

 

9dream studio

 

자격증 자체가 취업에 직접적 영향을 주는 것은 아닙니다

게임프로그래밍전문가 자격증을 소지하고 있지 않아서 질문의 핵심을 파악하기 어렵지만 답변을 드려보도록 하겠습니다. 자격증을 취득한다고 해서 취업에 직접적인 이득을 보는건 아닙니다. 

 

이력서 자격증란에 한 줄 자격증 이름이 들어가는 것 뿐이겠지요. 하지만 게임프로그래밍 전문가 자격증을 취득하기 위한 학습 과정에서 도움이 될 수도 있을지도 몰라요. 

 

제가 자격증 공부를 해본 경험이 없어서 자격증을 취득하는 과정이 도움이 될지는 잘 모르겠어요. 하지만 자격증이라는 스펙 자체가 게임프로그래머 취업에 이득을 주진 않습니다!

 

BlueSkyImage


엔진 : 동작 방식과 제공 기능을 알 것

유니티, 언리얼 엔진 툴을 이용하여 다양한 공부를 병행해보는 것도 괜찮습니다. 단, 엔진을 공부하는 다양한 방법을 알아야 합니다. 

 

실제 엔진이 제공하는 요소의 동작 방식을 분석하는 방법과 엔진이 제공하는 기능을 이용하여 게임을 만드는 방법으로 구분할 수 있습니다. 전자를 활용한다면 게임 그래픽 관련 공부를 같이 해야 합니다. 후자라면 툴 사용법을 익히고 게임 프로젝트를 생성하여 자신의 게임을 차근차근 만들어보며 공부할 수 있습니다.

 

게임 3D 그래픽 기술을 직접 공부하기에 진입장벽이 높을 수 있습니다. 단지 시중에 나와 있는 책으로 학습하기에 기초 지식이 부족하기 때문에 이해하기 힘들 수 있어요. 이러한 경우에는 인터넷 강의나 학원의 도움을 받는 것도 나쁘지 않아요. 

 

참고로 언리얼 엔진은 오픈소스로 제공되지만 유니티는 엔진의 내부 코드를 살펴볼 수 없습니다. 그저 API2)로 제공되는 엔진의 함수를 가져다 사용해야 합니다. 엔진을 공부하고 싶다면 언리얼 엔진을 선택하고, 자신의 간단한 2D나 3D 게임을 만들어보고 싶다면 유니티 엔진을 추천합니다.

 

xpixel

 

포토폴리오용 게임 개발-기존 게임 모방도 ok

기존 게임을 모방하는건 괜찮아요. 그러나 상업적인 용도로 사용하지 않으시면 무방합니다. 대신 타겟 게임의 리소스(스크린샷)를 사용하면 문제가 될 여지는 있습니다. 비슷한 컨셉으로 리소스를 제작하고, 구현한다면 문제될 건 없고요.


멘티님 그럼 오늘도 화이팅 입니다! 감사합니다. 



1) 클라이언트 프로그래머 : 클라이언트 프로그래머는 실제 게임을 플레이 할 수 있게 작동하는 프로그램인 게임 클라이언트(Game Client)를 개발하는 일을 맡는다


2) API : 운영체제와 응용프로그램 사이의 통신에 사용되는 언어나 메시지 형식


곽준원 멘토
AST홀딩스 · 디지털리얼리티 연구소
IT개발/데이터
http://blog.naver.com/ssmile1006
게임개발 18년차 클라이언트 프로그래머입니다.
게임개발에 대한 전반적인 필요 지식 및 조언을 해드립니다.
그리고 '취업'이 아닌 '직업'을 찾을 수 있도록 도움을 드리고 싶습니다.
같은 직무를 다룬 글
인기 있는 글
연구/설계
약 6년 전