Pursuit of Value
Posted: 2020-09-07 Filed under: Uncategorized Leave a commentFinally re-established https://pursuit-of-value.com
Return of the MSDCPVMUI
Posted: 2020-02-25 Filed under: Uncategorized Leave a commentWriting is hard. Even harder when you are your own editor.
Century of Posts
Posted: 2018-07-22 Filed under: Development, MSDCPVMUI Leave a commentThe title refers to this being my 100th post here. But I’m really posting to expose the first 3 articles expanding on my previously tersely declared MSDCPVMUI pattern.
Short-cuts here or on the side-panel of this site:
Although this has sort of felt like a diversion from my tuning stuff. It actually sort of supports it.
MSDCPVMUI
Posted: 2018-05-25 Filed under: Coding | Tags: initialisms Leave a commentModel – state of things
Service – access to the state
Data-Contracts – how the state is presented to clients
Proxy – how a remote client deals with the service; the representation of service operations in another programming environment
View-Model – all sort of additional goodies to make the state and proxy behave reactively and transparently to the UI (lots of data wrappers, state-change notifications and command/selection driven service operations).
User-Interface – template driven from the view-model
I’ll admit it isn’t as succinct as pithy initialisms such as MVC or MVVM, but it is more accurate for what I do. It is generally bi-directional as well.
- Model expressed through services as contracts are accessible through proxies as view-models (and contracts) that are projected into user interface.
- User-interface is manipulated to affect view-models that use proxies to invoke service operations (typically with data contracts as parameters) that alter model state.
Since Last Summer
Posted: 2018-01-31 Filed under: Coding Leave a commentAs usual, been busy, but I took some time earlier this month to summarize code changes since June:
June
- support for Game Master client features
- construct guard configurability
- damage handling for objects/troves/ammo-bundles improved
- targeting improvements for sets of things
- diseases
- wight (undead)
- critical hit for powers and spells
- handle destroyed objects: sub-parts
- line capture: lightning bolt geometry
July
- movement updates for furnishing
- save without full reload: full rewrite with refresh
- squeeze on fall: deflection
- Hedral-Grip: 8*8 bitmask for face coverage
August
- Hedral-Grip continues
- elevation maintenance heuristic improved
- IList->IDictionary (interaction exclusions)
- improving hinder/squeeze near furnishings
- cache furnishing planar points for sides
- shuriken
- shield swap phantom limbs removed
- buckler rules conformed
- shield bash
- object binding connected sides
- throwing rule net progress
September
- more net stuff: entanglement
- Covering group adjunct: creates a “covering” slot
- Freeze trait (for gargoyle)
- character model base pogs
- actor list in service ordered by name…
- some errant “waiting” blocks removed
- Turn tracker service to client improved
- portal editor improvements
- start of Secret Corner Pivot Portal
October
- RoomAwareness updates for secret doors
- CoreIndex (object/token by Guids)
- IPanelShading and PanelShadingInfo: panel overrides cell drawing
- Secret doors
- Search actions
- auto-Search: elves and dwarves
November
- more auto-search
- trapfinding class feature
- spider throwing net
- Activation mechanisms
- LocatorMove interaction (lightweight overlapped capture zone)
- Surface trigger
- Open-close triggerable
- force open actions
- Secret Sliding Portal
- editor cleanups in workshop
- mechanism mount object: binding triggers and responses
December
- trigger editors
- triggerable editors
- merge locator editing into object editors as other tab
- attack triggerables
- Health bar in client
- proximity trigger
February-May Roundup
Posted: 2017-06-02 Filed under: Coding Leave a commentFebruary
- client UI ease-of-use
- action menus along top of actor view UI
- gem name fixes (true versus observable were reversed)
- targeting improvements/fixes
- fix for “Munchausen” bootstrapping problem (picking oneself up)
March
- ammo recovery
- throwable weapon relocation
- ammunition bundle refactoring (new model for handling groups of ammo)
April
- finishing ammo
- identity improvements
- CoreListAim and CoreListTargeting
- AmmoDropHandler: merge ammo and bundles by known identity
- use of ammo bundles and new containers with weapon strikes
- QuantitySelectAim: extract ammo support
May
- ghoul fever
- ghoul as replacement template
- zombie/skeleton template improvements as well
- ghoulify functionality (UI and ghoul fever result)
- ghoulish/ghastly paralysis
- sickened as poison damage
- ghastly stench
- temporary poison immunities on saves (if allowed by poison)
- Cleave Feat (and support classes)
- fixed coreStep problem with multiple serial steps
- proneEffect use improved
- drop handlers use falling movment
- falling-stop trove merge
- item/object damage handlers (finally)
- item/object save handlers (finally)
Visualization Overview
Posted: 2017-03-25 Filed under: Coding, General, Workshop, WPF Leave a commentThe Visualization Overview section is now available in my growing tuning series. I struggled with being somewhere between a catalog of functionality (and going too deep), an API overview (and being too shallow), and a design justification (and getting too long-winded).
Ultimately, the idea of the system overviews is to provide enough information so that the tuning pages I’m going to create have some context on what I’m tuning without me having to do it in-line and detract from the actual tuning content.
Packaging Overview
Posted: 2017-03-22 Filed under: General | Tags: packaging, serialization Leave a commentI just added some background information on the packaging assembly as part of my documentation set for experiences and insights on tuning the Ikosa framework.
First Page
Posted: 2017-03-14 Filed under: Coding, Debugging, General Leave a commentFinally finished off and published the first (non-bloggish) page of a “series” of pages I’ll be adding to (eventually) that I’d collected thoughts on about optimization stuff in the Ikosa Framework.
Roundup 2
Posted: 2017-02-15 Filed under: Coding Leave a commentJuly
- Model cache improvements
- furnishing stuff
- multiple cabinet drawer containers
- location targeting
- object storage/holding actions
- client UI work
- portal cleanup
August
- movement budget consumed on failed movement
- grasp awareness improvements
- bump-into awareness
- movement and lighting tweaks
- RoomIndex
September
- performance and edge case tweaks
- room awareness performance
- value-type usage increased
- move-cost factors for moving objects
- LocatorIndex
- removed shader effects reference
October
- auto-pump the time-tracker
- turn time-extension when creatures acting (especially moving)
- client UI concurrency stabilizations
- pouch and devotional symbol slots (for caster classes)
- menus via ObservableCollection
- auto-hit (unattended objects, friendlies with harmless)
- grip rules for climbing improved
November
- more climbing test and fix
- multi-level fractional power die
- ghoul/ghast (mostly)
- extraordinary power actions
December
- poison as a trait
- paralysis power
- mental actions
- secret saves
- disease trait
- more undead immunities (paralysis/disease)
- violet fungus
- tentacle natural weapon
- construct guard (automaton)
- extra health for constructs
- dart/javelin (needed for goblins)
- container notifies of lighting changes
- thread per actor window
- team affiliations
- user/creature binding
January
- IsMaster client handling
- multiple (closeable) actor windows
- UI re-organization
- portrait cache on client
- initiative visualizer (IsMaster)
- IsMaster master and any actor prerequisite list
- auto-turn tracker startup on unfriendly awareness