Amnesia Wiki
Advertisement
Amnesia Wiki
Wikipedia-logo-v2
Wikipedia has a more detailed and comprehensive article on HPL Engine.
The subject of this Amnesia Wiki article is a real life subject and cannot be edited to the same level of accuracy as the corresponding Wikipedia page. If readers are curious to know more, we recommend exploring the subject of HPL Engine further.

HPL is the name given to the in-house, cross-platform 3D game engine that empowers the games released by Frictional Games. It is written in C++, with three major versions released thus far.

Capture

A box is opened using the physics engine.

Overview[]

In general terms, a game engine is the software portion of a game that enables and manages several aspects of a video game, in order to run on a computer or a dedicated game console, such as:

  • Graphics: light and shadow management, visual effects such as SSAO and radial blur, camera perspective, texture rendering and interaction with graphic APIs such as OpenGL in order to accelerate calculations using available hardware.
  • Scripting on scenario objects and events.
  • Enemy AI management.
  • Sound management, generation, panning, post-processing, mixing and other tasks.
  • Memory allocation and management for the duration of the execution of the game.
  • Processing of player's input from mouse and keyboard so these reflect in actions inside the game.

And other necessary tasks during the game's execution.

200px-Penumbra-Overture-Object-Interaction

Interaction with box using Physics Code in Penumbra Overture

In older game generations (circa the 1980's), games were usually written as a whole contained program, and reutilization of parts of the code from one game into another was rarely seen (one case being the NES game Kid Icarus using Metroid 's engine, although this is more of an exception). During the 1990's decade and later, a trend began with companies like iD Software and their games Doom and Doom II: Hell on Earth (built using their in-house idTech engine, also known as the Doom Engine) to create a game and reuse its underlying framework in other games with tweaks and -sometimes- major enhancements (eg. Heretic, Hexen: Beyond Heretic, Strife, Quest for the Sigil), whether by themselves or by licensing it to other developer companies, thus giving birth to the modern concept of game engines.

Building a game engine from scratch can take considerable amounts of time and resources, to the point that several companies have chosen to license one for their own games from another company. Because of this, it can be considered that Frictional Games making their own engine is quite a remarkable feat, especially when taking into account that this is an independent company, with no support or resources from powerhouses like Electronic Arts or Ubisoft, for example.

Industry Standards support[]

HPL supports the following cross-platform libraries:

Versions[]

Version of the engine greatly depend on the game they're for, thus things like features, documentation, and mod support can vary greatly from version to version of the engine, and from game to game.

HPL 1[]

The first version was created in December 1994 as a 2D game engine for a college thesis, to run a game called Energetic in 2005. It was eventually overhauled to accommodate 3D graphics and the first demonstration of its capabilities was the Penumbra Tech Demo. An open-source, GPL V3-licensed version of HPL 1 was released on May 12, 2010.

In 2010, Penumbra: Overture was included in the Humble Indie Bundle, an initiative to sell bundle games and raise funds for charity. Once it reached the $1 million milestone, the source code from Overture as well as some modding tools were released under the GNU General Public License.

HPL 1 has been used for these games, and other works:

HPL 2[]

The second version of the engine received several technical upgrades. While the first one used a portal system to do occlusion culling (a process which determines what objects should be culled, and which should not), HPL 2 uses a dynamic culling system technique called Coherent Hierarchical Culling. Other enhancements included are support for SSAO and shadow maps instead of shadow stencils, allowing for more realistic environmental light and shadows, rising the minimal hardware requirements to run when compared to previously released HPL games. This version of the engine was used for the first two Amnesia games, with a modified version dubbed HPL 2.5 being used for the second one.

On September 23, 2020, it was announced that the HPL 2 Engine source code from both The Dark Descent and A Machine for Pigs were officially released as Open Source software, once more under the GPL v3 licence.

HPL 2 has been used for these games:

HPL 3[]

The third version of the HPL Engine includes more features such as global sunlight along with shadows, allowing fully lit outdoor scenes, a feature not implemented in previous versions, level streaming (no loading screens between levels), in-engine terrain generation and dynamic terrain LOD. HPL 3 was used in Frictional Games' existential science fiction horror game SOMA; While for the Amnesia series, Amnesia: Rebirth and Amnesia: The Bunker use a modified version of the engine dubbed HPL 3.5.

HPL 3 has been used for these games:

Modding Tools[]

While HPL1 - mainly due to time and personnel unavailability constraints - did not have any major modding tools from Frictional, HPL2 received several more tools and documentation available in this regard.

Available tools consist of a Level Editor, a Model Editor, a Particle Editor and a Material Editor, with a dedicated wiki containing instructions on the use of said tools.

Hpl 2

HPL Engine 2 Level Editor

Custom Stories in Amnesia: The Dark Descent[]

These modding resources enabled players to create mod maps and levels for Amnesia: The Dark Descent called "Custom Stories" in-game, some of them with remarkable craftsmanship displaying elements such as new, original game stories, new items with special properties, custom maps, custom voice records for Notes and Quotes, custom Loading Screens and even new 3D models imported into the game.

Currently, the Frictional Games' Forums host dedicated sections where creators and players of these Custom Stories can gather and showcase their work, as well as discuss the development and provide feedback on them.

Trivia[]

  • The engine received its name after initials from the name of the American horror, fantasy and science-fiction writer Howard Phillips Lovecraft, popularly known as H.P. Lovecraft, whose work is a strong inspiration for the crew at Frictional Games.

External links[]

Advertisement