While this is a good Idea, I think it is extremely difficult to achieve.
A scoring function for suggesting class choices to players would have to address:
- The player's current performance. (He might still have a bad day)
- The player's past performance with other classes (fluctuates highly for first-timers)
- Other players' past and current performance. ("Your best Engie decided to go Soldier. Why not support your engineering dept.?")
- Team performance, influenced by map and progress (i.e. allow Scout rushes or discourage them)
- The opposing team's class choices and performance ("Have you noticed the many weak enemy scouts? Why not go pyro?")
Capturing all this information is already hard (and HlStats even needs a postprocessing step), making sense of them is even harder (other than for pure statistical purposes, how do you decide if a player is doing well in his class? this especially includes the challenge to reward suicide missions which in the end help the team). And now you want to analyze all this in realtime and make suggestions based on that? Tough, really tough. But I think it may just be doable.
If eventually I should find a good way, then this recommendation system will mysteriously find another use in observing the stock market for me.
