본문 바로가기

Development Field

클라이언트

게임에서 클라이언트의 개발은 보통 유저들에게 실제로 게임 화면을 보여주기 위한 작업입니다.

온라인 게임의 경우 서버에 접속할 수 있게 해주는 응용 소프트웨어의 개발이라고 할 수 있습니다.

 

하지만 이런 클라이언트 프로그래머도 여러 분야로 세분화가 가능합니다.

 

  • 사운드 프로그래머
  • 물리 프로그래머
  • 애니메이션 프로그래머
  • 툴 프로그래머
  • 렌더링 프로그래머
  • AI 프로그래머
  • 게임 플레이 프로그래머

 

하나씩 간단하게 살펴보겠습니다.

 

사운드 프로그래머

게임에 사용되는 BGM, 효과음 등의 사운드 요소의 연출 및 믹싱을 담당하고, 게임 개발에 사용되는 엔진과 연계하여 게임 프로젝트에 사운드를 도입합니다. FMOD 등과 같은 미들웨어를 이용하여 작업을 많이 한다고 합니다.

 

물리 프로그래머

게임에 쓰이는 물리 연산을 최적화하고 적용하는 작업을 담당합니다. 매년 업그레이드되는 물리 엔진과 기술 트렌드에 대처할 수 있도록 끊임없는 연구와 개발이 필요하다고 합니다.

 

애니메이션 프로그래머

애니메이터가 제작한 애니메이션들을 사용자가 조작에 따라 표시될 수 있도록 개발합니다. 애니메이션 블랜딩을 통해 중간 형태의 애니메이션들도 제작한다고 합니다.

 

툴 프로그래머

비개발자가 프로그래머의 도움 없이 개발에 쉽게 참여할 수 있도록 하는 툴들을 따로 혹은 엔진 내에서 제작하여 다양한 직군과의 협업을 원활하게 하는 목적을 가지고 있습니다.

 

렌더링 프로그래머

게임 속 장면을 화면에 출력하는 렌더링 작업을 담당합니다. 최적화가 중요하며, 시스템에 부하를 효율적으로 줄이기 위한 방안들을 트렌드에 맞게 연구하며 개발합니다.

 

AI 프로그래머

캐릭터에 지능을 부여하여 스스로 작동하게 만드는 작업을 합니다. 자주 사용하는 모듈로는 자동 길찾기가 있으며 애니메이션 시스템에도 많이 사용된다고 합니다.

 

게임 플레이 프로그래머

사용자의 게임 플레이에 실제로 반영되는 매커니즘 및 기능들을 구현하며, 실제로 게임을 구성하는 작업을 담당합니다. 보통 게임 개발을 생각한다면 이러한 게임 플레이 개발일 것입니다.

 

이렇게 클라이언트 개발 내에서도 다양한 테크트리가 있는데, 본인의 적성에 맞는 테크트리를 찾아 열심히 공부하는 것도 많이 중요하다고 생각합니다.

 


 

자료 출처

https://edu.kocca.kr/edu/onlineEdu/openLecture/view.do?pSeq=393&menuNo=500085