HomeGamesUpdatesPricingMethodology
Steam News8 January 20265mo ago

Dev Diary 6

Anger, rage, irritation. Slept for 5 hours, got up, tried to code but nothing. False start after false start, then, just as im about to get going - MEOW! Cat. Again.

Full notes

Full Dungeon Flop update

Read the full published notes in a cleaner layout. The original post stays linked below.

What changed

1 fix1 addition8 changes0 removals
  • Gameplay
  • UI and audio
  • Fixes
  • Events
changedAnger, rage, irritation. Slept for 5 hours, got up, tried to code but nothing. False start after false start, then, just as im about to get going - MEOW! Cat. Again. Here i am the one saying i need to take this high road and crap, like some well adjusted goody2shoe. Well, im not. Im just as screwed up as everyone else. Its in the reflection later, once everything simmers down, that those reminders of what i should be doing, how i should be action, those creep in. And of course, then you feel like crap. Anger is useful, it gets stuff done. But directionless anger, that just lashes out, that costs you.
addedI got the dialogue editor about 60% of the way there, maybe more. It lets you make new stories, and this editor will generate the XML for you based on the story time line you cobble together. I think i touched on this yesterday (cuz that was what we were working on). The hard part for it was the choice node. Its got a lot of moving parts, and tell ya what - here is a pic of that component.
changedThe required flags and given flags section crawls through the dialogue module to find all possible flags. This is then represented with a drop down component that fills the section under their respected content holders. Jump to tells it what node it jumps to on the choice selection. And costs are ... how much that choice costs. By itself, not hard (though making UI/UX is ALWAYS a struggle for me), but the fact that its parsing xml and then populating runtime data makes it kind of a pain.
changedAfter that, i went for a walk, and then when i got back, i started putting in the logic for aiming abilities in direct control. If you double click a mobs portrait, that puts you in direct control of the mod, letting you do WASD to move and now, it tells melee abilities to not fire automatically, but to wait for user input AND turns on a reticle thingy. ALL HAIL RETICLE THINGY!
changedNow i just have to polish it up and make it behave how i want! Fun! Tech talk, i'm using polymorphism here. So i have an interface, which is like a contract that hold some logic. Any class that implements that interface, must implement that logic (such as function name). Then, if i ever need to, i can just call in "trigger" on the interface and it will fire that "trigger" logic - which could be different if used for a melee ability vs a ranged ability. Man, im explaining this like crap - let me put chatGPT on and it can give you a more professional description of what we did today.
changedDev Diary – Direct Control Targeting Architecture (Technical)Targeting Policy Interface Abilities resolve targets through a pluggable [c]IAbilityTargetingPolicy[/c] Tactical (AI / auto) and Direct (player-aimed) targeting are fully interchangeable Target resolution is now side-effect free and query-only

Anger, rage, irritation. Slept for 5 hours, got up, tried to code but nothing. False start after false start, then, just as im about to get going - MEOW! Cat. Again. Here i am the one saying i need to take this high road and crap, like some well adjusted goody2shoe. Well, im not. Im just as screwed up as everyone else. Its in the reflection later, once everything simmers down, that those reminders of what i should be doing, how i should be action, those creep in. And of course, then you feel like crap. Anger is useful, it gets stuff done. But directionless anger, that just lashes out, that costs you.

(yes, i did say sorry to my cat after meowing back in anger. meow.)

I got the dialogue editor about 60% of the way there, maybe more. It lets you make new stories, and this editor will generate the XML for you based on the story time line you cobble together. I think i touched on this yesterday (cuz that was what we were working on). The hard part for it was the choice node. Its got a lot of moving parts, and tell ya what - here is a pic of that component.

The required flags and given flags section crawls through the dialogue module to find all possible flags. This is then represented with a drop down component that fills the section under their respected content holders. Jump to tells it what node it jumps to on the choice selection. And costs are ... how much that choice costs. By itself, not hard (though making UI/UX is ALWAYS a struggle for me), but the fact that its parsing xml and then populating runtime data makes it kind of a pain.

After that, i went for a walk, and then when i got back, i started putting in the logic for aiming abilities in direct control. If you double click a mobs portrait, that puts you in direct control of the mod, letting you do WASD to move and now, it tells melee abilities to not fire automatically, but to wait for user input AND turns on a reticle thingy. ALL HAIL RETICLE THINGY!

Now i just have to polish it up and make it behave how i want! Fun! Tech talk, i'm using polymorphism here. So i have an interface, which is like a contract that hold some logic. Any class that implements that interface, must implement that logic (such as function name). Then, if i ever need to, i can just call in "trigger" on the interface and it will fire that "trigger" logic - which could be different if used for a melee ability vs a ranged ability. Man, im explaining this like crap - let me put chatGPT on and it can give you a more professional description of what we did today.

Dev Diary – Direct Control Targeting Architecture (Technical)

Today was spent locking down the direct control aiming pipeline and formalizing how abilities switch behavior at runtime without branching or duplication.

Key work completed:

  • Targeting Policy Interface

    • Abilities resolve targets through a pluggable [c]IAbilityTargetingPolicy[/c]

    • Tactical (AI / auto) and Direct (player-aimed) targeting are fully interchangeable

    • Target resolution is now side-effect free and query-only

  • Runtime Targeting Mode Switching

    • When entering Direct Control, abilities dynamically swap to a Direct targeting policy

    • On exit, abilities revert to Tactical targeting

    • No changes to ability activation logic or method signatures required

  • Direct Aim UI as a First-Class Component

    • Aiming visuals and input are handled by a dedicated [c]DirectMeleeAimUI[/c] component

    • UI owns:

      • mouse input

      • reticle orientation

      • feedback coloring

    • Abilities remain UI-agnostic

  • Hierarchy-Safe Ability Discovery

    • Control mode manager activates targeting + aim UI via [c]GetComponentsInChildren(..., true)[/c]

    • Supports modular ability prefabs, deep hierarchies, and inactive child objects

  • Explicit Aim Lifecycle

    • [c]BeginAim()[/c] / [c]EndAim()[/c] are externally driven

    • Aiming persists across multiple attacks

    • Firing does not implicitly cancel aim

    • Clean separation between:

      • “can fire”

      • “has valid target”

  • Intentional Whiff Support

    • Attacks may be triggered with no resolved target

    • Targeting policies return [c]AbilityTarget.None[/c] safely

    • Enables spacing, feints, and future animation-driven attacks

  • Pivot-Based Reticle System

    • Reticle uses an empty transform as a rotation pivot

    • Sprite offset is authored visually in Unity

    • Supports easy future upgrades (cones, arcs, range clamps)

  • Debug Instrumentation

    • Full trace logging for:

      • control mode transitions

      • ability discovery

      • aim lifecycle

      • fire events

    • Made hierarchy and activation issues immediately visible

Overall result: Abilities are now polymorphic with respect to targeting, and direct control is layered cleanly on top of the existing system without special cases. This creates a stable foundation for extending direct aim to other ability types and for refining feel (snap, smoothing, feedback) without touching core combat logic.

Source

Steam News / 8 January 2026

Open original post

Changelog.gg summarizes and formats this update. How we read updates.