Araina’s Blog

10. 게임 엔진과 프로그래밍, 그 외 개발 직무들 본문

Game Design

10. 게임 엔진과 프로그래밍, 그 외 개발 직무들

Araina 2022. 5. 11. 23:01


 

 

1. 게임 엔진

게임을 개발하는 데 필요한 각종 개발 도구들을 한 곳에 모아둔 SW.

게임 엔진은 게임 개발에 쓰이는 통합 개발 도구(IDE)의 개념이다.

1980년대, HW의 발전과 CG 기술이 발전하고, 1990년대에 CD라는 저장 장치까지 등장하면서 게임 업계는 급속도로 확장/발전되기 시작했다.

1991년에는 카타콤 시리즈에서 처음으로 3D 그래픽의 FPS 게임이 등장하였다.

이 FPS 장르는 <Wolfenstein 3D>가 등장하면서 본격적인 형태를 갖추기 시작했고, 이후 <DOOM>을 통해 그 가능성을 보여주며 다양한 형태의 FPS가 탄생했다.

<DOOM>에서 사용된 BSP 엔진, 지형 엔진은 오늘날 3D 엔진의 기틀이 되었다.

BSP 엔진은 Binary Space Partitions 엔진의 약자로, 좁은 시야와 지형의 표현을 위해 폴리곤을 최적화하여 빠른 속도로 렌더링 할 수 있는 엔진이다.

멀리 떨어져 있는 지형은 안개가 낀 것처럼 시야를 가려버리는 방식으로 단순하게 처리하고, 시야 내에 있는 인근의 물체들만 폴리곤을 계산하는 방식이다.

<DOOM>을 개발한 ID SOFT 사는 Quake 엔진을 통해 <Quake> 시리즈를 출시한다.

이 엔진은 <Quake> 시리즈에서 볼 수 있듯이, 매우 빠른 속도로 움직이면서 실시간 PvP 전투가 가능한 FPS 게임에 최적화된 엔진이었다.

1997년에는 Monolith Productions 사에서 Build 엔진을 기반으로 <Duke Nuken 3D>가 개발되었고, 이후 <쇼고: 이동 전투단>이 출시되었다.

이렇게 축적된 기술력들을 기반으로 Monolith Productions 사는 Lithtech 엔진을 개량하여 Jupiter 엔진을 출시했다.

그 후, Epic Games 사는 Unreal 엔진을 개발하여 FPS 장르의 게임과 함께 공개하였다.

1998년에는 엔진 이름에서 따온 <Unreal>을 출시하였고, 화려한 그래픽과 다양한 게임 방식, 수준 높은 인공지능 기반의 적과 다양한 무기 등을 제시하며 큰 인기를 끌었다.

현재 Unreal 엔진과 함께 양대산맥으로 불리는 Unity 엔진은 Unreal 엔진보다 상대적으로 규모가 작은 개발사/프로젝트에서 선호되는 엔진으로 잘 알려져 있다.

초기 버전부터 플랫폼 간의 호환성이 좋아 다양한 플랫폼을 동시에 지원할 수 있다는 장점을 가지고 있었으며, 가격이 저렴하고, Unreal과 달리 모바일이나 인디 게임 등 가벼운 게임을 개발하는 데 최적화되어 있다.

 


 

2. 게임 '프로그램'

게임이라는 '프로그램'이란 무엇일까?

게임도 하나의 SW인 만큼, 다양한 IT 기술들이 요구되지만, 다른 SW 분야와 달리 예술이나 놀이 문화 등 다른 요소들이 함께 섞여 있다는 특징이 있다.

이 때문에 게임 업계에서 부르는 '개발자'라는 용어는 다른 IT 분야보다 훨씬 더 폭이 넓다고 볼 수 있다.

프로그래밍을 담당하는 게임 프로그래머도 개발자이지만, 게임 기획자, 마케팅, 아티스트, 음악가 등 프로그래밍 외의 다른 분야에 소속된 사람들도 게임 개발자라고 부를 수 있기 때문이다.

게임을 하나의 '프로그램'으로써 바라본다면, 다음과 같은 요소들을 찾아볼 수 있다.

여기서 서버는 중앙 데이터를 관리하는 분야를 의미한다.

온라인 게임을 개발하기 위해서는 필수적인 요소 중에 하나로, 게임에 따라 서버 의존 비중이 달라진다.

DB를 통해 사용자들의 진행 사항을 저장하거나, 계정 정보, 결제 내역 등을 관리하는 데 쓰이기도 한다.

게임의 규모에 따라 여러 개의 서버가 존재할 수 있는데, 이는 유저의 서버와는 다른 의미이다.

게임의 월드, 채팅, 아이템 관리 및 판매 등을 관리하는 서버군은 서로 달라질 수 있으며, 이 또한 게임마다 구성이 다르다.

보안이나 패치 업무가 매우 중요하게 작용한다.

클라이언트는 사용자 PC에 직접 설치되는 프로그램이다.

각종 게임 데이터들을 포함하고 있으며, 기술 변화에 민감한 분야이다.

게임 엔진을 통해 개발되며, 상용 엔진의 보급 덕분에 개발 난이도가 상당히 낮아진 편이다.

세부적인 기술들이 접목되어야 하며 엔진의 기술이 클라이언트 기술이 되며, 클라이언트 기술이 게임의 완성도로 이어진다.

 


 

3. 그 외의 기타 직군들

사실 게임 개발 분야에 직군은 아트와 프로그래밍 외에도 정말 다양하며, 이 직군들은 회사마다 달라지기도 한다.

대표적으로 사운드, TD, TA가 있다.

사운드는 효과음, 배경음악 등을 작사/작곡하는 분야로, 상주 아티스트와 외주 아티스트로 나눠진다.

TD와 TA는 테크니컬 디렉터의 약자로, 특정 기술 분야를 통달한 전문가들이다.

게임을 개발하거나, 관련된 SW들을 사용하는 데 발생하는 기술 이슈들을 관리, 지원해주거나 새로운 기술들을 활용하는 방법들을 알려주는 등 다양한 엔지니어링 업무를 수행한다.

 


 


수고하셨습니다!


'Game Design' 카테고리의 다른 글

11. 역 기획서  (0) 2022.05.11
9. 게임 아트 (게임 그래픽)  (0) 2022.04.12
8. 게임 기획이란?  (0) 2022.04.12
7. 세계관 설정과 스토리텔링  (0) 2022.04.02
6. 게임의 역사: 한국 RPG  (0) 2022.03.22
Comments