7. Team based

In This Scene...

This scene will show you how coherence can be used to make a basic team based game.

In this example each client has one character they can control with click to move input. When connecting the player will be prompted to select a team they wish to join.

This selection will be synced via a TeamIndex field in the Sample Team Agent component.

The Target Area object is a unique gameobject that is shared among clients and moves around the grid, specifying a particular part of the field every time it jumps. When arriving at it's final position this object checks which team has the most players inside the specified area and awards that team a point.

The team colors and score are managed by another unique object called Team Assigner. This object has a synced string variable called encodedScores which is used to sync the team scores between clients.

Because both the Team Assigner and Target Area are persistent we can disconnect from the server and the game state will be preserved as long as the server is alive, even if no clients are connected at all.

Notice that the number of teams and their colors, set in the Team Assigner, are not synced. This means it could be possible to create different clients with different colors without them effecting each other.

Build and Try

You can build this Scene via the Build Settings. Run the local Replication Server through the Window -> Coherence -> Settings window and see how it works. You can try running multiple clients rather than just two and see replicating for each.

Last updated