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]

역사

개발과 기술적 배경

엔진 아키텍처

3D 렌더링과 그래픽스

맵·장면과 게임 객체

시뮬레이션·AI·물리

언어와 스크립팅

자산·편집기·개발 도구

지원 플랫폼

라이선스 및 소스 공개

적용 게임·프로젝트

관련 엔진과 문서

  1. HPL 2 엔진 소스 ↩
  2. HPL 2 스크립팅 안내 ↩
  3. Frictional Games의 라이선스와 빌드 안내 ↩