반응형
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

게임을 만든다고 하면 흔히 떠올리는 직군이 프로그래머다.
하지만 게임 프로그래머라고 해서 단순히 코드를 작성하는 일만 하진 않는다.
게임 개발은 하나의 거대한 시스템을 구축하는 일이다.
프로그래머는 이 시스템의 작동 원리를 직접 설계하고 구현한다.
# 게임 프로그래머의 주된 역할
(주요 업무 : 책상에서 젤리까먹기, 어? 하면 몰려가서 인간병풍 해주기, 저녁 뭐먹을지 고민하기, 의자 뒤로 눕혀서 반쯤 흘러내려가있기, 한숨쉬거나 흥얼거리면서 다리떨기 등)
■ 게임 로직 개발
- 캐릭터 이동, 공격, 스킬 발동, 적 AI 작동 같은 핵심 기능을 만든다.
- 예) “적이 플레이어를 인식하면 쫓아오게 한다.”
■ 엔진 기능 활용 및 개발
- Unity, Unreal 같은 상용 엔진의 기능을 활용한다.
- 때로는 엔진 기능을 직접 커스터마이징하기도 한다.
- 예) 유니티 기본 물리 엔진으로 부족하면 물리 로직을 따로 구현함. (큰 이점이 없다면 기 개발된 에셋을 구매하는 편)
■ UI 구현
- 기획자가 만든 UI 설계도를 실제 게임 화면에 적용한다.
- 버튼 클릭 시 반응, 메뉴 전환 등을 프로그래밍한다.
- 주로 신입, 잡부 주니어에게 할당 됨.
■ 네트워크 개발
- 멀티플레이어 게임의 서버·클라이언트 통신 처리
- 매치메이킹, 채팅, 랭킹 시스템 구축 등도 포함된다.
- 대기업이 아니라면 보통 한 프로젝트에 1~3인이 보통. 중소규모 팀에서는 그냥 외주로 맡겨버리는 경우도 많다.
- 동시 플레이어가 많지 않은 작은 프로젝트에서는 그냥 포톤같은걸 사용하기도 한다. (이때는 클라이언트가 1인 다역으로 진행)
■ 최적화 작업
- 프레임 드랍, 로딩 지연, 메모리 누수 등을 개선한다.
- 성능 향상은 프로그래머의 중요한 역할 중 하나다.
- 제일 지루하고 귀찮지만 꼭 해야하는 마무리 단계. 시니어 한두명과 주니어들을 제물로 바치면 대부분 완성된다.
■ 툴 개발
- 개발자들이 쓰는 에디터, 배치 툴, 데이터 관리 툴을 개발한다.
- 반복 작업을 줄여주는 자동화 스크립트도 만든다.
- 개발한지 좀 된 팀에는 국룰같은 자동화 스크립트가 꼭 있다. 보통은 관련해서 문서화 되어있음.
사용하는 기술 스택
- 언어: C++, C#,
Python, JavaScript - 엔진: Unity, Unreal Engine,
Godot등 - 그래픽 라이브러리: OpenGL, DirectX,
Vulkan - 네트워크: Socket, HTTP, WebSocket
- 데이터 관리:
SQL, JSON, XML
# 실무에서 자주 겪는 고민
- 기획이 너무 방대해서 현실적으로 구현이 어려운 경우 (개발팀장의 역량에 따라 기획의 거품을 어디까지 허용
(야근)할것인지 결정된다. 좋은 팀장은 터무니없는 기획서를 들고 온 기획자와 일기토 한 후 담백하게 팀원들에게 배분함. 나중에 어차피 다 드랍될 기획을 "일단 해줘야지 뭐.." 하고 우르르 다 들고오는 우유부단한 팀장이 제일 힘들다.) - 그래픽 퀄리티 요구치가 높아 최적화가 끝없이 반복되는 상황
- 버그 수정 후 다른 기능이 또 깨지는 “디펜던시” 문제
- 엔진 업데이트로 인한 호환성 문제
- 크로스플랫폼 대응 시 각 기기별 제약사항 등
게임 프로그래머도 분야가 나뉜다
▶ 클라이언트 개발
- 유저의 게임 실행 환경을 담당
- 그래픽, UI, 로직, 애니메이션 연결 등 각 팀에서 건프라 조각 들고오면 그걸 조립해서 완성시키는 팀.
- “게임 화면에 보이는 모든 것”을 만듬.
▶ 서버 개발
- 게임 데이터를 처리하고 저장
- 멀티플레이 통신, 랭킹, 보안, 결제 로직 등을 만든다.
- “게임의 보이지 않는 뒷단”을 담당한다.
▶ 엔진 개발
- 게임 엔진 자체를 개발하거나 커스터마이징
- 물리 엔진, 렌더링 파이프라인, 이펙트 시스템 개발
- 덩치가 좀 있는 회사에서 주로 존재하는 직무. 간혹 전문 팀이 따로 있는곳도 있지만 그리 흔한편은 아니고, 큰 이점이 없고 문제없이 운용할 수 있는 수준이라면 대부분 회사에서는 그냥 에셋을 산다.
- 중니어(잘 익은 주니어)이상 ~ 시니어들이 주로 처리함.
▶ 툴 개발
- 개발자 편의 툴, 데이터 관리 프로그램 제작
- 반복작업 자동화 스크립트 개발
- 팀의 방향성이나 규모에 따라 툴개발실(또는 RnD실 내에서 처리하거나)이 따로 있는경우도 있고, 정리를 좋아하고 귀찮은걸 싫어하는 한 개발자가 휘루룩 만들어서 팀원들에게 배포하는 경우도 있다.
# 정리
보안개발자 및 기타 더 서술 할 수 있겠지만 간략하게 먼저 써본다.
게임 프로그래머는 단순히 코드를 작성하는 직업이 아니다. 사실상 의외로 코드작성하는 시간은 상대적으로 굉장히 적다.
대부분의 시간을 시스템 설계에 쏟고, 그 후 기획을 조율하고 버그를 해결하고 최적화하는 식으로 시간이 배분된다.
반응형
'겜언니의 게임개발' 카테고리의 다른 글
| 그림만 잘 그리면 될 것 같다고? 게임 아티스트의 현실 (2) | 2025.07.16 |
|---|---|
| 게임 QA, 게임 많이 할 수 있으니까 재밌을 거 같아!(?) (2) | 2025.07.16 |
| 나에겐 백프로 대박날 것 같은 게임 아이디어가 있으니 게임 기획자가 천직? (14) | 2025.07.16 |
| 게임 기획자, 무슨 일을 할까? (0) | 2025.07.16 |
| 이펙트 최적화는 누구의 역할인가? (1) | 2025.06.25 |