Entities
Entities are the things in the world that are not players. Quake 0 has two, both spawned and destroyed by the instance update.
bullet
A shot. It is ballistic: it carries only a start point
(x0/y0), a velocity (vx/vy) and its
spawnTick, all public. That is everything the front end needs to compute its live
position from a formula — so a bullet is sent once and never streamed again. It also carries
its owner, so a fighter is never hit by its own fire. Fighters fire twice as fast
as in Asteroids and every bullet is drawn as a short orange line with a thin yellow border.
x0, y0 number public // start point, in tiles
vx, vy number public // velocity per tick
spawnTick int public // when it was fired
owner string public // the fighter that fired ithit
A one-shot effect left where a bullet stopped — against a floor or a body. It is just a point
and a spawnTick; the front end draws it as a small dot that expands and fades over
its short life, and the update retires it when that life is up. It is the same idea as the
expanding hit in Asteroids, and it is how you can tell a shot
was blocked.
x, y number public // where the bullet stopped
spawnTick int public // when