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


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

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

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

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

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

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

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

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

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

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게임만으로는 한계가 분명히 있답니다.

근래들어 모바일게임이 많이 각광