Context
Today was about closing the loop on multiplayer issues and tightening up some core interaction patterns that had started to sprawl.
Multiplayer Visual Fixes
I completed the remaining multiplayer fixes from yesterday. The root cause ended up being fairly simple:
- The math driving visual placement was incorrect
- This caused visuals for non-primary players to spawn extremely far away
Once corrected, visuals now appear correctly for all players in multiplayer sessions.
Global Action Cursor Refactor
I also refactored the action preview cursor:
- Previously, each tool owned its own cursor logic
- This led to duplication and inconsistent behavior
I pivoted to a single global cursor that:
- Listens for player state and equipped item
- Displays the appropriate preview regardless of tool
This significantly simplifies the system and makes future tools easier to add.
Seeds as Equipable Tools
I changed the behavior of Seeds to function like tools:
- Seeds can now be equipped
- Players can walk around with a placement cursor visible
- Multiple seeds can be planted in succession without reopening the inventory menu
This makes planting much faster and more fluid.

Summary
What I accomplished:
- Fixed remaining multiplayer visual issues.
- Corrected placement math for non-primary players.
- Refactored tool-specific cursors into a global action cursor.
- Updated Seeds to behave as equipable tools.
What I learned:
- Multiplayer bugs often come down to simple math errors.
- Centralizing shared UX elements reduces complexity.
- Treating similar interactions consistently improves player flow.










