Widget request: Ingame Alliances

Widget request: Ingame Alliances

Discuss Lua based Spring scripts (LuaUI widgets, mission scripts, gaia scripts, mod-rules scripts, scripted keybindings, etc...)

Moderator: Moderators

Auswaschbar
Spring Developer
Posts: 1254
Joined: 24 Jun 2007, 08:34

Widget request: Ingame Alliances

Post by Auswaschbar »

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
Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Re: Widget request: Ingame Alliances

Post by Tobi »

Auswaschbar wrote:if its specified in the gamesetupscript with "FixedAllies" which defaults to true
Is this documented in Documentation/Spring start.txt already?

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 :-)
MelTraX
Posts: 470
Joined: 02 Jan 2007, 16:18

Re: Widget request: Ingame Alliances

Post by MelTraX »

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?
Auswaschbar
Spring Developer
Posts: 1254
Joined: 24 Jun 2007, 08:34

Re: Widget request: Ingame Alliances

Post by Auswaschbar »

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.
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: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?
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.
User avatar
lurker
Posts: 3842
Joined: 08 Jan 2007, 06:13

Re: Widget request: Ingame Alliances

Post by lurker »

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.
Auswaschbar
Spring Developer
Posts: 1254
Joined: 24 Jun 2007, 08:34

Re: Widget request: Ingame Alliances

Post by Auswaschbar »

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.
User avatar
Acidd_UK
Posts: 963
Joined: 23 Apr 2006, 02:15

Re: Widget request: Ingame Alliances

Post by Acidd_UK »

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).
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...
User avatar
KDR_11k
Game Developer
Posts: 8293
Joined: 25 Jun 2006, 08:44

Re: Widget request: Ingame Alliances

Post by KDR_11k »

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.
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.
User avatar
Forboding Angel
Evolution RTS Developer
Posts: 14673
Joined: 17 Nov 2005, 02:43

Re: Widget request: Ingame Alliances

Post by Forboding Angel »

ally with him and then use ally chat :twisted:
Auswaschbar
Spring Developer
Posts: 1254
Joined: 24 Jun 2007, 08:34

Re: Widget request: Ingame Alliances

Post by Auswaschbar »

KDR_11k wrote:
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.
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.
Thats what I'm currently doing.
User avatar
KDR_11k
Game Developer
Posts: 8293
Joined: 25 Jun 2006, 08:44

Re: Widget request: Ingame Alliances

Post by KDR_11k »

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).
Auswaschbar
Spring Developer
Posts: 1254
Joined: 24 Jun 2007, 08:34

Re: Widget request: Ingame Alliances

Post by Auswaschbar »

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).
I thought it would be sufficient to restrict it for spectators only.
User avatar
KDR_11k
Game Developer
Posts: 8293
Joined: 25 Jun 2006, 08:44

Re: Widget request: Ingame Alliances

Post by KDR_11k »

Auswaschbar wrote:
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).
I thought it would be sufficient to restrict it for spectators only.
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
Spring Developer
Posts: 1254
Joined: 24 Jun 2007, 08:34

Re: Widget request: Ingame Alliances

Post by Auswaschbar »

KDR_11k wrote:
Auswaschbar wrote:
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).
I thought it would be sufficient to restrict it for spectators only.
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.
A private message is not a private message when the whole allyteam can see it.
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
User avatar
KDR_11k
Game Developer
Posts: 8293
Joined: 25 Jun 2006, 08:44

Re: Widget request: Ingame Alliances

Post by KDR_11k »

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).
User avatar
Vadi
Posts: 446
Joined: 03 Jan 2008, 14:51

Re: Widget request: Ingame Alliances

Post by Vadi »

PM's are good for helping out newbies also.
Jamuk426
Posts: 30
Joined: 31 Jan 2008, 22:56

Re: Widget request: Ingame Alliances

Post by Jamuk426 »

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.
j5mello
Posts: 1189
Joined: 26 Aug 2005, 05:40

Re: Widget request: Ingame Alliances

Post by j5mello »

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.
Auswaschbar
Spring Developer
Posts: 1254
Joined: 24 Jun 2007, 08:34

Re: Widget request: Ingame Alliances

Post by Auswaschbar »

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.
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?
User avatar
CarRepairer
Cursed Zero-K Developer
Posts: 3359
Joined: 07 Nov 2007, 21:48

Re: Widget request: Ingame Alliances

Post by CarRepairer »

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.
Post Reply

Return to “Lua Scripts”