Development

Releases and development changelog

Read the complete notes for every published release and follow the latest systems, content, and fixes integrated into Ex Inferis.

Version 0.2.12 documented releases
Current releaseVersion 0.2.1

Summary

  • This first published build in the 0.2 series rebuilds the combat, boss, and dungeon HUDs around a responsive gothic interface with five independent size ranks.
  • Mouse navigation, doors, maps, and attack commands now share more reliable rules: paths respect dungeon topology, and actions entered during an offensive lock are no longer lost.
  • Primary skill paths are now reserved for their owning hero, while the Archer, Lord Veyrann, Skeleton Warrior, and enemy presentation receive their latest visual and gameplay refinements.

Skills

Sword Path

  • The Sword Path is identified as the Knight's primary path and can no longer be selected as a secondary path by another hero.
  • Armor Breaker becomes a 180-degree frontal attack covering a 3-metre radius instead of a single-target strike at 1.5 metres. Its impact occurs after 0.23 seconds, recovery after 0.64 seconds, and its animation plays at ×1.5 speed. Its five levels retain 125, 150, 175, 200, and 225% weapon damage and reduce armor by 20, 30, 40, 50, and 60% for 10 seconds, with a 5-second cooldown.

Bow Path

  • The Bow Path is identified as the Archer's primary path and no longer appears among other heroes' secondary-path choices.

Arcane Path

  • The Arcane Path is identified as the Battle Mage's primary path and can no longer be repurposed as a secondary path.
  • Living Storm now requires a clear line of effect before striking an enemy already in combat; a wall or solid obstacle therefore protects the target correctly.

Aura Path

  • The visuals for the Armor, Attack Speed, Magic Resistance, Might, and Weakness auras shrink from 3 to 2.25 metres, a 25% diameter reduction without changing their effects.

Characters

Archer

  • The Archer now targets a visual height of 1.9 metres. Scale and position are calculated after applying the idle pose to preserve consistent alignment.
  • Her attack animation may return to walking as soon as MoveSpeed exceeds 0.02, using a 0.03-second transition that prevents the offensive pose from lingering after movement begins.

Enemies and bosses

  • Lord Veyrann has 9,700 health at level 1 and scales according to round(9,700 × 1.06^(level − 1)), reaching 168,562 at level 50 and 3,104,934 at level 100. Physical resistance decreases to 0%; fire, cold, lightning, and poison resistances follow min(95, level)%, reaching 50% at level 50 and the 95% cap at level 95.
  • The Skeleton Warrior adopts a new rig and a library of 64 animations covering locomotion, attacks, defence, impacts, death, and spellcasting. Its Viking weapon is realigned in the hand, and its Cemetery presentation follows the same canonical pose.
  • Basic Zombie, Crypt Arcanist, Emberbound Warrior, Sentinel, Skeleton Bowman, and Skeleton Warrior now tint only their equipment according to elite rank while preserving the rest of each model's details.
  • Revived returns to 100% visual scale and is now called Squelette in French.

Miscellaneous

Dungeons and generation

  • Ground movement, target approach, doors, and movement skills use one versioned command. An older action can no longer finish, clear, or resume in place of a newer order.
  • Paths are checked against discovered dungeon topology: closed doors, unknown cells, missing connections, and blocked diagonals are rejected. A partial route stops at the last reachable area, while a difficult click tries up to four positions inside the intended cell before using fallback search.
  • The rectangular door rotates at 360 degrees per second, remains clickable while open or closed, and releases its navigation blockage and solid collision as opening begins. During closing, it blocks the passage again below 65% openness.
  • The minimap uses an isometric projection at ×2 zoom, remains centred on the hero, and represents discovered cells, walls, and open or closed doors. Its frame, usable surface, markers, and arrow resize together with the selected rank.
  • During generation, doors remain open until population is complete so every regular-enemy and boss position is validated by a complete NavMesh path from the hero start. They are closed afterwards even if an error interrupts the operation.
  • After the boss dies, the dungeon HUD offers Claim Victory without requiring every remaining enemy to be defeated; clearing all enemies still completes the run automatically.

Environment and scenery

  • The ornate five-branch candelabrum now ignores interaction rays and can no longer hide a target, door, or ground behind it.

Interface and quality of life

  • A modular gothic frame assembles corners, borders, and ornaments without stretching decorations. It structures the hero, target, action bar, rune, boss, dungeon, and minimap HUDs.
  • Hero health, energy, and experience bars, along with target and boss health bars, preserve their fixed illustrations: a black mask covers only the missing portion instead of compressing the fill.
  • The action bar provides ten skills and one potion. Slots are clickable, and their tooltips show the shortcut, level, energy cost, and actual cooldown. Skill tooltips wait 2 seconds on first hover, then open immediately for 1 second while moving between skill or rune entries.
  • The seven rune slots have distinct locked, available, active, and runeword-ready states. The HUD and character sheet now use the same responsive variants.
  • The target HUD displays each enemy's portrait, name, level, health, attack profile, and elite rank. Doors now have their own responsive portrait and the localised Click to open/close instruction, without a health bar.
  • Lord Veyrann's persistent HUD displays his portrait, Lord of the Crypt title, health bar, and numeric value. It returns on renewed aggression and disappears when the run ends.
  • The settings HUD tab stores five independent sizes—Hero, Skillbar + runes, Target, Boss, and Minimap—from the 64, 80, 96, 128, and 160 ranks. An in-game preview immediately refreshes every affected panel.
  • The Version screen separates the current release notes and complete history into two 128 × 50 px tabs with independent scrolling and anchors. Reopening it always returns to the top of the release notes.
  • The Windows application receives a dedicated Ex Inferis icon derived from a 256 × 256 px source for the sizes expected by the player.

Audio and narrative

  • Drinking a health potion now plays the dedicated PotionDrink sound at full volume.

Systems and progression

  • An attack click entered during a non-interruptible offensive phase is retained and executed as soon as movement is released, provided the hero and target remain valid. Forced attacks likewise retain their skill and aim through the lock.
  • Saves are normalised according to path ownership: a foreign primary path is removed from secondary selections together with skill levels invested in that path.
  • Group aggression checks a separate line of effect for every ally: an enemy hidden behind an obstacle no longer joins combat automatically.
  • A shared debug mode controls generation, navigation, and weapon-pose information. It is disabled by default in distributed builds.
  • Stable panels, the minimap, and the target HUD avoid permanent reconstruction when their content, resolution, and interface rank have not changed.

Bug fixes

  • Clicking again or moving the pointer while walking no longer briefly resets the destination or causes a stop and hitch before the new path.
  • Releasing the click during a hit reaction no longer resumes an old following intent, and the delayed end of a Dash or teleport can no longer clear a newer command.
  • A NavMesh path can no longer cut through a closed corner, cross a blocked door, leave the grid, or move a strict destination into an inaccessible neighbouring cell.
  • An interaction with a missing or newly inaccessible door no longer leaves the hero stuck approaching it. An open door remains clickable and closable, and stale click volumes no longer hide objects behind it.
  • An attack clicked or forced during an offensive lock is no longer lost. A non-forced targeted attack is cancelled if its target dies during execution.
  • The Archer no longer remains frozen in an attack pose when she starts walking, and her scale is no longer calculated from a pose different from the final displayed one.
  • Cells behind a closed door no longer lose their enemies because path validation ran after doors had already been closed.
  • The target HUD no longer repeats an enemy's level in its name, and a health change no longer rebuilds its portrait, text, and elite rank.
  • A door panel is no longer almost empty: it retains its portrait, name, and interaction instruction while hiding only the health bar.
  • Partially empty resource bars no longer horizontally shrink their illustration; the frame, fill, and numeric value remain fixed.
  • Chosen hero, target, boss, skillbar, rune, and minimap sizes are no longer lost or applied to only one part of a panel after restarting or changing resolution.
  • The boss HUD no longer remains after victory, abandonment, or hero death; it no longer disappears permanently after its introduction or uses coordinates from a previous rank.
  • The Claim Victory button appears immediately after the boss dies, even while regular enemies remain alive.
  • Locked rune slots no longer look empty, and the character sheet no longer falls back to a background different from the HUD.
  • The minimap arrow now respects the isometric projection, while its geometry and the lower HUD layout are no longer recalculated every frame without a change.
  • Group allies are no longer alerted through walls, and Living Storm no longer strikes a target protected by a solid obstacle.
  • The Skeleton Warrior's weapon is no longer displaced by an old scene override, and path or weapon-pose diagnostics no longer flood the interface outside debug mode.
  • Gothic buttons, tabs, and size selections immediately refresh their visual state; serialised text no longer falls back to a missing or inconsistent translation.
Published releasesVersion 0.2.0

Summary

  • The Battle Mage joins the playable heroes with the Arcane Path, five hybrid skills, and the Living Storm mastery.
  • The Crypt welcomes the Skeleton Bowman, while mouse movement, combat, doors, and exploration receive a complete overhaul.
  • Menus now share a consistent gothic interface, bundled typography, and new tools including a received-damage journal and a much more detailed character sheet.

Skills

Arcane Path

  • The Arcane Path offers five ranks with five skill levels each: Basic Attack at level 1, Fireball at level 10, Ice Blast at level 20, Force Wave at level 30, and Arcane Aegis at level 40.
  • Basic Attack is a physical sword strike channelled as a spell. It deals 125 to 225% spell damage depending on its level, gains 1 to 5 percentage points of spell critical chance, uses cast speed, and remains mitigated by the target's armor.
  • Fireball reaches up to 14 metres, deals 150 to 250% spell damage, and explodes within a fixed 2-metre radius on a 3-second cooldown. At levels 3 to 5, its burn adds 25, 50, or 75% of reference damage over 3 seconds.
  • Ice Blast hits a distant area up to 10 metres away for 50% spell damage. Its radius grows from 2 to 4 metres and its freeze from 1 to 3 seconds; bosses are slowed by 50% instead. Its cooldown is 8 seconds.
  • Force Wave deals 25 to 125% spell damage within a 3 to 5-metre radius. It interrupts and pushes regular enemies back 5 metres; bosses move 0.75 metres and stagger for up to 1 second. Its cooldown is 10 seconds.
  • Arcane Aegis protects the hero for 3 seconds and reflects every magical projectile. From level 3 onward, it halves incoming physical damage; at level 5, it also reflects physical projectiles. Its cooldown improves from 12 to 8 seconds.
  • The Living Storm mastery triggers every 2 seconds in combat, striking an enemy already hostile to the hero for 100% base spell damage without attracting neutral targets.
  • All five skills have their own icons, animations, sounds, and effects. Fire impacts, frozen surfaces, expanding waves, and shield runes make each arcane effect immediately recognisable.

Characters

Battle Mage

  • The Battle Mage is a hybrid hero equipped with a Basic Sword dealing 5 to 8 damage at 1.5 attacks per second and a Basic Iron Shield providing 5 armor.
  • The hero starts with 5 points in every attribute and 5 free points, 20 health, 10 energy, 10% block, 1% in every resistance, and a movement speed of 4 metres per second. Each level grants 5 health, 2 energy, and 1 armor.
  • Above the baseline of 5, Strength adds 0.4 to 0.6 physical damage per point, Intelligence adds 0.4 to 0.6 spell damage and 0.5 energy, and Vitality adds 3 health and 0.2 armor. Each Dexterity point adds 0.1 maximum physical damage, 0.0025 attacks per second, and 0.08 percentage points of physical critical chance.
  • The Battle Mage's sword attack uses spell damage, spell critical chance, and cast speed while including the equipped weapon's intrinsic damage and cadence. The result remains physical and is therefore mitigated by enemy armor.
  • A portrait, ivory-bone, bronze, and deep-purple armor model, sword, shield, readability lighting, full animation set, and combat audio are integrated into character selection and gameplay.

Enemies and bosses

  • The Skeleton Bowman joins Crypt encounters from dungeon level 6 onward and can become elite. Its level-1 profile has 28 health, 20 armor, 3 to 5 damage with a 0.7 multiplier, 3% critical chance, 5% cold resistance, 10% poison resistance, and a base reward of 35 XP.
  • It fires every 2 seconds from up to 10 metres with a reflectable physical arrow travelling at 22 metres per second. It prefers a range of 8 metres and retreats by at least 4.5 metres while recharging; a retreat destination may be reused for 0.45 seconds.
  • The procedural Crypt profile gives it a weight of 20 and guarantees at least one Skeleton Bowman in every compatible dungeon. Revived and Crypt Zombie weights decrease from 35 to 30 and 35 to 20, respectively.
  • The Skeleton Bowman has a dedicated model, bow, quiver, animations, and projectile. Its pose, walk cycle, scale, release point, arrow size, and readability lighting now match the rest of the enemy roster.
  • The Crypt Arcanist and Skeleton Bowman use more stable retreats and projectiles with a 1.6-second fade. Ranged enemies prioritise attacking once their cooldown is ready.
  • Melee fighters now spread around the hero instead of all targeting the same centre point. Enemies face their target immediately, while enemies put to sleep by procedural activation no longer participate in target searches or aura effects.

Miscellaneous

Dungeons and generation

  • Mouse movement now combines smooth direct travel along clear lines with NavMesh pathfinding when a wall or door blocks the way. The hero automatically returns to direct movement as soon as the route becomes clear.
  • Holding the button follows the pointer, while releasing it fixes the destination. Targets refresh every 1/30 second or after at least 3 pixels of movement; obstructed routes recalculate at most every 0.15 seconds after the target moves at least 0.2 metres.
  • Exploration, the minimap, the full map, and navigation now share the same topology. The hero only crosses discovered cells and genuinely open doors, favours a known detour over an unknown shortcut, and stops at the best reachable boundary when no complete route exists.
  • Doors have explicit closed, opening, open, and closing states. They become traversable at 65% of the animation, ignore new activation while moving, and impose 1 second between interactions. The panel slides 0.31 metres away from the hero and physically clears the passage as soon as it opens.
  • The Crypt uses generator version 32 and protects an 18-metre radius around the hero's start from every regular, elite, and boss group. Walls use a frictionless physics material to reduce snagging.
  • Generation reserves decoration locations before choosing wall variants, aligns each object to its real bounds, and prevents two structural decorations from occupying the same wall face.

Environment and scenery

  • The Arch of Skulls uses a 0.03-metre wall inset, the Vault of Skulls is excluded from automatic generation, and rectangular doors now open to 170 degrees to clear the passage more effectively.
  • In the Cemetery, the Skeleton Warrior is repositioned to improve the enemy-group composition. The Skeleton Bowman is raised by 1.05 metres, and Revived visual scale increases from 100 to 110%.
  • Revealed map walls are combined into a single mesh with shared segments deduplicated, greatly reducing the number of UI elements created during exploration.

Items and equipment

  • The Basic Bow now uses a native Unity mesh with 10,788 vertices and 52,575 indices, along with dedicated textures and a material. Basic, Infernal, Knight, Noble, Runic, and Soldier variants in normal, silver, gold, and diamond quality share this stable prefab.
  • Shields and equipped visuals have been adapted for the Battle Mage so the weapon, shield, defensive effects, and projectiles remain correctly attached to the imported rig.

Interface and quality of life

  • One shared gothic system now covers the main menu, credits, version notes, character selection and creation, pause, victory, defeat, dungeon selection and history, results, settings, loot, character sheet, skills, runes, buyback, respecialisation, boss introduction, and damage journal.
  • Buttons communicate their purpose through consistent styling: green for primary actions, black for returns and secondary actions, red for dangerous actions, dedicated red tabs, and gold + and - steppers. Normal, hovered, pressed, selected, and disabled states are distinct and update immediately.
  • Ornate plates preserve their native proportions through dedicated width variants. Plus, minus, close, and pagination controls use real icons supplied at 64, 80, 96, 128, and 160 px instead of font characters.
  • Cinzel is used for titles, tabs, and controls, while Source Sans 3 is used for body copy, captions, and values, with bundled TextMesh Pro fonts. Compact controls scale from 15 to 12 px, standard buttons and tabs from 17 to 14 px, and presentation controls from 20 to 16 px as space requires.
  • The main menu now measures 640 × 560 px with five 561 × 72 px buttons; the pause menu measures 620 × 650 px with five 480 × 69 px buttons. The result screen focuses on two 250 × 82 px actions, Loot and Continue.
  • The character sheet presents attributes as tiles and separates statistics into Attack, Defense, Resistances, and Miscellaneous. It distinguishes physical DPS from magical DPS, explains both formulas in tooltips, and displays actual armor mitigation as armor / (armor + 200) × 100.
  • Equipment comparisons separately report physical DPS, magical DPS, and physical mitigation changes. Strength, Dexterity, Intelligence, and Vitality points can also be removed individually down to the hero's minimum and immediately return to the available pool.
  • A bilingual received-damage journal keeps up to 500 hits per dungeon. Pressing L opens it and pauses the game; it is also available from victory and defeat screens. Each entry includes the source, type, rolls, pre- and post-defense amounts, critical state, health before and after the hit, and whether it was lethal.
  • The launcher can display localised remote messages and provides a bilingual uninstall flow. Characters are preserved by default; deleting them remains a separate choice protected by explicit confirmation. Terms acceptance also has a proper accessible checkbox.

Audio and narrative

  • The Battle Mage has dedicated footsteps, armor, attack, impact, and magic sounds. Fireball has separate cast, continuous spatialised flight, and impact audio, with full flight volume up to 20 metres and attenuation up to 100 metres.
  • Attack, block, parry, impact, and spell sounds receive a shared 1.3 volume multiplier. Attack audio remains at full volume up to 1.6 metres and fades out by 24 metres; the Knight introduction music decreases from 0.35 to 0.21.
  • A boss introduction can be skipped with Escape. The image fades to black over 0.25 seconds, restores the camera and controls, starts boss music immediately, and returns to gameplay over 0.35 seconds.

Systems and progression

  • Movement, door, and attack orders now pass through one navigation engine. Attacks distinguish approach, preparation, and recovery: only the time before impact locks the hero, who may move again as soon as the hit is released.
  • The latest order issued during an action is buffered for 0.4 seconds. A newer order replaces it, and an expired order is never replayed later.
  • Holding an enemy target pursues it and retries the attack or skill whenever it becomes available. Range is checked again at impact, and projectiles lead moving targets according to their travel time.
  • Melee attacks, targeted spells, instant areas, secondary explosions, and area bleeds check a physical line of effect for every target. A wall can therefore protect an enemy even when it lies inside an attack's mathematical radius.
  • Hero and enemy projectiles, their lights and renderers, and several temporary effects use shared pools. Enemy searches, auras, inactive enemies, doors, the minimap, and gothic buttons now avoid repeated work while their state is unchanged.
  • Elite auras share materials and meshes, while their pulse, capped at 20%, is calculated by the shader. Doors likewise stop updating once fully open or closed.

Bug fixes

  • Clicking near a wall no longer selects a destination in the next room, and a partial or temporarily invalid route no longer silently discards the movement order.
  • The hero no longer crosses a closed door or unknown cell because a physical NavMesh shortcut exists, no longer zigzags along a clear line, and no longer loses direction on release.
  • A door no longer receives two activations from one gesture, reverses midway through its animation, or keeps a panel or collider blocking a passage already reported as open.
  • Releasing the button over an already locked enemy no longer adds an extra attack. Held attacks and skills correctly resume after cooldown, pursuit, or a temporary interruption.
  • A forced, slow, or targeted attack can no longer deal damage when its target is out of range at impact. Walls now correctly block melee hits, area damage, explosions, and bleeds.
  • Cancelling or replacing a target now stops the weapon trail and lets it fade cleanly. The hero is no longer locked throughout recovery and no longer replays an old command after its buffer expires.
  • A Fireball hitting scenery now triggers its explosion, completes the associated action, and uses correct additive URP blending. Generic sounds no longer duplicate its cast, flight, and impact audio.
  • Reused projectiles and impacts no longer return with a renderer or light left disabled. The Skeleton Bowman's arrow no longer appears during draw preparation or changes scale when leaving the rig.
  • The Skeleton Bowman no longer slides with a run animation, floats above the floor, or receives a misaligned bow or release point. Its overall size and Cemetery height have also been corrected.
  • Melee enemies overlap less around the hero; ranged enemies with a ready attack fire before retreating, and enemies no longer keep facing behind a moving target.
  • Wall decorations no longer overlap structural variants, no group can spawn inside the protected 18-metre start area, and rectangular doors no longer remain nearly perpendicular to the passage after opening.
  • Map walls no longer create duplicate UI elements, and the minimap no longer rebuilds itself or searches for settings every frame while nothing changes.
  • Gothic plates are no longer stretched, control icons no longer depend on font glyphs, text no longer varies with system-installed fonts, and navigation focus no longer remains after mouse input.
  • Selected tabs, languages, skillbar sizes, and other controls no longer look disabled. Changing interactivity now refreshes the button's visual state immediately.
  • Magical DPS is no longer calculated as physical DPS, equipment comparisons distinguish both profiles, and displayed armor mitigation uses the exact same formula as incoming physical damage.
  • Skipping a boss introduction no longer schedules duplicate music or a delayed notification, and the boss interface now disappears correctly when the hero dies.
  • Enemies put to sleep no longer remain selectable by skills, Arcane mastery, or auras.
  • At maximum level, experience gains still refresh the character and HUD but no longer show a misleading floating +XP message.
  • The launcher removes obsolete files more reliably during updates and validates manifests, sizes, messages, and download responses more strictly before activating an installation.

Complete development history

The detailed commit-by-commit archive is currently maintained in French. Integrated changes do not necessarily indicate a newly downloadable beta build.

Consulter le journal complet en français