avaraline / Avara

Port of the original 1996 game from Ambrosia Software.
MIT License
120 stars 19 forks source link

Scoring improvements #147

Open assertivist opened 3 years ago

assertivist commented 3 years ago

There is a scorekeeping plugin interface available here: https://github.com/avaraline/Avara/blob/master/src/game/AvaraScoreInterface.h

This can be used to give a per-weapon breakdown of score, which is what the original's Scorekeeper plugin used to do.

We should be able to use this same interface to provide the same data in the game out of the box.

Each time a player's score changes, the scoring method is called with a player/team that shot, the player/team that was hit, a reason, and the energy of the hit.

At the end of the game, I would like to see a breakdown of each player's score by weapon reasons (ksiShotHit, ksiGrenadeHit, ksiMissileHit) and possibly the others identified in the struct. I would like to see who did the most damage to the player, as well as who the player damaged the most.

For extra points, extend the scoring interface to keep track of in-flight projectiles that are destroyed, who destroyed them and by what etc.

For even extra points, prepare the network score syncing between clients at the end of the game to also report the scores at game's end to a centralized meta-game server.

rherriman commented 2 years ago

In addition to tracking blowing up "hats," it would also be nice to track the last player to hit a given FreeSolid so we can give credit for FreeSolid kills.