Programming Game

  • Game
  • Resources
  • Docs

Bosses, portals, and more oh my!

August 10, 2025 - v0.2.0

Bosses, portals, and more oh my!

The first biome boss has been added to the game. Bosses are instanced encouters. Discover their location by working your way through increasingly difficult quests.

New Features

  • heartbeat now contains a map of gameObjects with two new object types:
    • portal
      • Portals can be used to get to boss instances.
      • A players entire party must be at the portals position to enter.
      • A new portal will spawn at { x: 0, y: 0 } if the boss is defeated.
    • hazard
      • Hazards will have various effects, and generally speaking you'll want to move out of them.
  • unit.stats now contains a radius field indicating how large a unit is.
  • Added support instances to have a boundary
    • When present on an instance, the heartbeat.boundary field will look like { minX: -10, maxX: 10, minY: -10, maxY: 10 }
    • Boundaries represent the furthest you can move any given direction and prevent endless kiting.
  • Added new weapon skills:
    • misdirectingShot - a bow skill that does normal attack damage, but misdirects its threat to another player.
    • threaten - requires no specific weapon, does no damage, but adds a modest flat amount of threat to the target.
  • Monsters will now decrease threat against their target as they damage them.
  • Added the first boss Slime King to the game.
    • Bosses come with unique mechanics that require careful gameplay.
    • You should not expect to defeat a boss without a fully geared party.
    • Bosses are instanced, and can be reached via portals in the over world

Miscellaneous

  • Reduced client side onTick interval from 17ms to 300ms
    • onTick is called for all events coming from the server, so there shouldn't be any real need to run this often.
    • Reducing this should lower the CPU impact of running the game, and reduce logs generated when debugging in the game loop.
  • shield status effects no longer apply the defense stat before their damage absorption is determined.
    • This change increases the value of shield status effects for units that have low defense.
  • Significantly increased the base mana regen.
    • Significantly reduced the summonMana multiplier on mana regeneration.
  • Tripled the damage of fireball, slightly increased the mana cost.
  • Significantly increased the size of biomes, it now takes roughly 4 real world hours to traverse an entire biome.

Breaking Changes

  • The client package no longer exports raceStats from programming-game/types
    • This only contained radius, which is now handled entirely serverside.
  • The call signature for useWeaponSkill has changed, it now takes an object with fields skill and target plus an options object needed for specific weapon skills.

Bug Fixes

  • Fixed issues with heal over time, damage over time, and snares not applying their intended effects.
  • Death events from damage are now broadcast to units within range.
  • Fixed proc rate of critical hits, every attack now has a 5% chance at being a critical hit.
  • Fixed an issue where monster focus wasn't being updated.
  • Fixed many issues related to measuring elapsed time.