Full notes
Full Dungeon Flop update
Read the full published notes in a cleaner layout. The original post stays linked below.
What changed
- Gameplay
- UI and audio
- Fixes
- Events
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
Changelog.gg summarizes and formats this update. How we read updates.
