GoldSrc
[clearfix]
1. 개요
밸브 코퍼레이션이 최초로 제작한 게임 엔진. 제작 가능 플랫폼은 윈도우와 OS X, 리눅스, 플레이스테이션 2, 엑스박스이다.
2. 역사
하프라이프에서 최초로 사용되어 발매되었다. 처음에는 골드 소스 엔진이라고 불리지 않았으나, 하프라이프 2의 소스 엔진이 발표된 후로 하프라이프 1의 엔진은 골드 소스 엔진이라고 불리게 되었다.
1990년대에 만들어진 엔진인데다 후속으로 소스 엔진이 개발되면서 2000년대 이후로 밸브는 골드 소스 엔진을 자체를 업그레이드하지는 않으며 그래픽 지원도 사실상 하프 라이프, 하프 라이프: 블루 쉬프트, 하프 라이프: 어포징 포스에서 HD 팩을 내준 정도로 끝난 상태이고 팀 포트리스 클래식의 업데이트도 2008년을 끝으로 종료되었다. 밸브는 골드 소스 엔진으로 만들어진 게임에서 대부분 손을 뗀 상태이고 게임 단체들이 크라이 오브 피어와 같은 모드를 내는 중이다.
3. 특징
퀘이크 1 엔진(id Tech 엔진 2)를 바탕으로 렌더링 파트의 소스를 일부분 참고하며 개선해서 도입하는 방식으로 개발되었다. 퀘이크 1에 쓰인 id Tech 엔진의 렌더링 부분 중 BSP 구현 관련 부분과 기본적인 렌더링 관련 및 일부 기능의 콘솔 명령어, 그리고 퀘이크 2 엔진의 색채 광원 구현을 참고했다. 기반 언어가 C언어에서 C++로 바뀌었고 게임플레이 코드도 QuakeC가 아닌 C++를 사용한다. 기술적으로 퀘이크 엔진이 남아있는 부분은 월드 BSP 구현뿐이며 그 마저도 많이 개량되어 퀘이크 2 엔진보다 더 우수한 최적화를 이뤄냈다. 따라서 다른 퀘이크 엔진 기반 게임들의 엔진과는 기본적으로 태생이 다르다고 할 수 있고 사실상 밸브의 자체 개발 엔진으로 볼 수 있다.[3]
도스용 기반으로 만들어진 퀘이크 1 엔진의 비효율적인 통짜형 소스코드 구조는 전혀 찾아볼 수 없고 밸브가 처음부터 새롭게 기반을 다진, 퀘이크 2 엔진보다도 더 체계적이고 잘 정립된 소스코드 구조와 DLL 모듈화를 이루고 있는 기반을 가지고 있다.
기술적인 측면에서는 애니메이션 모델은 퀘이크의 버텍스 애니메이션 대신 스켈레탈 애니메이션을 기반으로 밸브가 새롭게 개발했으며 사운드 엔진도 퀘이크 1의 것은 다 버려지고 밸브가 새롭게 개발한 각종 특수 음향효과를 지원하고 서라운드 사운드와 3D 사운드를 지원하는 사운드 엔진이 탑재되었다. 그리고 기존의 퀘이크 +1, 2의 수준과 비교조차 할 수 없는 훌륭한 AI 시스템과 훌륭한 스크립트 연출 시스템도 기존의 퀘이크 엔진을 개량한 것이 아닌, 밸브가 모두 새롭게 개발한 기술들이다. 그 외 파티클 시스템, 데칼 시스템 등 자잘한 특수효과들 역시 기존의 퀘이크 엔진 개선이 아닌 밸브가 자체적으로 개발한 기술들이다.
렌더링 드라이버 부분에서도 소프트웨어 렌더링만으로 색채 광원효과 및 다양한 특수효과를 지원하며 OpenGL뿐 아니라 Direct3D까지 지원하는데 이는 '골드 소스 엔진'이 기존의 퀘이크 엔진을 바탕으로 개조한 게 아니라 밸브가 새롭게 만든 엔진에 퀘이크 엔진의 소스에서 필요한 부분만 조금씩 참고하는 형식으로 긁어와서 개량을 거쳐서 만들어진 엔진이기 때문에 가능한 일이다.
네트워크 엔진은 하프라이프 처음 출시 당시엔 퀘이크월드 기반의 네트워크 엔진을 사용했으나 이후 버전업 되면서 밸브가 자체적으로 개발한 네트워크 엔진으로 교체되었다.
유틸리티 부분에서는 PAK 포맷과 함께 id Tech 1(둠 엔진)에서 사용하던 WAD 포맷도 사용하지만 정작 중요한 맵툴에 있어서는 id 소프트웨어에서 개발한 Radiant[4] 는 버리고 퀘이크 1의 유저맵 에디터였던 WorldCraft를 개발한 '벤 모리스'를 밸브가 영입해서 골드 소스 엔진에 맞춰 공식적인 맵툴로 개발하였다. id 소프트웨어의 Radiant보다 편의성 측면에서 상당히 낫긴하지만 이 맵툴 역시 매우 구시대적이다. 차후 Valve Hammer Editor라는 이름으로 변경되며 상당 부분 개선되었으나 여전히 구시대적 유물로 평가받고 있다. 골드 소스 엔진이 아닌 하프라이프 2 이후의 소스 엔진의 최신 버전도 여전히 Valve Hammer Editor를 사용하며 그 구시대적인 맵툴이 매우 큰 단점으로 작용하고 있는데 그 수준은 작업편의성과 GUI, WYSIWYG 측면에서 1998년에 출시한 언리얼 엔진 1의 UnrealEd보다도 떨어지는 수준으로서 가히 한마디로 충격적이라고 할 수 있다. 그외에 다른 작업에 필요한 여러가지 유틸리티와 툴들도 밸브가 모두 자체 개발했다.
4. 소스 공개
공개된 소스 코드가 있는데 문제는 이거를 Visual C++ 6.0으로 돌려야 하고 비주얼 스튜디오 툴셋 버전도 안맞아서 릴리즈 및 디버그가 좀 힘들다.
5. 제작된 게임
- 하프라이프
- 하프라이프: 어포징 포스
- 하프라이프: 블루 쉬프트
- 데스 매치 클래식
- 제임스 본드 007, 나이트파이어
5.1. 모드
골드 소스 엔진 모드 참조.
[1] 현재 깃허브에 소스 코드가 공개 되어 있다. 후술할 항목 참조[2] 사실상 마지막으로 골드 소스 엔진을 사용한 게임[3] 하프라이프 1997년판 개발판의 더미 데이터로 퀘이크 1의 폰트와 퀘이크가이의 상태창 얼굴, 이드 소프트웨어 로고의 그래픽 등이 퀘이크의 흔적이 남아있었다. # 하프라이프 2와 함께 개발된 밸브의 새로운 엔진인 소스 엔진은 골드 소스 엔진을 바탕으로 개발을 시작한 것이 결국엔 완전히 새로운 엔진으로 개발되었다. 콘솔 명령어 등 기존 골드 소스 엔진에 남아있던 일부 퀘이크 1의 잔재가 남아 있다가 소스 엔진이 버전업 되면서 사라졌다.[4] IW 엔진에서 이걸 아직도 사용한다. 사골의 극치.