게임프로그래밍

게임프로그래밍 기초부터 취업까지 Part.1

희고 2018. 1. 26. 12:32

안녕하세요.


오늘은 게임프로그래머의 길 기초부터 알려드리겠습니다.

게임 프로그래머가 되기 위해서는

컴퓨터와 소통이 가능해야 하는데요.

컴퓨터와 소통하는 언어 '프로그래밍 언어'에 대해서 소개해드리겠습니다.

C언어란?

프로그래밍 언어는 컴퓨터 시스템을 구동시키는 소프트웨어를 작성하기 위한 언어입니다. 

그 중 C언어란 1972년 켄 톰슨과 데니스 리치가 벨 연구소에서 일할 당시 새로 개발된 유닉스 운영 체제에서 사용하기 위해 개발한 프로그래밍 언어입니다.

  유닉스 시스템의 바탕 프로그램은 모두 C로 작성되었고, 수많은 운영 체제의 커널 또한 C로 만들어졌습니다. 

오늘날 많이 쓰이는 C++는 C에서 객체 지향형 언어로 발전된 것이다. 또 다른 다양한 최신 언어들도 그 뿌리를 C에 두고 있습니다.


1983년 C 언어에서 직접적으로 파생된 프로그래밍 언어로 비아네 스트로스트룹(Bjarne Stroustrup)이 1980년대 C 언어를 바탕으로 만든 언어입니다. 

참고로 C 계열 언어에서 "++"라는 것은 1을 더해서 원래 변수에 대입하라는 뜻이라고 하네요.

C 언어에 객체지향 프로그래밍을 지원하기 위한 내용이 덧붙여진 것이라고 할 수도 있지만, 애초부터 객체지향을 염두에 두고 만들어진 언어와는 다르게, 단지 더 좋은 C 언어로서 수속형 언어로 취급하기도 한다고 합니다. 

초기의 C++은 C 위에 놓인 트랜스레이터로 구현되었습니다. 

즉, C++ 프로그램을 일단 C 프로그램으로 변환하고나서 C컴파일러로 컴파일하는 식이었고 따라서 C 언어에 대해 상위 호환성을 갖는 언어라 할 수 있습니다.

Application Programming Interface.

응용프로그램 프로그래밍 인터페이스.


프로그래밍에서, 프로그램을 작성하기 위한 일련의 부 프로그램, 프로토콜 등을 정의하여 상호 작용을 하기 위한 인터페이스 사양으로, 

API는 소프트웨어 컴포넌트의 기능, 입력, 출력, 그리고 이에 사용되는 자료형으로 표현됩니다. 

API 자체는 어디까지나 "사양(Specification)"만을 정의하기 때문에 구현(Implementation)물과 독립적이며, 잘 설계된 API는 프로그램 개발을 보다 쉽게 해 줍니

API는 다양한 형태로 존재하며, 유닉스의 POSIX 표준, 윈도우의 MFC나 Win32, C++의 Standard Template Library(STL), Java API 등이 이에 해당하죠.

Microsoft Foundation Classes

Microsoft Windows 운영체제 환경에서 작동하는 GUI 프로그램을 C++언어를 사용하여 개발할 수 있도록 Win32 API의 핸들과 C언어 함수들을 C++ 언어의 클래스화 한 라이브러리 입니다. 

Visual C++이라고 하면 일반적으로 이 MFC를 가리키죠. 

윈도우 환경에서 COM(Component Object Model) 개발을 위한 라이브러리인 ATL(Active Template Library)과 CString등의 기반 클래스를 공유하는 등 매우 밀접한 관련이 있다고 합니다.


프로그래밍 언어들을 나름 정리를 진행해봤으나 역시나 어렵습니다.

게임제작을 위해서는 이 프로그래밍 언어를 학습을 해야하는데요.

아무래도 독학을 하긴 어렵고 대학이나 학원에서 주로 다루게 됩니다.

게임 프로그래머의 꿈이 있고, 다소 어렵지만 열심히 공부를할 준비가 되어있는

분들께서는 아래의 사진을 클릭하고 프로그래머가 무슨일을 하는지 어떤 방향으로 교육이 진행되는지 상담해 드리도록 하겠습니다.