Lobby protocol - move player from battle to battle - Page 2

Lobby protocol - move player from battle to battle

For the discussion of infrastructure improvements and changes.

Moderator: Moderators

User avatar
Pxtl
Posts: 6112
Joined: 23 Oct 2004, 01:43

Re: Lobby protocol - move player from battle to battle

Post by Pxtl »

The ultimate feature to complete this would be to allow metabattlerooms to present an HTML5 GUI (managed by the Bot) for displaying metagamestate and allowing players to issue commands, thus allowing PlanetWars to be completely moved into a metabattleroom.

But that'd be a little... heavy.
User avatar
aegis
Posts: 2456
Joined: 11 Jul 2007, 17:47

Re: Lobby protocol - move player from battle to battle

Post by aegis »

Pxtl wrote:allow metabattlerooms to present an HTML5 GUI (managed by the Bot)
we do allow this! mister anchor tag is proficient in all manner of "making HTML follow wherever text can go"
User avatar
hoijui
Former Engine Dev
Posts: 4344
Joined: 22 Sep 2007, 09:51

Re: Lobby protocol - move player from battle to battle

Post by hoijui »

it sounds a bit like, except from the client side move-into-battle command, it could all be done on top of the planned properties system.
Satirik
Lobby Developer
Posts: 1688
Joined: 16 Mar 2007, 18:27

Re: Lobby protocol - move player from battle to battle

Post by Satirik »

DO NOT LIKE the metabattle crap, it's a fuckin hack, and no knorke an invite is an invite, the server should not be able to force you to get into any battleroom ..., and since this is an open source project and protocol with many clients, you can't force anything, in the end, the client chooses what happens, so it must be an invite command, making metabattleroom sux too, joining fake battle that will move you to other battle ... what the hell

modifications must be done on the server and on the client, you can't just add hacks everywhere to make springlobby acts like ZKlobby ...

quickmatching = you give your preferences to the server (or a bot) and when your criterias are matched, a battle is made and you're invited to join it

battle splitting = user should be asked first (accepting or refusing the invite)

the invite command was requested by many players (not for quickmatching or anything just to allow the users to invite other users in a battleroom)
User avatar
Licho
Zero-K Developer
Posts: 3803
Joined: 19 May 2006, 19:13

Re: Lobby protocol - move player from battle to battle

Post by Licho »

Abma it cannot start game directly because it does not know if users have map..
thats why there is need for battleroom to wait for map download :(
abma
Spring Developer
Posts: 3798
Joined: 01 Jun 2009, 00:08

Re: Lobby protocol - move player from battle to battle

Post by abma »

@licho:

i'm sure, this can be solved.
User avatar
Licho
Zero-K Developer
Posts: 3803
Joined: 19 May 2006, 19:13

Re: Lobby protocol - move player from battle to battle

Post by Licho »

In present lobbies - no way..

Download takes lots of time - host has t oindicate map, client has to download and indicate he has the map..

If you send people directly to some IP of spring it will timeout before they get the map or mod..
User avatar
Pxtl
Posts: 6112
Joined: 23 Oct 2004, 01:43

Re: Lobby protocol - move player from battle to battle

Post by Pxtl »

@Satirik

How is the metabattle a hack? I mean, it's a little hackish since it should be handled as a *parent* of the created battles instead of a peer for organization purposes (eg. you should stay in the metabattleroom's chat when you're playing in the assigned battleroom, battles should be listed in a sub-browser *within* the metabattle, a host of other labour-intensive-never-gonna-happen features), but it seems to be the best way to allow users to "opt-in" to being auto-assigned into a battle. To the player, they are conceptually "joining" something, like any other battle, so the implicit agreement to be assigned into a *true* battle by joining a metabattle seems reasonable.

Obviously, invite could also be useful for the features you described - but metabattle seems like the best way to handle the concept of a bot that will be acting as a gatekeeper/router for assigning players into games, which is what's needed for ladder/tourney/planetwars/quickmatching.

Obviously your use-case, where players explicitly *join* a game and then are being transferred out into another game because the overcrowded long-wait server needs to split... well, the metabattle concept is a poor match for this, and an invite behavior would work better.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Re: Lobby protocol - move player from battle to battle

Post by AF »

Im sorry but now you've described it, this sounds like an almighty hack.

Why couldn't we just add a new command to the protocol requesting a battle, followed by a server response saying

client:
REQUESTBATTLE <desired battle parameters>
REFUSEREQUESTJOIN <battleid> <optional message>
CANCELREQUESTBATTLE

server:
REQUESTJOIN <battleid>

While we're waiting for the server to start responding to this, we can use a bot and PMs to do the same thing. This also gives a nice entry point to implement player<->player invites

Otherwise stuff like having a battle room acting as a waiting area etc are all overcomplications and kludges and hacks etc etc. How are you going to fall back graciously? What happens if someone in a lobby that doesn't support it joins and launches the game? Sure you can put placeguards in for all of this, but you shouldn't need to
User avatar
Licho
Zero-K Developer
Posts: 3803
Joined: 19 May 2006, 19:13

Re: Lobby protocol - move player from battle to battle

Post by Licho »

Its not overcomplication at all - i will make the waiting room either way!

Its trivial .. and its even needed.. how else you indicate that you are ready to be quickmatched? How else you indicate whether you want to be quickmatched as player or spectator?

It solves it, and indicates number of "idle" people waiting for game in neatly visible way.

It also allows "preload" of map - staging room could put map on thats likely to be picked next so that clients preload it.
abma
Spring Developer
Posts: 3798
Joined: 01 Jun 2009, 00:08

Re: Lobby protocol - move player from battle to battle

Post by abma »

@AF:

<desired battle parameters>
what should that be? there are >2000 maps, a similar count of different game versions.

imo most of the battle-parameters needs to be done by the battle-agent/autohost?
User avatar
knorke
Posts: 7971
Joined: 22 Feb 2006, 01:02

Re: Lobby protocol - move player from battle to battle

Post by knorke »

indicate number of "idle" people waiting for game in neatly visible way
That was a problem with old quickmatching, you got matched with somebody who was not available for playing for one reason or another. (being afk, noob that got thrown in by the lobby and then joined/left a million times without saying something, somebody having entered "wants to play game X" but then suddendly does not want to etc.)
So at least remove people from the matchfinding who were idle longer then 15 minutes.

Also players who join a running game as spec because they want to take part in the next game are kind of out of the matchfinding system.
You can not have a bot shove them into a new battleroom because they are ingame (as spec)
The system would have to be able reach them while ingame, then stop Spring and then put them into the new battleroom.
The problem is, after they are thrown out of their spec game a few times without a new game starting quick enough (for whatever reason) players would just disable that option.
Or they want to play with their clanmates who are ingame, so they wait until the game is finished and then decidede if they stay in this room or go to a new room.
In any way, no second game would be started before the first game finished.

So I think such an automatic system does not work, in the end it always comes down to player-player interaction.
So this needs to be made easier.
-lobby could show how long a player has been idle.
-lobby could show if a player is spectacting or playing (i think it just shows "ingame" atm?)
-a chat channel with all players in it (main)
User avatar
Licho
Zero-K Developer
Posts: 3803
Joined: 19 May 2006, 19:13

Re: Lobby protocol - move player from battle to battle

Post by Licho »

To spec while quickmatch you could join running game as spec, start spring, then leave game and join quickmatching room (spring could still be running) - nothing prevents you from having 2 springs one spec and one normal game.
User avatar
CarRepairer
Cursed Zero-K Developer
Posts: 3359
Joined: 07 Nov 2007, 21:48

Re: Lobby protocol - move player from battle to battle

Post by CarRepairer »

Of course. Two springs one cup. Err I mean cpu.
Satirik
Lobby Developer
Posts: 1688
Joined: 16 Mar 2007, 18:27

Re: Lobby protocol - move player from battle to battle

Post by Satirik »

Pxtl wrote:Obviously, invite could also be useful for the features you described - but metabattle seems like the best way to handle the concept of a bot that will be acting as a gatekeeper/router for assigning players into games, which is what's needed for ladder/tourney/planetwars/quickmatching.
a battle is a battle, if you join a metabattle you're not joining a battle, it's a hack ... it's not using things for their purpose but for other means

you can tell a bot you want to play a tourney/ladder/planetwars/quickmatching/whatever ... and it can invite you to the right place,

if you really want to make metabattles, add new commands to list metabattles, or a new battle type (battle, battle replay, metabattle) ? no mod no map, just a description, could be displayed in another way in the lobby, and add lots of tags to define your metabattles, will take more time but quick and dirty is not always good, and ofc add the invite command
User avatar
Pxtl
Posts: 6112
Joined: 23 Oct 2004, 01:43

Re: Lobby protocol - move player from battle to battle

Post by Pxtl »

My big concern would be that they be displayed in the battle-list on the lobby and not hidden away in chat commands, and that they provide a chat-room to talk with other users of the metabattleroom. I was talking about user experience, not implementation - literally implementing metabattles as battles-that-never-start is a hack (and it sounds like Licho's intent), I agree... but for a first-cut approach it seems like the shortest distance from "needed feature" to "working implementation". Also, allowing the metabattles to display a mod name allows the client-side filtering to work better.
User avatar
Licho
Zero-K Developer
Posts: 3803
Joined: 19 May 2006, 19:13

Re: Lobby protocol - move player from battle to battle

Post by Licho »

Well only reson im posting here and im going through the trouble of making "metabattle" is to make it other lobby compatible..

I could just say screw you SL ,screw you tasclient and implement it the way I see fit. I guess thats the best option if you think metabattle room is evil.
abma
Spring Developer
Posts: 3798
Joined: 01 Jun 2009, 00:08

Re: Lobby protocol - move player from battle to battle

Post by abma »

ageis seems to be very inactive :-/

btw: i like the matchmaking system in world of tanks: it works like this:

player clicks a "go" button, then a players are searched and a clock is shown. it shows how many other players are also searching. Often after a few secs a match is started: there are no setting for the player.

The player can only select, which game type he wants to play (in Zero-K maybe: FFA/chickens/team vs team/1v1)

imo this is how it should work from the view of a player, no config, no teamsetup: just a "wanna play" button.
User avatar
Licho
Zero-K Developer
Posts: 3803
Joined: 19 May 2006, 19:13

Re: Lobby protocol - move player from battle to battle

Post by Licho »

Big issue with such systems is map download. It can take ages to download it.

Basically I request what I request to make exactly what you suggest.
But given low rate of lobby development i expect it to work only in ZKL initially and to allow other lobbies to work as well, there will be the hack with meta room and player shuffling.
abma
Spring Developer
Posts: 3798
Joined: 01 Jun 2009, 00:08

Re: Lobby protocol - move player from battle to battle

Post by abma »

i guess your plan is then similar to:

create a hidden room that users can join by clicking the "wanna play" button in lobby.

send messages between lobby + authost with prefixed commands like:

(pm at join)
@nextmap map ...


client answers with pm @nextmapdownload ok

lobby host adds this client to the clients, that will take part in next match.

when enough clients are found, pm client with @startmatch ip password


i would not download map directly before game will start, download the map before the client is added to the matchmaking system! as you already said, this could take ages, or maybe will never finish. imo this keeps frustrating level for players really low.

(just some sauce from me...)
Post Reply

Return to “Infrastructure Development”