Day 46 — Multiplayer Visual Fixes, Global Action Cursor, and Seed UX Improvements

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.