게임 프로그래머가 하는 일은 무엇일까?[직무탐방_#8]

  • 13,707
  • 0
  • 0

 


게임 프로그래밍은 앞서 알아보았던 서버프로그래밍과는 다른 개념이랍니다. 


먼저 게임 프로그래밍이 무엇인지 알아보고 가야겠죠?

포털에서 여러 문서를 찾아보면 게임 프로그래밍은 게임 클라이언트를 구현하는데 사용되는 프로그래밍 기술이다 라고 되어 있습니다.(좀 어렵죠?). 비디오, 사운드, 조종기 등 하드웨어의 입출력을 구현하기 위한 OS, 시스템 프로그래밍을 기본으로 하고 있답니다. 이 외에도 게임 프로그래머는 2D/3D 그래픽스, AI, 알고리즘에 대해 포괄적으로 이해하고 적용할 수 있어야 합니다.

좀 더 쉽게 이야기해보자면 사용자가 다운로드 받아 PC나 모바일에 설치하는 게임 프로그램 즉 클라이언트쪽을 개발하는 것입니다. 유저의 키보드 마우스, 터지조작등에 반응하며 유저의 눈에 보이는 화면의 캐릭터 지형, 인터페이스, 효과, 등을 아름답게 표현해내는 일을 합니다. 일반적으로 게임 프로그래밍이라고 하면 대부분 클라이언트개발을 칭하는 것이라 합니다. 제한된 리소스 내에서 최고의 효과를 내기 위한 부단한 노력의 과정이라 전문가들은 이야기하기도 합니다.


이런 게임 프로그래밍은 어떤 가치를 가질까요?

흔히 컴퓨터 게임은 비쥬얼 아트와 프로그래밍 기술이 결합하여 만든 첨단 종합 예술로 일컬어 집니다. 게임 클라이언트 개발은 사용자의 다양한 입력에 즉시 반응하면서, 동시에 고품질의 비쥬얼과 사운드를 실시간으로 생성해내는 고난도 프로그래밍 역량을 요구합니다. 또한 게임 클라이언트 프로그래밍은 제한된 하드웨어 환경에서 조금 더 높은 반응성과 고품질의 렌더링을 위하여 하드웨어의 성능을 최적화하는 고난이도 소프트웨어 기술로 여겨집니다. 또한 게임 개발은 개인용 컴퓨터를 혁신시키고 고성능 컴퓨터를 일반에 보급하는 기술 선도 산업으로 분류되기도 합니다.

최근 게임은 엔터테인먼트에서 벗어나 다양한 분야에서 폭 넓게 활용되고 있습니다. 학습이나 교육, 치료에도 쓰이고 있고, 현장의 문제 해결에도 적극적으로 이용되고 있습니다. 대지진이 발생하여 폐허가 된 아이티(Haiti)를 돕는 소셜게임을 만든 사례, 단백질의 분자 구조를 맞추는 간단한 게임을 공개하여 연구원들이 몇 년씩 걸려 조합해야 되는 분자 구조를 일반인 수만명의 집단 지성을 활용하여 해결한 사례 등은 앞으로 게임이 우리 삶에 매우 긍정적인 형태로 활용될 수 있다는 가능성을 보여주고 있습니다. 


게임프로그래밍에 필요한 지식은?

게임제작, 구현 프로그래밍, 시스템 설계 프로그래밍, 하드웨어 최적화 지식, 미들웨어나 게임개발 툴을 사용한 게임개발 지식, 네트워크를 통한 온라인 게임 플레이 동기화, 컨텐츠호환 및 포팅, 유니티엔진, 언리얼엔진, Cocos2d엔진등에 대한 사용지식등, 컴퓨터 그래픽스에 대한 이론, 수학과 물리에 대한 기초지식


`17.03.07(updated. `17.03.08)