Warzone2100 / warzone2100

Command the forces of The Project in a battle to rebuild the world after mankind has been nearly destroyed by nuclear missiles. A 100% free and open source real-time strategy game for Windows, macOS, Linux, BSD+
https://wz2100.net
GNU General Public License v2.0
3.13k stars 518 forks source link

Introduction of possibility that 2 players can control 1 faction #828

Open berserkingyadis opened 4 years ago

berserkingyadis commented 4 years ago

This would make it possible that 2 players can control the same faction and its units.

Equivalent would be the Archon mode of Starcraft II

Archon Mode is a gameplay mode introduced in Legacy of the Void. 
In it, two players take control over a single army[1] and battle against 
an enemy duo. 

By sharing the responsibility of commanding troops and managing resources, 
players can focus on their own areas of the battle and execute more intricate strategies.[2] 

It is designed to make the game's gameplay more accessible for newcomers`

https://starcraft.fandom.com/wiki/Archon_Mode

berserkingyadis commented 4 years ago

Proposal by Arsoth on discord and me

berserkingyadis commented 4 years ago

This could potentially used in the Campaign, so that 2 players can join up to do a Coop run.

Iluvalar commented 3 years ago

If implemented, keep also the drive mode in mind. One player could build the base while 20 players could drive the units around.

Chewbakka-Wakka commented 3 years ago

What about the other related mode, where one player controls units, the other buildings. Then you have clear division of work.

mirror176 commented 10 months ago

Starcraft 2 Archon mode was a late implementation of a poor imitation of what StarcCraft 1 had as 'Team Melee'. When announced but not yet released people came up with custom games to create that idea but ended up implementing it as team melee instead so each side was not limited to 2 players each.

Multiplayer campaign without needing additional spawn points, build space, resources to claim, etc. seems like an easier way to implement it; there could be some value in the other form too but I'd see it as 'usually' the less desirable of the two modes.

Team control of what a player can do should also give an option to limit what a player can do; disable demolish buildings, recycle units, cancel/override a build order on the ground/in the menu, spend resources, and move units. Don't know how to do friendly fire in this game but that should likewise have a way to restrict. Limiting what a player can do both implements the idea of division of work, and what damage a disgruntled ally can do.

Even without shared control of a player, allies can still disrupt each other if friendly fire is possible, units can block units, build orders can be blocked, etc. Once control is shared, the options can get worse. Games like Mindustry have players in game modes who commonly work together for a common goal. Sometimes they disagree on the best way of doing things and instead of talking, they demolish each others' work to build things their way while other times its 'griefers' who come in specifically to disrupt games by deleting, disconnecting, and rotating buildings to make things not work, control units to send them to their death, and can even use custom programmable AI in game to wreak havoc in automated ways. Servers have tried to combat such actions with automated detection of likely bad activity (sometimes resulting in false positives) to temporarily flag/disable users, and usually have a way to report user to moderator staff and as a team they can try to kick the player if game is publicly hosted (private game host or moderator can kick without vote time/process); players usually disabled from actions during vote. Yes, voting system gets abused by troublemakers too to lock good players, tie up voting system so they cannot be voted on yet, come with team of troublemakers to take over such systems, etc. Servers also have some history of block activity so players actions can still be reviewed if they leave or if their damage is repaired. Though this can obviously be negative for streamers letting people in (bad community or random people), it also happens to just public games in general.

Chewbakka-Wakka commented 3 months ago

I'd quite like this and it would be handy to also see an AI in action if it was able to control your units at the same time.

mirror176 commented 3 months ago

Player + AI controlling a player is a different challenge. A well written AI will give an order to an object when it decides the current order is in disagreement with what it desires. Player orders that do not match the AI's desires would be overwritten immediately unless there is a delay before reissuing it, an ability to pass units/buildings to and from the AI's control, or an option to make your order complete before the AI gets to control the object again (AI queuing further orders after may be desired for learning or undesired for general gameplay). I'd guess it should be easier to make the AI something that a player could start/stop as a whole but that would only be a starting point to make it useful.

I suspect it likely rolls through objects individually instead of as any groups even if it will use them together as a group but haven't verified code; a series of tanks can get new movement orders one at a time and either won't show they were selected or it goes by too fast to acknowledge. Not being able to see unit waypoints as lines (or even ordered markers) makes figuring out where they are now going a guessing game.

Chewbakka-Wakka commented 3 months ago

What you declare is true. This is a good point to which none of the AI's are configured to yet support - though it is possible in a different specific way, by separating player duties from the AI's. Meaning, I control the droids (tanks) while AI does base building or visa-versa only. That way, no conflict can take place and we can use separate drop in ai bot JS files to handle that, within what is known as a ruleset, like it is with a challenge.

That could be quite the starting point - create a challenge mode with this configured in place. Straight up 2vs1 scenario: ( two separate standard AIs vs you the human + the builder bot. ) "Two minds are better than one" "Two brains, one player"