HPL Engine: Frictional’s Horror Engine From Penumbra to Amnesia: The Bunker

Two of HPL's three generations are on GitHub under GPLv3. The one powering SOMA and Amnesia: The Bunker is not. Here's the split, the verified game list, and what you can actually build with it.

Abstract illustration of three receding doorways, the nearest two drawn as open blue outlines and the furthest one solid and closed, representing the three generations of the HPL engine

Frictional Games has shipped eight horror games of its own on an engine two people started building for a university thesis. HPL — named after H.P. Lovecraft — went from a 2D platformer to Penumbra, then to Amnesia: The Dark Descent, and on to SOMA and Amnesia: The Bunker. Very few studios of Frictional’s size still run their own technology, and fewer still give any of it away.

That last part is what most pages about HPL get wrong. Two of the three versions really are open source, under GPLv3, sitting on GitHub right now — and the third one, the version that actually powers the modern games, is not and never has been. This page separates those clearly, tells you what to do if you want to build something rather than read code, and corrects a credit error that has followed the Amnesia series around for years.

What Is the HPL Engine?

HPL is the in-house game engine of Frictional Games, written in C++ with AngelScript for game logic and built specifically for first-person horror. It exists in three generations: HPL1 (the Penumbra games), HPL2 (Amnesia: The Dark Descent) and HPL3 (SOMA, Amnesia: Rebirth, Amnesia: The Bunker). HPL1 and HPL2 have been released as open source under GPLv3; HPL3 remains closed. The engine grew out of a 2D university thesis project and had a 3D layer added on top rather than being rewritten.

DeveloperFrictional Games (Sweden), founded by Thomas Grip and Jens Nilsson on 1 January 2007
Named afterHoward Phillips Lovecraft
Written inC++, with AngelScript for gameplay scripting
Built onOpenGL, OpenAL, Newton Game Dynamics (HPL1)
Open source?HPL1 and the HPL2-era Amnesia code: yes, GPL-3.0. HPL3: no
HPL1 gamesPenumbra: Overture (2007), Black Plague (2008), Requiem (2008)
HPL2 gamesAmnesia: The Dark Descent (2010), A Machine for Pigs (2013)
HPL3 gamesSOMA (2015), Amnesia: Rebirth (2020), Amnesia: The Bunker (2023)
StatusActively used. Frictional’s announced next project is Ontos
The HPL Engine Timeline, 2007 to 2026 Six milestones on a single horizontal line, from Frictional Games’ founding in 2007 to its announced next project in 2026. The green marker shows the engine is still in active use. The HPL Engine Timeline 2007 Frictional founded; Penumbra on HPL1 2010 Amnesia on HPL2; HPL1 open-sourced 2015 SOMA debuts HPL3 2020 Rebirth; Amnesia source released 2023 Amnesia: The Bunker ships 6 June 2026 Ontos announced; HPL3 still closed
HPL milestones, 2007–2026. The green marker means the engine was still in active use when this page was checked in August 2026. Sources: the Frictional Games GitHub repositories, the studio’s own blog and site, and each game’s release record.

Can You Download the HPL Engine?

Partly — and the split matters.

  • HPL1: yes. The engine source has been public since 2010, when Frictional released it after the Humble Indie Bundle run, and it sits on GitHub under GPL-3.0. Penumbra: Overture‘s game code is published alongside it. The repository is not actively developed — its last commit was in December 2017 — but it contains the released HPL1 engine and game source.
  • HPL2: yes, by way of the games. Frictional published the source for Amnesia: The Dark Descent and A Machine for Pigs in October 2020, also under GPL-3.0. There is no separate “HPL2 engine” repository; the engine comes with the game code.
  • HPL3: no. There is no public HPL3 repository, no SDK and no licence to buy. The engine behind SOMA, Rebirth and The Bunker has never been released.

Frictional has been consistent about the last point for a long time. Asked about commercial licensing back in 2013, the studio wrote that the answer is always “no” — not out of secrecy, but because there was no documentation and no capacity to support outside users. That reasoning still holds: HPL is a tool built for one studio’s games, not a product.

If you want to build rather than read, the practical route is modding. HPL2 shipped with a Level Editor, Model Editor, Particle Editor and Material Editor plus a documentation wiki, which is what produced the enormous Amnesia Custom Stories scene — including full total conversions such as Penumbra: Necrologue. SOMA, Rebirth and The Bunker all support custom stories through Steam Workshop, and Frictional released the Rebirth editors after launch.

One caveat worth understanding before you fork anything: GPLv3 is copyleft, not permissive. Distributing a derivative work built on GPL-covered code can trigger obligations to release your own source under the same licence. Exactly where that line falls depends on how your code combines with theirs, so if you are planning to ship commercially, read the licence properly and take advice — do not treat the repository the way you would an MIT-licensed engine. Note also that the released code covers the engine and game logic, not the art, audio or level assets, which remain Frictional’s.

Where HPL Came From

The origin story usually gets mangled, so here it is straight. Thomas Grip and Jens Nilsson met while Grip was working on Unbirth, a cancelled hobby project. When their university courses were ending they built a thesis project together — a 2D platform game called Energetic — and, as Grip later put it, “the engine was actually named HPL at this point.”

Moving to 3D was additive rather than a rewrite. In Grip’s description of the transition, a 3D layer was built on top of the existing 2D engine, so the 2D functionality stayed put: “It is still possible to make a 2D tile game using our engine.” Frictional Games was formally established on 1 January 2007, and Penumbra: Overture shipped that March.

The Three Generations

HPL1 (2007–2008) — OpenGL rendering, OpenAL audio and Newton Game Dynamics physics. Its signature was object interaction: doors you pull, drawers you slide, valves you turn with the mouse rather than a keypress. That physical interaction, not the graphics, is what made Penumbra feel different. It had no real modding tools, which Frictional attributed to time and staffing.

HPL2 (2010–2013) — the version most people mean when they say “the Amnesia engine.” Community technical documentation credits it with replacing HPL1’s portal-based occlusion with coherent hierarchical culling — a named 2004 algorithm from Bittner et al. — and with adding screen-space ambient occlusion and shadow maps in place of HPL1’s stencil shadows; Frictional has not published its own breakdown. What is not in doubt is its legacy: HPL2 shipped with a full editor suite and a documentation wiki.

HPL3 (from 2015) — built alongside SOMA, and the first generation designed for consoles as well as PC: SOMA shipped on PlayStation 4 at launch, whereas the HPL2 games only reached consoles through ports from 2016 onwards. It added global sunlight with real-time shadows and genuinely lit outdoor scenes, in-engine terrain generation with dynamic LOD, level streaming without loading screens between areas, and HPSL, a dedicated shading language Frictional developed for its rendering pipeline.

Was the Amnesia Series Made by The Chinese Room?

No — and this is the most persistent credit error attached to this engine. Amnesia: The Dark Descent (2010) was developed and published by Frictional Games, designed by Thomas Grip and Jens Nilsson, with Grip among its programmers.

One Amnesia game came from another studio: Amnesia: A Machine for Pigs, developed by The Chinese Room and published by Frictional in September 2013. Everything else in the series — The Dark Descent, the Justine expansion, Rebirth and The Bunker — is Frictional’s own work. Attributing the series to The Chinese Room reverses the relationship: Frictional built the engine and the franchise, then handed one entry to an outside studio.

Games Built on HPL

GameYearEngineDeveloperNotes
Penumbra: Overture2007HPL1Frictional GamesSource published on GitHub
Penumbra: Black Plague2008HPL1Frictional Games
Penumbra: Requiem2008HPL1Frictional GamesPuzzle-focused expansion
Amnesia: The Dark Descent2010HPL2Frictional GamesSource published, GPL-3.0, October 2020
Amnesia: Justine2011HPL2Frictional GamesFree expansion
Amnesia: A Machine for Pigs2013HPL2The Chinese RoomPublished by Frictional; source published 2020
SOMA2015HPL3Frictional Games92,000 copies in ten days
Amnesia: Rebirth2020HPL3Frictional GamesEditors released post-launch
Amnesia: The Bunker2023HPL3Frictional GamesReleased 6 June 2023

Ontos, Frictional’s announced next project, appears on the timeline but not in this table: the studio has not publicly identified its engine generation, so listing it here would assume the answer. Third-party total conversions on HPL2, such as Penumbra: Necrologue (2014), are their own category — full-length games built on Frictional’s tools by other teams.

What HPL3 Does in Amnesia: The Bunker

The Bunker is the most interesting thing HPL3 has been asked to do, because it inverts the series’ design. Instead of scripted set pieces in a linear castle, it drops you into a semi-open WWI bunker with a generator that runs down, a revolver with limited ammunition, and a monster that roams rather than following a script. The design lead and creative lead have discussed publicly how the Beast’s AI works within the engine’s constraints — a systemic adversary reacting to noise and player behaviour instead of triggering on scripted volumes.

That is a meaningful engine story, not just a design one: an engine that first shipped with the heavily authored SOMA was, eight years later, supporting emergent and systemic play. It shipped on 6 June 2023 for PC, PlayStation 4, Xbox One and Xbox Series X|S, with a Switch version through Abylight Studios announced in January 2025.

Is HPL Still in Use?

Yes. Frictional’s announced next project is Ontos, and the studio continues to tag its own blog posts across HPL1, HPL2 and HPL3 — so it is still building games on technology it owns. What is not public is whether the HPL3 codebase itself continues to evolve internally, or whether Ontos runs on a newer generation. Frictional has not said, and we found no evidence either way.

One point of precision, because fan sources disagree: Frictional does not publish version numbers beyond those three. Fan wikis describe the Rebirth and Bunker iteration as “HPL 3.5” and an eventual “HPL 4” for Ontos, but those labels do not appear in Frictional’s own categorisation. Treat them as community shorthand rather than official versioning.

Key Takeaways

  • HPL is Frictional Games’ in-house C++ horror engine, scripted in AngelScript and named after H.P. Lovecraft.
  • HPL1 and the HPL2-era Amnesia code are open source under GPL-3.0; the Amnesia source went up in October 2020.
  • HPL3 has never been released — no repository, no SDK, no licence. It powers SOMA, Rebirth and The Bunker.
  • The Chinese Room made one Amnesia game, A Machine for Pigs. The Dark Descent is Frictional’s, and so is the rest of the series.
  • The engine started as a 2D thesis project called Energetic and had 3D added on top rather than being rewritten.
  • GPLv3 is copyleft: forking HPL1 or the Amnesia code means publishing your own source, unlike the MIT engines elsewhere in this directory.
  • The engine is still in use — Frictional’s next project, Ontos, is announced — but whether HPL3 itself is still evolving internally is not public.
  • If you want to make something with HPL, mod it — the HPL2 editors and Steam Workshop support are the supported path.

Frequently Asked Questions

Conclusion

HPL is a useful counter-example to the idea that small studios cannot afford their own technology. Frictional has run three generations of it over nearly twenty years, shipped a genre-defining game on the second and a systemic survival horror on the third, and given away the first two rather than letting them rot.

What it is not is something you can adopt. The open parts are a decade or more old and carry copyleft obligations; the current part is not for sale at any price. Read HPL1 and the Amnesia source to understand how a small team builds an engine that punches above its budget, then mod the games if you want to make something in that world. For engines you can actually build a product on, our directory of 100+ C and C++ game engines sorts the field by licence and category.

Scroll to Top