HPL Engine
# HPL Engine

HPL Engine è un motore grafico 3D sviluppato da Frictional Games. Esso prende il nome dalle iniziali del noto scrittore di romanzi horror H. P. Lovecraft.

## Storia

Venne lanciato nel 2004 come tesi dimostrativa per il videogioco platform "Energetic", pubblicato nel 2005. La funzionalità per i giochi 3D è stata aggiunta in seguito, la quale ha portato alla Tech Demo di Penumbra nel 2006.

Nel 2010 la prima versione del motore grafico (HPL1) e Penumbra: Overture sono state pubblicate come Open Source sotto licenza GPL, dopo la fine della promozione da parte del Humble Indie Bundle.

## Caratteristiche

HPL è un motore di gioco platform, compatibile con OpenGL, OpenAL e le librerie del Newton Game Dynamics. Una delle caratteristiche tipiche di questo motore è l'interazione avanzata con gli oggetti che sfrutta i codici della Fisica di Newton.

## Versioni

### HPL Engine 1

La prima versione dell'HPL è stata testata con la Tech Demo di Penumbra. Gli sviluppatori comunicarono in seguito che avrebbero modificato ulteriormente il motore di gioco per accogliere la grafica 3D. Un'altra caratteristica dell'HPL è stata la possibilità di settare le ombre come statiche e dinamiche, permettendo così anche ai giocatori con schede video poco potenti di godere degli effetti d'ombra senza impostare queste come "dinamiche". Penumbra: Overture è stato pubblicato come parte dell'Humble Indie Bundle, e quando questo ha fruttato più di un milione di dollari, esso è stato reso disponibile sotto la GNU General Public License. Questa versione conteneva il motore di gioco e i relativi strumenti di editing.

I giochi che sono stati sviluppati con HPL1 Engine sono:

* Penumbra: Overture
* Penumbra: Black Plague
* Penumbra: Requiem

### HPL Engine 2

HPL2 è la nuova versione del motore di gioco HPL, che presenta nuove funzionalità e miglioramenti. Questa versione utilizza un sistema di abbattimento dinamico denominato Coherent Hierarchical Culling, a differenza della prima versione del motore, in cui un processo denominato Occlusion Culling determinava quali oggetti non dovevano essere compilati. HPL2 utilizza inoltre una mappatura d'ombra, caratteristica assente nella precedente versione, in quanto HPL1 utilizzava dei volumi d'ombra per ombreggiare gli oggetti. Il motore vanta anche nuovi effetti, quali lo Screen Space Ambient Occlusion, decalcomanie corrette e una nuova tecnica di rendering chiamata ombreggiatura differita. Questo permette al HPL2 di avere dei requisiti di sistema più alti rispetto al HPL1.

I giochi che sono stati sviluppati con HPL2 Engine sono:

* Amnesia: The Dark Descent
* Amnesia: A Machine For Pigs

### HPL Engine 3

HPL3 è utilizzato per Soma, un survival horror pubblicato da Frictional Games nel 2015 per PC e PlayStation 4. Le nuove caratteristiche annunciate sono:

* Luce solare globale all'aperto fusa con le ombre, che permette di giocare in scene completamente all'aperto (caratteristica assente nelle due versioni precedenti).
* Nuovi livelli di dettaglio del LOD (Livello di Dettaglio) del terreno.
* Script di aggiornamento.
* Supporto DirectX.
