Beacons are indicators that players can place in the world to inform or command their teammates. For some time I've been working on implementing them and I got to the point where code is stable enough to start worrying about the gameplay, so I'm asking everyone to comment on the concept, propose changes, etc.
All the code can be found in my fork's beacons branch:
https://github.com/enneract/Unvanquished/tree/beacons
Here's a quick overview in form of a video:
https://www.youtube.com/watch?v=4gCrTXdcxZw
Things already done:
Player beacons
Players can place the following beacons:
"Alien base" and "Human base" (with "Our base" and "Enemy base" aliases for simpler binds)
"Attack!"
"Defend!"
"Enemy spotted!"
Buildable tags
"Pointer" - simply a pointer
"Timer" - Portal-2-like timer for timing attacks and such
Some beacons are per-team (e.g. "Enemy base"), some are per-player (e.g. "Pointer") and are unlimited (e.g. "Attack!").
Auto client-side beacons
So far there are two of this kind:
"Ammo here!" - shows the nearest ammo provider (Armoury/Repeater/Reactor depending on weapon type and what's closer) if low on ammo
"Heal here!" - shows the nearest Medistation/Booster if low on HP
Display
Beacons are currently displayed on the HUD and the minimap. Watch the video for details.
Networking
Beacons are broadcasted to all team members and spectators, the enemy team does not receive them. Beacons ignore PVS and can be seen from any distance.
Client-side don't use the network.
Things NOT yet done:
An anti-flood filter.
A priviledge system, because right now every teammate can place beacons freely (so any newbie/troll can place an important beacon in a shithole and mislead the rest of the team).
Sensible (and maybe cvar-controlled) thresholds for low HP and low ammo.
Better icons and sounds. Right now I'm using crappy placeholders I made in a few minutes.
A full screen map