Skip to main content
Euca’s combat layer (euca-gameplay) is genre-neutral: entities carry Health, Team, and optional combat stats; damage and healing flow through events applied each tick; projectiles and trigger zones add spatial interactions. It’s the substrate the MOBA layer and your own rules build on.
Fully headless. All combat runs on the :3917 server — no GPU.

What it does

  • Health & deathHealth { current, max }; apply_damage_system drains health from queued DamageEvents each tick; death_check_system marks entities Dead and emits DeathEvent.
  • Damage & healingPOST /entity/damage and POST /entity/heal, with optional source and damage type (Physical / Magical / Pure).
  • ProjectilesPOST /projectile/spawn (direction, speed, damage, lifetime, radius); the projectile system moves and collides them.
  • Trigger zonesPOST /trigger/create AABB volumes that damage, heal, or teleport on overlap, once or repeatedly.
  • Teams & rolesTeam and EntityRole (Minion / Hero / Tower / Structure) drive targeting and scoring.

Example — damage an entity

# Spawn a target with 100 health on team 1
curl -s -X POST http://localhost:3917/spawn \
  -H 'Content-Type: application/json' -d '{"position":[5,0,0],"health":100,"team":1}'
# {"id":1, ...}

curl -s -X POST http://localhost:3917/entity/damage \
  -H 'Content-Type: application/json' -d '{"entity_id":1,"amount":25}'
# {"ok":true,"message":"Applied 25 damage to entity 1"}

curl -s -X POST http://localhost:3917/step -H 'Content-Type: application/json' -d '{"ticks":1}'
curl -s http://localhost:3917/entities/1
# {"id":1,"health":[75.0,100.0], ...}
Damage flows through an event applied during the tick — step after injecting it. Drive damage from data instead of by hand with rules (when health-below:30 do …).

Endpoints

MethodPathDescription
POST/entity/damageDeal damage to an entity
POST/entity/healHeal an entity
POST/projectile/spawnSpawn a moving, damaging projectile
POST/trigger/createCreate an AABB trigger zone (damage/heal/teleport)
POST/game/create, GET /game/stateMatch lifecycle (see Simulation)

Status

  • ✅ Health/death, damage + healing events, projectiles, trigger zones, teams, roles, scoring — shipped and headless.
  • The richer ability and crowd-control layer is on Abilities & status effects.

Gameplay endpoints

Damage, heal, projectile, and trigger endpoints with schemas.