Infra Arcana

A roguelike after H. P. Lovecraft · into the lair of the Church of Starry Wisdom, for the Shining Trapezohedron

> Enter the lair
Date of birth2011 1.0 on 5 June 2011 (dev logs from August 2010); this build 23.0.0, 18 May 2025
CreatorMartin Törnqvist 2010 to today, tiles by Oryx
LanguageC++17 ~123,000 lines, SDL2
PlatformWindows, Linux SDL window, tiles or ASCII

Lineage

No parent: Infra Arcana is an original game in its own C++ code, not a variant of any other roguelike. RogueBasin names its influences as H. P. Lovecraft, horror movies and the PC shooter Blood. Development logs start in August 2010 under another name; 1.0 came out on 5 June 2011 and the game is still developed (23.0.0 on 18 May 2025, 23.1.0 in progress). It has no known descendants.

See the family tree (among the standalone originals). Sources: RogueBasin, release_history.txt, the source on GitLab.

Credits

Martin TörnqvistDesign, code and writing, 2010 onwards
Oryx(Christopher Barrett, Oryx Design Lab) the tile set, maintained long after the first draft
Agata SkrzypczykLogo and icon
Renan NunesRewrote many monster descriptions, gameplay ideas
IdeasKornel Dabrowiecki, Paul Onyschuk
MusicMusica Cthulhiana, “Madness” from the album Fragment (main menu, by permission)
SoundsMostly from freesound.org, each credited in LICENSE-AUDIO.txt
Web portThis page’s browser build: memmaker/ia

From the game’s credits.txt, contact.txt and LICENSE-AUDIO.txt.

Trivia

What's unique

Code dive

Stats

ThingCountNotable ones
Levels30early game 1–9, mid game 10–19, late game 20–30; special levels: Egypt, Rat cave, Deep One lair, Magic pool, Mi-Go outpost, the High Priest, the Trapezohedron
Monsters105Keziah Mason and Brown Jenkin, Richard Upton Pickman, Major Clapham-Lee, Dean Halsey, Khephren, Nitokris, Zuul the Gatekeeper, The Omega Sentinel, a Strange Color, Leviathan
Backgrounds6War Veteran, Rogue, Ghoul, Occultist, Exorcist, Flagellant
Traits68Treasure Hunter, Ravenous, Memento Mori, Undead Bane, Galvanization
Spells527 domains: Channeling, Corruption, Illusion, Mind, Time, Warding, Blood; Crimson Passage, Projected Strike, Temporal Echo, Mirror Images
Items162item types incl. intrinsic attacks; 9 curses (Shriek, Light sensitive, Cannot read)
Properties117status effects and resistances
Insanity19symptoms: babbling, sadism, paranoia, phobias of dogs, the dark, the dead, the deep, rats, reptiles, spiders
Traps157 mechanical (spear, web, alarm), 8 sigils (unlearn spell, alter environment)

Counted from include/*.hpp enums, global.hpp and data/monsters.xml at a084376.

Manual

The game’s own manual (manual.txt, also in the main menu), the full release history back to 2010 and the credits. Licence: AGPL-3.0-or-later (LICENSE.txt).

Getting started

  1. Open the game, choose New journey, a background and a trait.
  2. Explore with X; > walks to the stairs you have seen, a second > descends (there is no way back up).
  3. Fight with f (aim/fire), r reloads, z swaps to the prepared weapon; light dynamite from a and throw it with t.
  4. Watch Shock and Insanity in the status window; keep your lantern on and descend before shock builds up. Treat wounds with the medical bag.
  5. The Enter key lists every command; read the game’s help page for keys and saving (the game saves when you descend).

Help

We found no walkthrough or strategy guide. Rules of thumb from the game’s own manual and RogueBasin:

Cheats

Debug builds have F2–F10 cheat keys (next level, +100 XP, cheat vision, +50 shock, spawn monsters or items, teleport), compiled only without NDEBUG in game_commands.cpp. This build uses -DNDEBUG, so they are gone. No wizard mode, no cheat options.