It could be used for that. But that too might have unforeseen consequences.
I think the main reason why there are NPCs now is for testing reasons and to get a match going when there are no players around. Using NPCs to jumpstart a game and keep the action at a consitent level works for many games.
Many players prefer to join player only server though, I think the main reason is that they want a consistent challange and not consistent action.
The default sever settings could be in such a way that NPCs would only appear when they are really needed or maybe they will play a more substatial role, like mobs in MOBAs.
Could or will discourage team switching? If there is out of match player progression such discouragement could have some backlash. I think I heard from Star Wars Battlefront 2 that there was very little difference in reward gained when winning compared to loosing.
With small match length most of these problems wouldn’t be there. If there aren’t enough players you end the match early and restart it after some (auto)balancing.
I agree that the game should be designed in a way that it is fun, no matter what situation the match is in. The “last stand” obective idea sounds like quite some fun for instance. Some very popular competitive games do this very well and all of them don’t allow switching teams when played competitively … most of them don’t allow joining while a match is running either though, but that would be definitely needed for I:B.
One thing we always have to keep in mind that a player always can leave a game. And leaving a game is simmilar to switching sides in some respect.
I think the problem should be looked at from a holistic level. How do we keep the game fun with fluctuating player numbers while not building in exploitable loopholes.
Flavien mentioned that he might consider changing up the map significantly between matches and also doing some adjustment based on available player numbers. I suggested doing this dynamically while in match before but depending on match length this might not make much of a difference.
I think one extreme solution would be to have the game server look at and control players joining and leaving. Every player has its unique state per sever and match. Once he joins he can choose or is assigned to a team and is stuck there until the match ends. If he leaves and comes back he enters the same team.
The gameworld adjusts (bots, available bases, maybe even strength of weapons) in order to provide fun game for both sides, going as faar as ending the game if the imbalance gets too extreme or some limit (attrition) is reached.
I feel like ending a game would only become frustrating when it keeps happening at the wrong time. Too early and the players still had the feeling they could have made some impact (had fun), too late and people loose hope and start leaving the match.
It’s a really fundamental decision after all.
If “scuting” is really that important in the game such an extreme measure might be needed.
… if it is important in the first 15 minutes … set the limit switch timer exactly to the time you think people would need to find all the bases … or even make it a function of unscouted bases. >90% unscouted bases = no switch, >50% unscouted bases = switch in 10% of projected match time, >10% unscouted bases = half current switch countdown …
As said this is getting complicated.