HPL Engine

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

Lua error in package.lua at line 80: module 'strict' not found.

HPL Engine
Opening a chest using the physics code in Penumbra: Overture
Opening a chest using the physics code in Penumbra: Overture
Developer(s) Frictional Games
Written in C++
Platform Windows, Mac OS X, Linux, PS4
Type Game engine
License Proprietary/GNU General Public License
Website {{#property:P856}}

The HPL Engine is a 3D game engine created by Frictional Games. The engine, named after the initials of horror author H. P. Lovecraft,[1] was started in December 2004,[2] as a thesis job[clarification needed] for a 2D platform game Energetic, released in 2005.[citation needed] The functionality for 3D games was added later,[3] which culminated in Penumbra Tech Demo in 2006. In 2010, the first version of the engine (HPL1) together with Penumbra: Overture was released as open source under the GPL license, after the Humble Indie Bundle promotion finished.[2]

Features

HPL is a cross-platform game engine which is compatible with the OpenGL, OpenAL, and Newton Game Dynamics libraries.[4][5] One of the engine's defining features is its ability for advanced object interaction through the use of Newton's physics code.[6]

HPL Engine 1

The first incarnation of HPL was demonstrated by the original Penumbra Tech Demo. The developers admitted to making significant modifications of the original engine to accommodate the 3D graphics in this game, "The engine is built from an engine created when making a thesis job which resulted in the platform game Energetic. Before moving into the 3rd dimension I made some cleanup of the engine (which was quite rushed in some places) and started to add a base for 3D rendering. I would not say that the original 2D engine was modified to add 3D, but rather a 3D layer was added so all of the 2D stuff is still there. It is still possible to make a 2D tile game using our engine."[3] Another innovative feature of the engine was its ability to have static as well as dynamic shadows, allowing people with less powerful video cards to still experience some shadowing effects without the need of having to dynamically render them.[7]

Penumbra: Overture was released as part of the Humble Indie Bundle,[8] and when the Bundle made more than $1 million, Overture was released under the GNU General Public License. This release included the game engine and development tools.[9]

The following games use this incarnation of HPL:

HPL Engine 2

HPL 2 is the engine being showcased in Frictional's game series Amnesia, which has various new features and advancements. While HPL 1 used a portal system to do occlusion culling (a process which determines what objects should not be drawn), HPL 2 uses a dynamic culling system technique called Coherent Hierarchical Culling. HPL 1 also used stencil shadow volumes for shadowing while HPL 2 uses shadow mapping. The engine also boasts new effects such as Screen Space Ambient Occlusion, proper decals and a new rendering technique called Deferred shading. This causes HPL 2 to have higher systems requirements than the previous HPL Engine.[10]

The following games use this incarnation of HPL:

HPL Engine 3

HPL 3 is currently in use by Frictional Games for its game Soma.[11][12] New major features are:

References

<templatestyles src="Reflist/styles.css" />

Cite error: Invalid <references> tag; parameter "group" is allowed only.

Use <references />, or <references group="..." />

External links


  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. 2.0 2.1 Lua error in package.lua at line 80: module 'strict' not found.
  3. 3.0 3.1 Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. Lua error in package.lua at line 80: module 'strict' not found.
  16. Lua error in package.lua at line 80: module 'strict' not found.
  17. Lua error in package.lua at line 80: module 'strict' not found.
  18. Lua error in package.lua at line 80: module 'strict' not found.