19,298 Commits over 1,614 Days - 0.50cph!
TribeTrackerPortrait text is consistent with UnitInfoWidget
Unit.Roles.GetActiveRole now outs whatever Role the primary AI behaviour is tagged with, GetPrimaryRole outs the Role with highest weight
Added Binary Heap class for optimal priority access to the list of decisions that Decision Maker executes over.
Added optional decision making path in DecisionMaker that returns a binary heap of decisions (all decisions), sorted by decision score, so that the best decision is always at the top of the heap. It also returns the number of elements that scores over the decision threshold, so that we know how many items on the top of the heap we consider "best decisions".
People no longer to try to start conversations with people who are busy building, crafting or gathering stuff
UnitAttachments.CanAttach checks validity of points that will be blocked by attaching the item passed in (blocked, occupied)
ProcessItemIntoDesiredItem GoalPlan filters items that are held by other units
Rather than Decision being a binary heap item for priority heaping, we let Goal and GoalPlan be the binary heap items instead. This is because we don't want DecisionMaker to clear away our sorted decision scores for goals when we create the heap of goal plans (necessity of moving to an iterative approach). This also greatly simplifies how much Agent+DecisionMaker must touch Decisions.
Items can define crafting sounds in their data, AnimationAudioBundle asssts have a special mode for playing item craft sounds
Getting there... Iterative approach to best goal with support for moving to next best goal and so on when finding goal plan fails...
testing a small change to edge scrolling
spear crafting sound edit
Actions.CraftItem handles animation internally, exposed param name in item data
Removed animation actions from crafting abilties
AmbientSoundPlayer cleanup
fixed/changed mat on shelter
Interaction position data for medium hut
SmartObject init spits errors when interactions are flagged as positonal but no positions are defined
Fixed UnitCommandsWidget not reseting category toggle state
AI designer inline creation for goals/plans in node graph
making small shelter work
footsteps added to walk carry anim
Actually fixed building category toggle states
added interaction positions back
Fixed BiomeMaterialObject.GetMaterialsFromLibrary not grabbing disabled/inactive renderers
Fixed disabled BuildingView components on some prefabs...
Fixed UnitItembar UI showing items that the Unit is not holding
Split selectable indicator widget into two seperate widgets, one for hover and one for selected indiactors
Building hovered indicator shows construction progress ball
When iterating goal plans, we now try to construct a valid goal plan variant for the current goal plan, and if that succeeds we try to set it as the new behaviour of our agent.
When picking a goal or goal plan when multiple elements scored above the given threshold, we now reinsert elements that fail but with a slightly lower score than the new top of the heap element, since we have no guarantees that a goal or goal plan has a valid path to a goal plan variant.
Added in the debug hooks.
Goal now buffers the blackboard of it's latest decision, for use when scoring goal plans. Renamed the root function and commented out the old root function, so that the new DM path is now used by agent (for testing).
This now seem to work, but obviously needs more rigirous testing to confirm that it doesn't fuck up.
Some optimizations. Set max goal count to 50 and max goal plans per goal to 25, as allocation presumptions for the binary heaps in agent+decisionmaker + made the binary heaps shared among all agents (since they're only ever accessed within the scope of SimTickDecisionMaker().
Fixed a few bugs, there's definitely more.
Ooops, forgot to use the goal blackboard rather than temporaryBlackboard for goal plan fallbacks.
Save game UI loads snapshots on demand, doesn't allocate new textures
run sfx to animation event