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 it

hit

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