| 🎮 게임 엔진 | ||
| 메이저 상용 게임 엔진 | ||
| | | |
| {{{#!wiki style="margin: 0 -10px -5px; min-height: calc(1.5em + 5px)" {{{#000,#fff {{{-2 {{{#!folding 메이저 오픈 소스 게임 엔진 {{{#!wiki style="margin: -5px -1px -11px" | | |
| 기타 엔진 목록 | ||
#!if A=' style="margin: 5px 0; background: #000; border-radius: 5px; color: #fff"'
|
| <colbgcolor=#222c37> GoldSrc | ||
| 개발사 | 밸브 코퍼레이션 | |
| 유형 | 게임 엔진 | |
| 기반 언어 | C(프로그래밍 언어), C++ | |
| 타겟 플랫폼 | PC | Microsoft Windows | macOS | Linux |
| 콘솔 | | | |
| 라이선스 | 사유 소프트웨어 | |
| 하프라이프 |
| 크라이 오브 피어[1] |
1. 개요
밸브 코퍼레이션에서 개발한 하프라이프의 게임 엔진이다. '골드 소스(Gold Source)'라고 읽는다. 지원하는 플랫폼은 윈도우와 OS X, 리눅스, 플레이스테이션 2, 엑스박스다.2. 역사
하프라이프를 개발하며 만들어진 엔진이다. 하프라이프가 개발 중에는 퀘이크 1 엔진 기반으로 홍보를 했고, 처음 출시 때도 퀘이크 엔진의 라이선스 명칭인 "id Technology" 표기가 있었으며, 여전히 퀘이크 엔진이라고 언급을 했다.하프라이프 출시 후 1년이 넘는 기간동안 여러 번의 패치를 거치면서 퀘이크 1 엔진의 코드가 사라지고 거의 전체가 자체 개발 코드로 대체되며, 더 이상 퀘이크 1 엔진이 아닌, "Half-Life Engine"이라는 명칭을 사용하기 시작했다.
하프라이프 2에 사용된 소스 엔진이 발표된 후 하프라이프 1의 엔진은 골드 소스 엔진이라 불리게 되었다.
id tech 2 엔진을 기반으로 개발했으나, 퀘이크 1 엔진은 모듈화가 전혀 되어 있지 않은 MS-DOS용 기반의 통짜형 소스 코드에, 규모도 워낙에 작아서 하프라이프의 오랜 개발 기간동안 소스 코드의 전체 틀도 윈도우용 기반에 C++로 완전히 새롭게 작성되었고 퀘이크 1의 여러 가지 기술들이 밸브의 자체 기술들로 대체 및 추가되면서 결국 원래의 퀘이크 1 엔진에서 남은 부분은 렌더러 코드 일부와 네트워크 코드 정도와 PAK 및 WAD[2] 그룹 파일 포맷 등 밖에 남지 않게 되었다.
하프라이프 2의 엔진으로 개발된 소스 엔진이 나오면서 2000년대 이후로 밸브는 골드 소스 엔진 게임들의 지원을 종료했다가 2023년 말 하프라이프 25주년을 기념으로 스팀 출시 이전 패키지판의 인터페이스 구현 및 그래픽 상 변경점 적용, 엔진을 약간 개선하는 정도의 업데이트가 있었고, 이를 끝으로 후속 업데이트는 없다고 못을 박았다.[3]
밸브에서 주관하는 GoldSrc 게임들에 대한 공식 지원은 종료됐다. 비록 밸브의 공식 지원은 종료됐으나 Moddb 등지에서는 골드 소스 엔진으로 개발한 하프라이프 및 카운터 스트라이크 온라인이나 Sven Co-op 등의 모드가 유저들에 의해 개발되고 있다. 그러나 골드 소스 엔진의 기반 자체가 1990년대 중반에 나온 기술인 id Tech 2(퀘이크 1, 2 엔진)의 구현 수준을 크게 벗어나지 못하기 때문에 유저 모드로 아무리 개선을 하더라도 1990년 후반에 나온 기술인 id Tech 3(퀘이크 3 엔진)과 언리얼 엔진 1의 퀄리티에도 미치지 못하는 명확한 한계가 있다.
2023년 12월, 복잡한 작업을 간소화하고 지루한 과정을 자동화할 수 있도록 설계된 골드소스와 소스의 통합 모딩 툴인 XBLAH's Modding Tool V2가 공개되었다. 해머 3.x와 해머는 이 툴을 통해 실행하면 자동으로 구성되며, J.A.C.K.은 호환되는 골드소스 게임에 설치 및 구성되고, 해머++는 호환되는 소스 게임에 대해 설치 및 구성된다.
특징으로는 견본을 바탕으로 모드 제작, 레벨 에디터 자동 설정 및 적용, 커스텀 컨텐츠 적용, 챕터 제작 및 관리, 쉬운 디테일 프롭 제작, 스카이박스 생성 및 조명 데이터 불러오기, 모델 컴파일과 디컴파일, 배경음 제작을 비롯한 여러 기능들을 제공한다. 해당 툴은 무료판과 유료판으로 나뉘며, 유료판은 먼저 무료로 7일을 체험한 뒤 월 $1.99 결제로 모딩 툴을 완전히 다룰 수 있다.
3. 특징
골드소스, 소스 모두 하프라이프의 개발역사와 함께한다. 하프라이프 1은 게이브 뉴웰이 마이크로소프트에서 둠을 윈도우 95판으로 포팅하며 상당히 큰 영감을 얻어 지금의 벨브를 설립한 뒤 제작한 게임이기에 엔진역시 퀘이크 1 엔진(id Tech 2)을 바탕으로 개발[4]됐다.또 다른 퀘이크 1 엔진 기반 게임인 헥센 2처럼 그림만 바꾼 수준이 아닌, 실질적으로 자체 개발 엔진이나 다름없을 정도로 전체적인 엔진 소스 프레임워크부터 새롭게 작성됐으며[5] 도스용 기반으로 만들어진 퀘이크 1 엔진의 비효율적인 통짜형 소스코드 구조는 전혀 찾아볼 수 없고 밸브가 처음부터 새롭게 기반을 다진, 퀘이크 2 엔진보다도 더 체계적이고 잘 정립된 소스코드 구조와 DLL 모듈화[6]를 이루고 있다. 실질적으로 퀘이크 1의 소스가 남은 부분이라고는 기본 렌더링[7] 및 BSP 구현과 일부 기능의 콘솔 명령어뿐이다.
기술적인 측면에서는 애니메이션 모델은 퀘이크의 버텍스 애니메이션 대신 스켈레탈 애니메이션을 기반으로 밸브가 새롭게 개발했으며[8] 사운드 엔진도 퀘이크 1의 것은 다 버려지고 밸브가 새롭게 개발한 각종 특수 음향효과를 지원하고 서라운드 사운드와 3D 사운드를 지원하는 사운드 엔진이 탑재되었다. 그리고 기존의 퀘이크 +1, 2의 수준과 비교조차 할 수 없는 훌륭한 AI 시스템과 훌륭한 스크립트 연출 시스템도 기존의 퀘이크 엔진을 개량한 것이 아닌, 밸브가 모두 새롭게 개발한 기술들이다. 그 외 파티클 시스템, 데칼 시스템 등 자잘한 특수효과들 역시 기존의 퀘이크 엔진 개선이 아닌 밸브가 자체적으로 개발한 기술들이다. 렌더링 드라이버 부분에서도 소프트웨어 렌더링만으로 색채 광원효과 및 다양한 특수효과를 지원하며 OpenGL뿐 아니라 Direct3D까지 지원한다.
유틸리티 부분에서는 PAK 포맷과 함께 id Tech 1(둠 엔진)에서 사용하던 WAD 포맷을 사용하며, 맵 에디터는 id 소프트웨어의 공식 맵 에디터 대신 퀘이크 1의 유저맵 에디터였던 WorldCraft를 개발한 '벤 모리스'를 밸브가 영입해 하프라이프의 공식 맵 에디터로 지정하였다. 자세한 건 해머(에디터) 참고.
기반 언어도 C언어에서 C++로 바뀌었고 게임플레이 코드도 QuakeC(qc)가 아닌 C++를 사용하므로 기술적으로 퀘이크 엔진이 남아있는 부분은 월드 BSP 구현뿐이며 그 마저도 많이 개량되어 퀘이크 1 엔진의 흔적은 거의 남지 않았기 때문에 사실상 밸브의 자체 개발 엔진으로 볼 수 있는 수준이다.
하프라이프 발매시에는 네트워크 코더링의 일부 코드가 여전히 퀘이크 월드[9]의 코드 기반이었고, 렌더러도 퀘이크의 BSP 코드 기반이었으므로 당시 id Tech 엔진의 라이선스 상표 표기인 "id Technology"가 패키지 등에 표시됐으나, 하프라이프가 약 2년 이상 패치되면서 모든 코드가 자체 개발 코드로 대체되며 일부 콘솔 명령어가 비슷한 것[10]을 제외하고는 더 이상 퀘이크 엔진 코드가 거의 남아 있지 않아, 밸브 소유의 하프라이프 엔진이라는 이름으로 라이선스가 가능하게 되었다. 하지만 수면(물 표면)이 베베 꼬이는 효과가 id Tech 2(퀘이크 1 및 2 엔진)에서 보이는 것과 완전히 동일한 효과 그대로 남아 있는 것을 보면 해당 코드는 여전히 남아 있는 것으로 보이는데, 그 부분의 코드는 텍스처를 상하좌우로 약간씩 비틀어 주는 수준 밖에 되지 않으므로 코드가 몇 줄 되지도 않을 것이지만, id Tech 2의 코드를 그대로 남긴 것이 아니고 새로 작성한 코드로 대체해서 동일한 효과를 구현했을 가능성도 있다.
| 골드 소스 엔진에 여전히 남아 있는 id Tech 2(퀘이크 1, 퀘이크 2 엔진)의 수면(물표면)이 베베 꼬이는 효과 처음 6초부터 12초 사이가 id Tech 2의 수면 효과다. 단순히 텍스처를 상하좌우로 비트는 효과에 불과하다. |
2023년 11월에 업데이트된 25주년 기념판 기준으로도 수면(물표면)이 베베 꼬이는 효과는 id Tech 2에서 보이는 것과 동일한 효과가 그대로 남아 있으나 동일한 코드가 아닐 가능성도 높고, id Tech 2의 pak 그룹 파일 포맷은 더 이상 사용하지 않으며 모든 폴더와 파일들이 그대로 노출되어 있으나, 둠에서 사용한 wad 파일은 아직도 남아 있다.
하프라이프 엔진 역시 특정한 구조적 바탕이 구현되지 않은 엔진이던 관계로 하프라이프 2의 엔진으로 개발된 소스(게임 엔진)도 하프라이프를 바탕으로 개발을 시작했지만 결국 기존의 코드가 하나씩 다 교체되면서 완전히 새로운 엔진으로 개발되었다.[11]
하프라이프 2와 함께 소스(게임 엔진) 발표 후 하프라이프 1 엔진을 GoldSrc(골드소스)라고 이름 붙였다.
4. 제작된 게임
4.1. 밸브에서 제작한 게임
- 하프라이프 (1998)
- 하프라이프: 데이 원 (1998)
- 하프라이프: 업링크 (1999)
- 하프라이프: 어포징 포스 (1999)
- 하프라이프: 블루 쉬프트 (2001)
- 하프라이프: 디케이 (2001)
- 팀 포트리스 클래식 (1999)
- 카운터 스트라이크 (2000)
- 카운터 스트라이크: 컨디션 제로 (2004)
- 카운터 스트라이크: 컨디션 제로 삭제장면 (2004)
- 카운터 스트라이크 네오 (2004)
- 카운터 스트라이크 온라인 (2007)
- 카운터 스트라이크 넥슨 (2014)[12]
- 리코쳇 (2000)
- 데스매치 클래식 (2001)
- 데이 오브 디피트 (2003)
4.2. 타사에서 제작한 게임
4.3. 모드
#!if (문단 == null) == (앵커 == null)
를#!if 문단 != null & 앵커 == null
의 [[GoldSrc/모드#s-|]]번 문단을#!if 문단 == null & 앵커 != null
의 [[GoldSrc/모드#|]] 부분을 참고하십시오.[1] 골드 소스 엔진의 성능을 한계까지 끌어올리면서 미려한 그래픽을 구현했다고 평가받았다. 이 작품을 마지막으로 더 이상 골드 소스 엔진을 사용한 스탠드얼론 게임은 나오지 않고 있다.[2] WAD는 둠의 그룹 파일 포맷인데 퀘이크는 WAD 포맷을 사용하지 않았지만 하프라이프는 WAD 파일 포맷까지 사용한다.[3] 소스 엔진도 소스 2 출시 이후로 엔진 업데이트는 끊긴 상황이지만 소스 엔진을 사용한 자사의 인기작들은 아직 사후 관리가 이루어지는 중이다.[4] 하프라이프 1997년판 개발판의 더미 데이터로 퀘이크 1의 폰트와 퀘이크가이의 상태창 얼굴, 이드 소프트웨어 로고의 그래픽 등이 퀘이크의 흔적이 남아있었다. #[5] 퀘이크 1 소스는 엔진 프레임워크 구성도 안되어 있는 비효율적이며 단순 무식한 구조의 통짜형 소스 코드다.[6] 퀘이크 2 엔진에 비해서는 그렇지만 언리얼 엔진 1의 모듈러 프레임워크와 비교하면 한참 부족하며 모듈화라고 볼 수도 없는 수준이다.[7] 그리고 퀘이크 2 엔진의 색채 광원 구현을 참고했다. 참고만 했을뿐 퀘이크 2의 코드를 복사해서 사용하지는 않았다. 색채 광원 구현 관련 코드 전체가 50 라인도 되지 않는다.[8] 모델 확장자가 퀘이크 1과 동일한 mdl인데 퀘이크 1은 버텍스 애니메이션이고 하프라이프는 스켈레탈 애니메이션이기 때문에 확장자명만 그대로 썼을 뿐이고 내부 코드는 완전히 다르다. 확장자명을 바꾸지 않은 이유는 mdl이 그냥 모델(model)을 줄여서 확장자명 3글자로 만든 것이기 때문이다. 퀘이크 2는 md2, 퀘이크 3는 md3, md4, 둠 3는 md5mesh, md5anim, id tech 5/6/7은 md6mesh, md6anim를 사용한다.[9] 퀘이크 1의 멀티플레이 강하 버전[10] 콘솔 명령어가 비슷하거나 같다고 해서 같은 코드를 의미하지는 않는다.[11] 하프라이프 2가 출시된 시점의 소스 엔진에는 기존 하프라이프 엔진에 남아있던 일부 더비 소스 코드가 남아 있어서 2003년 유출 사건 발생 때 하프라이프 2의 소스 엔진도 여전히 퀘이크 1 엔진이라는 주장이 있기도 했으나 말도 안되는 억지 주장이었으며, 결국 그 더미 코드들은 소스 엔진이 버전업 되면서 사라졌다.[12] 카운터 스트라이크 온라인의 스팀 배급판이다. 자국 서비스 지역인 한국, 대만, 중국에선 지역락이 걸려있다.[13] 스벤 코옵 팀에서 GoldSrc를 개조한 엔진인 Svengine과 FMOD를 병행 사용한다.