101 Commits over 151 Days - 0.03cph!
Fixed fucked ambient lighting
Hostile NPCs will attack anything that isn't a friend
Rip out leaderboards page for now
Fixed slider control being positioned wrong
Fixed blocked door after crowbar pickup area
Fixed not being able to change weapons/pick up new ones
Fixed a couple of wonky collision meshes that were making it impossible to finish the demo
New map compile
Remove light trigger volumes since performance is good without em
Proper validation in PlayerInventory
Interaction system error fixes
Mark a door as technically open if the starting rotation is non-zero, means you can push preset ajar doors
Minor adjustments to door to match design
Adjust base door rotate speed
Make doors behave as we wanted them to
Fixed incorrect IsAllowedTransitionState logic
AlertState uses scoring and FromStates (from Idle, or Patrol only)
Start designing FromStates, state entry scores
PatrolState is implemented using scoring system now
Actually apply TimeSinceFootstepEvent
Stop reacting to our own footsteps
General cleanup
Give the other guy a patrol path so he can return to it after battering the crackhead
Update AI playground scene
Helper utility to walk AI actors to a set destination (RTS style)
Refactor AttackingState to be derived from Chase, AI can fight eachother kinda now
Fallback for if the attacker lost its target somehow
AI broadcast footstep stimuli too
States can override the actor's wish speed
Patrol State can define a delay between navigating to the next patrol point, random speed each time too (https://files.facepunch.com/tony/1b1411b1/sbox-dev_CXoCBRrtRs.mp4)
Port Alex's work on patrol paths over to the main branch, with a few changes.
Building blocks for AI relationships (friendly tags, enemy tags, no tags found = neutral), added line of sight debugging (op_dev_ai_los)
New AI playground
Kill StateMachine experiment and all associated code
Moved player movement temporarily into OnUpdate because I'm having some problems with FixedUpdate
Fixed insufficient stack overflow
Moved Editor folder, updated .gitignore to reflect new changes
Type updates on demo_02_level
StateTransitionDelegate returns a bool (to permit a transition)
StateMachineResource can spit out a GameStateMachine with more digestible info for a state machine to use
Add ability to click a connection and edit its transition via actiongraph
Make StateMachineNode.Identifier ReadOnly
Show last 5 characters of identifier for debugging
Refactor, hook up connections, started work on storing transition actions
Show state name overrides separately
Use EditorJsonOptions instead of defining our own
Draw entry nodes differently to normal nodes
Add node ui style, inspector, can create existing StateMachine.State types (https://files.facepunch.com/tony/1b2111b1/sbox-dev_MptZKRQPCW.mp4)
More boilerplate for nodes / graph
Start blocking out state machine resource + editor window
Doubled reach for crowbar attacks
Add ActionGraph node for quickly creating a prop
Hook up block anim for new npc
Fixed melee hit effect not playing, removed some serialized timesince/timeuntils in anim states
Run the hit effect on every hit attack
animgraph: Updated parameters to include new states
AttackingState: run Agent.LookAt every frame instead of on state tick (which is staggered at 0.2s or so, so it was very jittery before)
Kill off stimuli if it's based on old information. Idle state uses full body anim
Play actor voices a bit infront of their mouth
Hook weapon_attack_idle in
animator: lerp wish move
Don't drain durability for npc weapon
AI can maintain movement while trying to attack the player
Position weapon on the npc properly