Widget request: Ingame Alliances
Moderator: Moderators
-
- Spring Developer
- Posts: 1254
- Joined: 24 Jun 2007, 08:34
Widget request: Ingame Alliances
Hello all,
since revision 5624 its possible to ally and unally others ingame if its specified in the gamesetupscript with "FixedAllies" which defaults to true. If this is set to false each Allyteam can made an alliance with another Allyteam, so units won't attack each other, instead they can repair etc.
I made the following commands to do this:
> ally x
> unally x
Because typing "/ally x" or "/unally x" every time is not that user friendly, it would be great if someone who is interested could write a pretty lua widget to make this.
Thanks
since revision 5624 its possible to ally and unally others ingame if its specified in the gamesetupscript with "FixedAllies" which defaults to true. If this is set to false each Allyteam can made an alliance with another Allyteam, so units won't attack each other, instead they can repair etc.
I made the following commands to do this:
> ally x
> unally x
Because typing "/ally x" or "/unally x" every time is not that user friendly, it would be great if someone who is interested could write a pretty lua widget to make this.
Thanks
Re: Widget request: Ingame Alliances
Is this documented in Documentation/Spring start.txt already?Auswaschbar wrote:if its specified in the gamesetupscript with "FixedAllies" which defaults to true
If not could you do so, then at least the only piece of documentation we have keeps up to date

Nice it's finally in some way possible to ally/unally btw

Re: Widget request: Ingame Alliances
Could you maybe change the style of the command to match other commands?
For example "/ally x [0|1]" so "/ally x" would toggle, 0 would unally and 1 would ally.
If you do, I can easily add a toggle functionality to IceUIs player info window.. Does the command output anything so that the other player knows I want an alliance with him? Do I have a way (other than parsing script.txt) to find out if FixedAllies has been set?
For example "/ally x [0|1]" so "/ally x" would toggle, 0 would unally and 1 would ally.
If you do, I can easily add a toggle functionality to IceUIs player info window.. Does the command output anything so that the other player knows I want an alliance with him? Do I have a way (other than parsing script.txt) to find out if FixedAllies has been set?
-
- Spring Developer
- Posts: 1254
- Joined: 24 Jun 2007, 08:34
Re: Widget request: Ingame Alliances
I have changed it to "ally x [0|1]". "ally x" does nothing because I don't think its a good idea (safety).MelTraX wrote:Could you maybe change the style of the command to match other commands?
For example "/ally x [0|1]" so "/ally x" would toggle, 0 would unally and 1 would ally.
It doesn't output anything. In the playerlist the "E" will change to "E+" if you have allied him. But don't forget that teams are not symmetric, so with "E+" his units can still attack the player's.MelTraX wrote:Does the command output anything so that the other player knows I want an alliance with him? Do I have a way (other than parsing script.txt) to find out if FixedAllies has been set?
Re: Widget request: Ingame Alliances
For extra credit, make the widget also have an alliance offer mode that will synchronize the alliance start between two people and automatically cancel when the other person drops.
Last edited by lurker on 31 Mar 2008, 13:46, edited 1 time in total.
-
- Spring Developer
- Posts: 1254
- Joined: 24 Jun 2007, 08:34
Re: Widget request: Ingame Alliances
I have hidden the alliance states of the other players because I found it offers some nice player-to-player interactions and increases the communicational aspect of ingame diplomacy.
Re: Widget request: Ingame Alliances
You need to learn to trust other developers/players. If they do something stupid then that's not your fault but not letting them try to do something clever is bad imho...Auswaschbar wrote:I have changed it to "ally x [0|1]". "ally x" does nothing because I don't think its a good idea (safety).
Re: Widget request: Ingame Alliances
You can't "PM" a player ingame tho so to tell the other guy that you want to ally you have to use public chat.Auswaschbar wrote:I have hidden the alliance states of the other players because I found it offers some nice player-to-player interactions and increases the communicational aspect of ingame diplomacy.
- Forboding Angel
- Evolution RTS Developer
- Posts: 14673
- Joined: 17 Nov 2005, 02:43
Re: Widget request: Ingame Alliances
ally with him and then use ally chat 

-
- Spring Developer
- Posts: 1254
- Joined: 24 Jun 2007, 08:34
Re: Widget request: Ingame Alliances
Thats what I'm currently doing.KDR_11k wrote:You can't "PM" a player ingame tho so to tell the other guy that you want to ally you have to use public chat.Auswaschbar wrote:I have hidden the alliance states of the other players because I found it offers some nice player-to-player interactions and increases the communicational aspect of ingame diplomacy.
Re: Widget request: Ingame Alliances
Make sure all players on the respective allyteams see that chat so you can't use the ingame chat to relay info to the enemy (for griefing).
-
- Spring Developer
- Posts: 1254
- Joined: 24 Jun 2007, 08:34
Re: Widget request: Ingame Alliances
I thought it would be sufficient to restrict it for spectators only.KDR_11k wrote:Make sure all players on the respective allyteams see that chat so you can't use the ingame chat to relay info to the enemy (for griefing).
Re: Widget request: Ingame Alliances
I disagree, what one player on your allyteam tells others is the business of the whole alliance. Especially when he's talking to people not on the allyteam.Auswaschbar wrote:I thought it would be sufficient to restrict it for spectators only.KDR_11k wrote:Make sure all players on the respective allyteams see that chat so you can't use the ingame chat to relay info to the enemy (for griefing).
-
- Spring Developer
- Posts: 1254
- Joined: 24 Jun 2007, 08:34
Re: Widget request: Ingame Alliances
A private message is not a private message when the whole allyteam can see it.KDR_11k wrote:I disagree, what one player on your allyteam tells others is the business of the whole alliance. Especially when he's talking to people not on the allyteam.Auswaschbar wrote:I thought it would be sufficient to restrict it for spectators only.KDR_11k wrote:Make sure all players on the respective allyteams see that chat so you can't use the ingame chat to relay info to the enemy (for griefing).
If you are afraid someone will tell secrets to the other team then you:
- play with the wrong people
- should be more worried about teamspeak or other 3rd party apps then about PM's
- can still watch the demo afterwards to check if he really did
Furthermore I never saw problems with ingame PM's in any other strategy game.
PS.: Added a FixedAllies-Callout
Re: Widget request: Ingame Alliances
PMs make sense in a FFA where you want to cooperate with someone against someone else but in games with two teams there is no reason to have directed messages. PMs should be for communicating to some enemies but not all (and even then the target allyteam should see the message so the receipent won't have to relay it to his team). There is nothing you can say that should remain hidden from your allyteam (dynamic alliances are something different, if you want to break one of those, fine but if you are in an allyteam that cannot be broken then you have no business hiding things from your allies).
Re: Widget request: Ingame Alliances
PM's are good for helping out newbies also.
Re: Widget request: Ingame Alliances
You're forgetting that the ingame alliances are temporary... You may want to talk to your team and agree to force someone out of the alliance, try to convince an enemy to betray their ally, ect. If you eliminate that you limit the ability to use deceptive tactics like this.
Re: Widget request: Ingame Alliances
KDR isn't talking about temporary alliances he is talking about starting a game with set teams 1 and 2 and having those groupings be able to see PM traffic...
If you start/launch a team game you don't want one of your allies switching halfway thru because he thinks you are gonna lose or his friend is on the other team. If you allow that whats the point in having teams...
now that its been brought up, a lock teams option would be handy to prevent stuff like that.
Don't do it as an ingame .command it will only be a pain.
If you start/launch a team game you don't want one of your allies switching halfway thru because he thinks you are gonna lose or his friend is on the other team. If you allow that whats the point in having teams...
now that its been brought up, a lock teams option would be handy to prevent stuff like that.
Don't do it as an ingame .command it will only be a pain.
-
- Spring Developer
- Posts: 1254
- Joined: 24 Jun 2007, 08:34
Re: Widget request: Ingame Alliances
As mentioned in the OP teams are locked by default, you need to enable ingame-alliances via startscript. But how is this related to PM's?j5mello wrote:KDR isn't talking about temporary alliances he is talking about starting a game with set teams 1 and 2 and having those groupings be able to see PM traffic...
If you start/launch a team game you don't want one of your allies switching halfway thru because he thinks you are gonna lose or his friend is on the other team. If you allow that whats the point in having teams...
now that its been brought up, a lock teams option would be handy to prevent stuff like that.
Don't do it as an ingame .command it will only be a pain.
- CarRepairer
- Cursed Zero-K Developer
- Posts: 3359
- Joined: 07 Nov 2007, 21:48
Re: Widget request: Ingame Alliances
Is an ingame alliance a permanent alliance with shared victory or is it just a ceasefire? I would want to make ceasefires with other allianceteams in an FFA where they don't see my LOS, but our units just don't attack eachother, and we still can't win the game until one of us is dead.
Ceasefire would be better wording than Ally to disginguish the two concepts.
I am still unclear as to whether you ally (ceasefire with) a playername or an allyteam number (what is X?). If it's playername the widget could coordinate when one person on an allyteam ceasefires with someone on another allyteam, both allyteams ceasefire with everyone else. Either way, it is a welcome feature. I'd put it in CA so that everyone in the battle would have the widget and it can synchronize ceasefire agreements.
Ceasefire would be better wording than Ally to disginguish the two concepts.
I am still unclear as to whether you ally (ceasefire with) a playername or an allyteam number (what is X?). If it's playername the widget could coordinate when one person on an allyteam ceasefires with someone on another allyteam, both allyteams ceasefire with everyone else. Either way, it is a welcome feature. I'd put it in CA so that everyone in the battle would have the widget and it can synchronize ceasefire agreements.