게임프로그래밍을 공부하는 순서


안녕하세요. 버거형입니다.

제가 근래들어 네이버 지식인에 답변하기를 틈틈히 하고 있는데,

보다보면 은근히 이런 질문이 많더라구요.

"게임프로그래밍을 공부하려면 무엇부터해야할까요?" 라는 질문 말이지요.

그리하야, 기왕에 포스팅하는거 게임프로그래밍을 공부하는 순서에

대한 이야기를 해볼까 합니다.

참고로 지금부터 포스팅하는 내용은 사견이며,

개발자마다 생각이 다를 수 있다는걸 참고하시길 바랍니다.

1. 프로그래밍은 기초부터..C,C++부터 시작합시다.

근래 다양한 플랫폼(국내기준으로는 안드로이드, IOS, Windows 등등)에서

게임을 즐기는 유저들이 증가하면서, 그 만큼 다양한 언어로

게임프로그래밍을 할 수 있게 되었는데요.

덕분에, 처음 게임프로그래밍을 접해보려하는 학생들 입장에선 무엇부터

공부해야할지 선택의 기로에 놓이는 경우가 많아요.

제가 확실하게 말씀드리자면, 우선 C++입니다.

여기에서 C++버젼이야기부터 쭉 이어나가봐야 크게 와닿을것같진 않고,

게임프로그래밍은 C++입니다.

"요즘, 유니티 기능자를 구인하는 회사들이 많던데 C++가지고 취업이 될까요?"라고

되물을 수도 있겠네요.

네, C++입니다.

우선, C++부터 공부하세요.

C#? 중요하지요. 유니티를 제대로 다뤄보실려면 C#필요합니다.

ObjectC...?

IOS 어플리케이션 개발하려면 필요합니다.

다만, C++은 게임의 기초 골격을 구성해나가는데 있어, 필수 불가결한 언어이며,

다른 언어를 공부하는데에 있어 C++에 대해 어느정도의 숙련지식을 가지고 계시다면,

금방 이해해하고 습득해 나가실 수 있을것라고 봅니다.

어떻게 보면 굉장히 원시적이고, 불편한 언어라고 생각하실 수도 있겠지만,

너무 편하게만 개발을 할 수 있다면, 누구나 할 수 있을것이고,

그런것에 익숙해지다보면 차츰, 개인의 경쟁력도 분명 뒤쳐지게 될것이라고 생각합니다.

다른 고민하지마세요. 시작은 무조건 C++부터 입니다.

2. C++이 익숙해 지셨다면 WinAPI를 이용해서 이미지부터 출력해보세요.

요즘 누가 WinAPI만으로 게임을 개발하나요?

네, WinAPI만으로는 흔히 여러분들이 하고 계시는 땍깔좋은 3D게임을 만들기가 어렵지요.

다만, 이제 막 C++에 익숙해지셨다?, 좀 알것같다?라는 수준이라면

분명, 책위주로 공부하셨을 확률이 높습니다.

당연히, 문법적인 부분은 어느정도 익히셨을것이라고 생각하지만,

여러분은 프로그래머 지망생 입니다.

어디에서 저처럼 강의만 하실건 아니잖아요?

그렇다라면 응용을 하실 수 있어야겠지요.

게다가 게임프로그래머 지망생이라면, 게임을 만들어보시는것이

C++을 많이 응용해보는 아주 좋은 경험이 되지 않을까 싶어요.

그렇다라면 이미지를 렌더링(출력)할 수 있어야겠지요.

물론, 이미지를 렌더링할 수 있는 API, SDK는 많습니다.

다만, 제가 생각하기에 아주 쉽게 렌더링 할 수 있는 API는

대표적으로 WinAPI가 아닐까 싶어요.

우선, WinAPI를 이용해 이미지를 출력해보시고, 출력이 되셨다면

게임을 만들어보시라는 말입니다.

프레임워크(구조)는 어떻게?

처음부터 프레임워크에 목메지 마세요.

본인이 이미지를 출력하고 게임을 만들어보세요.

로고, 로딩화면만들어보시고, 로딩이 끝나면 게임을 진행할 수 있는 화면을 띄워보세요.

자연스럽게 여러분만의 프레임워크가 만들어질 것입니다.

에러가 많이 나면 어떻하냐구요? 고치셔야죠^^

에러도 경고도 모두 다 경험입니다!

경험치가 쌓여야 레벨업이 되겠지요?

3. 이제 DirectX SDK나 OpenGL을 이용하여 3D를 구성해봅시다.

당연한 순서라고 생각해요.

2D게임만으로는 한계가 분명히 있답니다.

근래들어 모바일게임이 많이 각광받으면서,

2D게임의 전성기도 돌아왔다는 생각이 들긴합니다만

게임프로그래머라면 3D코딩은 기본이라고 생각이 들어요^^

제가 자주 언급하고 있는 상용화엔진(Unity3D, Unreal등등)을 이용하면

아주 쉽게 3D구성을 하실 순 있으나, 추후 스크립트로 원하는 기능을 부여하거나

적절한 커스터마이징을 위해서는 3D의 기본기를 다져두는것이 중요합니다!

DirectX SDK나 OpenGL의 경우, 쉽게 뚝딱 만들어지진 않으니,

꼼꼼히 공부해볼 수 있는 기회가 되실것이랍니다^^

자아, 이 후부터는 개인취향에 따라 갈릴것같네요.

HLSL을 이용한 Shader를 차근차근 해보신다거나, 상용화 엔진을 활용하여 좀 더 고퀄리티의 포트폴리오를 제작하신다거나~ 여러 방향이 있을겁니다.

이미 여기까지 오셨다면, 추후 방향은 스스로 설정하실 수 있을거에요^^

자! 지극히 개인적인 의견으로 작성해본 게임프로그래밍 공부 순서랍니다.

처음 공부하는 초심자분들께는 어느정도 도움이 될것같긴한데, 크게 자신은 없네요^^

Written By Brother Burger

In Jusin Game Academy

#게임프로그래밍 #공부

​쥬신게임아카데미 ㅣ쥬신게임개발학원 ㅣ서울시 구로구 구로동 197-5 삼성IT밸리 1105호 

사업자 등록번호 : 113-90-87380 ㅣ대표자명 : 최영준 ㅣ학원설립.운영등록번호 : 제 4709 호  

Copyright(c) 2010 JUSIN GAME ACADEMY. ALL Right Reserved