Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
MP controller leaky abstraction #4330
In MP games, the mp_staging screen and the give_control dialog present "Default AI" as though it weren't controlled by any (human) player. However, that's not how it's implemented. Under the hood, assigning a side to "Default AI" makes it controlled by the host and droided.
This leads to some user-visible differences:
Please let's make things consistent. For example, :give_control to self on a droided side could undroid it, and :give_control of a network human side to AI could give it to the host and droid it (and there should be a "New AI side" entry in the :give_control dialog, for this purpose, like there's "Default AI" in the mp_staging screen). The UI pretends that "Default AI" and humans are both entities that can control a side, so it should pretend so everywhere.
I'd still leave the exception of allowing individual players to droid their sides. They can temporarily give control of their side to locally running AI (e.g. if they need to take a short break) and claim it back later without having to disrupt the host.