I see one major problem. All too often these days I see people switching from the losing team. The system would need to prevent against that.
The only major problem here is the one with your logic. The system already does it.
If one of team starts to lose/gets massacred, psychically weak players will leave. When players leave a team, that team has fewer players. When a team has fewer players, you can't just switch to the winning team because tremulous won't let you. You can't join a team which has significantly more (2+?) members.
You will never force all psychically weak players to play until the end, unless you start banning them, which will alienate a lot of players who had to go for valid/important reasons. Instead, the change would remove the barrier preventing players from balancing teams.
I'd rather have some mechanism promoting playing until the end.
If you have an idea which would work, post it. If you think the change I suggested would negatively impact gameplay, explain. I see no drawbacks for implementing it.
If you're going for kills though the dedicated builders will get treated like noobs. And there's not decent way to distinguish between good and bad builders.
First of all, the suggested change would change nothing about builders. Second, there are ways, it's just that nobody cares enough to implement them. Some examples:
- grangers would get points for people killed by acid tubes/hives.
- grangers would get some points for enemies killed with booster poison, and HP regenerated with help of booster. That of course would require tweaking to get it right.
- human builders would get points for repairing buildings not damaged by humans.
- human builders would get points for teammates using their repeaters, armories, health pads. If someone builds a healthpad in low traffic area, nobody will use it and no points.
- of course, points for enemies killed by teslas/turrets go to builders.
- granger would get points if he builds an egg while there are insufficient eggs (1 or less, or something), but only if last egg was destroyed by an enemy.
- granger would get points for successfully rebuilding Overmind, if last Overmind was destroyed by enemy.
Obviously, there are actions which can't be measured, but many can be, to certain extent.
-granger would get points for enemies killed while under effect of trapper.
It would never be perfect, but it would still work better than what is there currently - no reward except from players who recognize you're doing good job.
"Shuffle players by xp, without the map restart" tends to be passed more often than just "shuffle players by xp (and restart map)".