HPL Engine
HPL Engine은 Frictional Games가 개발한 3차원 게임 엔진 계열로, 《Penumbra》와 《Amnesia》, 《SOMA》 등 탐험·공포 게임의 기술적 기반이다. 게임 세계의 사물과 상호작용하고 물리적 움직임과 음향·조명 연출을 이용해 긴장감을 형성하는 데 중점을 둔다...
| 분류 | 게임 엔진, 서바이벌 호러·3D 개발 엔진 |
|---|---|
| 개발사 | Frictional Games |
| 명칭 유래 | HPL, Howard Phillips Lovecraft |
| 주요 세대 | HPL 1, HPL 2, HPL 3 |
| 작성 언어 | C++ |
| 스크립팅 언어 | AngelScript 계열 HPL 스크립트 |
| 그래픽스 | 실시간 3D 조명·그림자, 후처리 |
| 물리 | 게임 객체·충돌·강체 시뮬레이션 |
| 제작 도구 | Level Editor, Model Editor, Material Editor |
| 주요 게임 | Penumbra, Amnesia: The Dark Descent, SOMA, Amnesia: Rebirth |
| 오픈 소스 공개 | HPL 2/Amnesia: The Dark Descent 코드 |
| 공개 코드 라이선스 | GPL v3 |
| 후속 세대 | 후속 상용 HPL 구현은 별도 조건 |
| 공개 코드 저장소 | Frictional Games |
| 개발사 문서 | Frictional Wiki |
HPL Engine은 Frictional Games가 개발한 3차원 게임 엔진 계열로, 《Penumbra》와 《Amnesia》, 《SOMA》 등 탐험·공포 게임의 기술적 기반이다. 게임 세계의 사물과 상호작용하고 물리적 움직임과 음향·조명 연출을 이용해 긴장감을 형성하는 데 중점을 둔다. 작품의 요구에 맞춰 HPL 1·2·3 등 여러 세대가 개발됐다.
엔진의 실행 구조에는 장면·렌더링, 리소스, 입력·사운드, 물리·AI 및 게임 업데이트를 관리하는 구성 요소가 있다. 《Amnesia: The Dark Descent》의 공개된 HPL 2 소스에는 이러한 엔진 모듈과 타이머, 프레임 업데이트 및 게임 상태 관리 코드가 포함된다. C++로 작성된 런타임은 화면 표현과 게임플레이 시스템을 연결한다.[1]
레벨 제작자는 편집기에서 복도·방과 문, 광원·음향과 상호작용 객체를 배치한다. 스크립트는 이벤트나 게임 진행 조건을 정의하고, 맵 로딩·입장·퇴장 시점에 호출되는 함수로 장면의 동작을 제어할 수 있다. 게임별 HPL 스크립트 형식과 기능은 엔진 버전에 따라 달라진다.[2]
HPL 2의 그래픽스와 오디오·물리 시스템은 어두운 공간과 움직이는 물체를 이용한 게임플레이에 활용된다. 공포 연출에 쓰이는 실시간 그림자와 주변 효과, 캐릭터 시점의 움직임 등은 콘텐츠와 엔진 기능의 결합으로 구현된다. 후속 HPL 3 계열은 보다 넓은 공간·고급 조명·시각 효과와 장면 연결 기능을 발전시켰다.
2020년 Frictional Games는 《Amnesia: The Dark Descent》와 HPL 2 계열의 소스 코드를 GPL v3로 공개했다. 다만 공개 저장소의 README는 오래된 FBX SDK 의존성으로 인해 원본 소스를 그대로 빌드하기 어려울 수 있다고 설명한다. 이는 엔진 전 세대의 소스나 상업용 게임 자산이 모두 GPL로 공개됐다는 의미는 아니다.[3]