Programming Game
- Game
- Resources
- Docs
Monster spawn overhaul
October 13, 2025 - v0.6.0
We've reworked the way that monsters spawn into the game. Monsters now spawn evenly distributed throughout the world. Also, we added sound effects!
New Features
- The game now includes sound effects.
- Monsters now spawn in an even distribution throughout the world.
- Monsters are now passive, attacking only if provoked.
- Monsters can now spawn in groups.
- The client now has an optional
tickIntervalsetting.- This controls how often onTick is called when there have been no updates from the server.
- It defaults to 300ms.
gameTimeis now part of theheartbeatobject.- Previously, the client tracked durations using the client's
Date.now(), which caused synchronization issues. gameTimerepresents the total elapsed milliseconds since the game was created.
- Previously, the client tracked durations using the client's
- Added several new monsters:
- plains
goblinScout
- forest
orcBerserkerorcShamanorcScoutsatyr
- plains
- Moved
sightRangeto unit stats.- This is the first step toward allowing different units to have unique sight ranges and enabling spells or abilities to modify them.
Breaking Changes
- Removed several server-only fields from client-side units.
- These were never intended to be sent to the client, as they don't serialize correctly.
- The removed fields are:
unitsInSight,lastUpdate,lastAction,npc,threat,completedQuests
Miscellaneous
- Updated the server to send an
mpevent more quickly when casting spells. - Client/Server:
connectionEvent,beganEquippingSpell,beganCasting,beganHarvesting,beganCraftingnow all send agameTimefield to keep durations in sync.
Bug Fixes
- Fixed an issue where the server wasn't sending monster intent updates.
- Fixed an issue where consuming ammo didn’t trigger an inventory update event.
- Fixed an issue where
actionTargetwas set incorrectly when casting spells. - Fixed several issues with the client becoming out of sync.