ID:151887
 
In my team based action game, you can score by defeating both players and buildings (or, in the not programmed yet CTF mode, by returning flags to whatever). My question is, how do I go about preventing players from destroying all of another team's buildings (/capturing flags, etc) when there are no players on the other team? Right now, I'm thinking either lock them up in a pen to wait, or making buildings etc. invincible (or not pick-up-able in the case of flags).


The only other option that I can think of is to place barriers around areas of interest...
That's easy, don't start the match until there are enough players for both teams.
Check if there are in players on the other team's list. (assuming you use lists for teams)

Also that check would be in a proc that runs often.
In response to Andre-g1
Should just be in somewhere like client/Del(), actually.
In response to Kaioken
There's always the scenario of two players joining the same team while no other players are on and start playing alone but eh, that would be dumb <.<
In response to SuperAntx
Then all the players on one team may log out, though. Right now I have a loop to check game related things, though I think I'll just use Kaioken's client/Del() idea, though.


What I'm doing now:

When there are not players on both teams, the game "Freezes" and players cannot attack or move or anything besides talk.
In response to Jeff8500
Or you could end the game early if too many people quit.

Or switch players from 1 team to balance the other.
In response to Jmurph
Jmurph wrote:
Or you could end the game early if too many people quit.

Would piss people off. Alot!

Or switch players from 1 team to balance the other.

Might not work if there's only one player in the game. Good idea, though, I think I'll add a team change option or something like this.
In response to Jeff8500

Maybe you can set a waiting room to check whether there is enough players in each team before it starts.

You're right about players leaving the game after it started, but maybe you can set some consequences when players do that.

Like loss of money or perhaps experience. Thats what most team action games usually do.
In response to Jeff8500
Jeff8500 wrote:
Jmurph wrote:
Or you could end the game early if too many people quit.

Would piss people off. Alot!
Probably. But so does having 2 guys v. 20. If you are tracking any kind of a rating, ending the game would be preferable as it won't artificially pump one teams stats and deflate another's. Plus, lopsided teams often lead to the remainder quitting anyway.
In response to Jmurph
Jmurph wrote:
Probably. But so does having 2 guys v. 20.

Automatic team balancing. Dump everyone into a temporary list, clear all teams, then one by one divide them among the teams based on their kill/death/score ratios.
In response to Jeff8500
In Counter-Strike, when you join a server you have the option of joining either team. However, if the server auto-balances teams (which most do), it will only allow you to join the team if it is less than or equal to the number of players on the other team. If both teams re even, it will look at the scores for the teams and may only let you join the losing side if the scores are too far apart.