Player 3 helps keep track of Player 2.
If Player 1 don't scout Player 3 is not going to tell Player 1 where the enemy units are but it will tell him the type and number of enemy units.
If Player 1 visits Player 2 base while there are no (Player 2) combat units there, if Player 2 combat units do not show up elsewhere either in Player 1 sight,
Player 3 will tell player 1 the number of enemy combat units hidden in the dark. If, after that, Player 2 combat units show up in Player 1 sight , say they all show up at a Player 1 expasion,
Player 1 will sincronize Player 3 combat units, do the math, and conclude that Player 2 base and expansions are left undefended (which makes them an easy target).
Why Starcraft
When Starcraft Terran Marines attack damage is applied instantly. There are no physically simulated projectiles. Starcraft Tank attack works the same way. Instant hit.
This makes the outcome of battles predictable. Predictable battle outcome means you can articulate long term strategies.
Starcraft workers don't avoid each other that makes predictable economy. At the opposite end of spectrum are games like Total Annihilation: units shoot while moving,
projectiles are physically simulated. Things like this make the outcome of battle uncertain.
How far in terms of emulating a human player does the method I'm proposing go.
All human mind decisions are based on logic (I'm talking about a cool headed person) This means that in theory you can go very far in replicating the human thinking in a game.
The thinking in a Stacraft game between professional players has a lot of twists and bends and ditches. The problem is that implementing the approach I'm talking about (a third player in a 1 vs 1 game) requires a ton of programming. I can only speak about things that I can do and I'm not the best programmer you can find. When I code stage 1 it becomes clear to me what stage 2 should be like. When I code stage 2 it becomes obvious to me what needs to be done in stage 3.
I know that you know.
I have presented you a player 3 that has a linear evolution. It works based on a script.
a) If player 2 base does not get scouted Player 3 does the same in each game.
In a case like this Player 3 has the following behavior: Train workers until worker count reaches 8, when worker count reaches 8 build barraks, then train 3 marines,
build a workshop, build two tanks. Up to this point there is no problem. This is what a typical human player does too in the initial stages of a multiplayer game (a human player might start building baraks when the worker count is for example 6 this will make combat units available early in the game but will handicap the player further down the road, if the rush fails the player has pretty much lost the game. The rush scenario is the exception we're not talking about that, attacking the enemy base with 1 or 2 marines is not what RTS game are about after all). But from this point further down the road specialization becomes mandatory.
You could script Player 3 to keep going, just pick an option and go in a certain direction with base building. The problem is that that would be pure gambling.
That's not what human players do (Only a beginner human player might play Starcraft for 30 minutes without scouting or attacking the enemy)
b) If Player 1 scouts player 2 base. In this case player 3 copies player 2. Player 2 is AI driven too.
( in my discussions with JoeJ I explained that I don't have a user interface and user input in my game it's just two AI players playing against each other)
Player 2 base building could go in a different direction than the default Player 3 behavior.
Player 3 is a pasive player. He doesn't fight against anyone he is alone on the map. What you could do to solve the problem of Player 3 pure gambling is the following:
Script Player 2 to send a worker to Player 1 camp when it's time for specialization. When Player 1 notices the player 2 worker (Human players have the screen limitation,
they can only see a small portion of the map at one time, an AI player doesn't have this problem spotting the enemy units that enter the AI player's units line of sight is guaranteed)
he becomes aware that enemy is seeing what he is doing. So now you can adapt Player 3 not just to Player 2 actions but also to Player 1 actions. You adapt Player 3 to what Player 2 worker is seeing.
Player 2 is dumb, he will not rise to the expectations and exploit what his worker spotted in Player 1 base, but Player 1 now knows what Player 2 would do if he were not dumb.
Here is another example: I (Player 1) am a zerg. My enemy(Player 2) is a terran. I decided I'm going to mass produce zerlings and attack with that. The game starts. I'm building workers then a zerling pool. (I'm not building anything else. I'm saving the money for zerlings. ) My idea of the enemy (Player 3) continues as normal. The enemy (Player 2) continues as normal. The clock is tiking, after a few minutes I have several zerlings. At this time I notice an enemy worker (Player 2) in my base noticing my zerlings. My idea of the enemy (Player 3) changes, my idea of the enemy responds, he starts mass producing firebats, that's a zerling contermeasure. The enemy (Player 2) continues as normal no changes. Another three or four minutes pass. My idea of the enemy has an additional barracs and a few firebats. Now I'm sending the zerlings in the enemy (Player 2) base. The zerlings reach the enemy base and discover there are no firebats or additional barraks. My idea of the enemy is erased (Player 3 restart) I have a new idea of the enemy that matches what is found in the enemy base. My zerlings are defeated. I loose visual contact with the enemy. My (new) idea of the enemy keeps living and starts evolving again until a new encounter with the enemy. Player 3 can look at me only when Player 2 units have eye contact with my units, he is blind the rest of the time.
Let's say this is a multiplayer game. Player 1 prepares to attack with lots of zerlings. Player 2 sends a scout which detects what Player 1 is preparing. If Player 1 doesn't notice the enemy scout he will continue with the presumption that his attack will be a surprise. If Player 1 does notice the enemy scout he will realize his surprise is ruined. In the first case Player 1 representation of the enemy continues as usual while the real enemy (Player 2) prepares a response to what Player 1 is preparing. In the second case Player 1 representation of the enemy responds to Player 1 plans, the actual enemy responds too.
The problem is this is AI vs AI. An AI player will ALWAYS notice if he is being observed by an enemy scout. So if Player 2 scouts Player 1 base that automatically means Player 1 representation of the enemy (Player 3) responds to what Player 1 is doing. The point of interest here is Player 3. It doesn't matter what Player 2 does. In the AI vs AI example he does not react in the multiplayer example he does. In the AI vs AI example Player 2 sending a worker is just an excuse to make Player 3 respond to what Player 1 is doing.