These are chat archives for Spring-Chobby/Chobby

11th
Sep 2016
GoogleFrog
@GoogleFrog
Sep 11 2016 03:17
Licho wants to get everyone on chobby so he can implement server things without much consideration for ZKL UI
or is at least considering that
and he wants that in about two weeks, which sounds reasonable if work is done
unfortunately its a bit of engine, fixing downloader for starters. Isolation is not strictly required so I'd like to undo abmas blind test
there is also the question of using setConfigInt to easily change more settings on the fly
I'm not even sure if isolation is broken
the occurence of it failing decreases as I continue to use it
maybe it fails on the first attempt of every download
Gajo Petrovic
@gajop
Sep 11 2016 10:32
two weeks is OK, it will give me time to test & contribute
@GoogleFrog you can put a fixed date for the next release, and include MM as one of the tasks
and with regards to MM... i strongly dislike not using the API i described here: https://springrts.com/phpbb/viewtopic.php?f=71&t=33072
especially since there is already UI to support it - which isn't being used for some reason
i don't care if ZKS uses a custom API, but that'll have to happen in interface_zerok
GoogleFrog
@GoogleFrog
Sep 11 2016 12:10
I reread it and dislike it
it shouldn't be possible to join queues individually
Gajo Petrovic
@gajop
Sep 11 2016 12:13
why?
GoogleFrog
@GoogleFrog
Sep 11 2016 12:17
because you could rack up a lot of time on a 1v1 queue and switch to teams, for example
do you have a long wait time for teams or for 1v1?
I don't see the UI needing to support it, so I wrote a new one because that is what the old one seemed to do
Gajo Petrovic
@gajop
Sep 11 2016 12:18
different queue, different wait time
please do NOT put ZK needs over the design of the lobby
if you want to do it differently for ZK - fine, but it's not how it'll be done for chobby in general
i explicitly want multi-queue support; i want to allow people to queue for multiple, totally different queues
that could well be stuff like evorts 1v1 and ba teams
and i don't want a juggler-like matchmaker where i pick queue types i want to queue in, it's very ugly & confusing to new users
GoogleFrog
@GoogleFrog
Sep 11 2016 12:29
what do you mean totally different queues?
are you saying you can have completely independantly implemented queues?
that sounds like a mess
and what is juggler-like matchmaker?
Gajo Petrovic
@gajop
Sep 11 2016 12:35
i don't know what you mean with "independently implemented queues"
GoogleFrog
@GoogleFrog
Sep 11 2016 12:35
like autohosts
Gajo Petrovic
@gajop
Sep 11 2016 12:35
part of the protocol has support for matchmaking and you could technically have matchmakers implemented in different technologies
GoogleFrog
@GoogleFrog
Sep 11 2016 12:35
coexisting queues that are implemented by completely different people
Gajo Petrovic
@gajop
Sep 11 2016 12:35
although i presume ZKS might not have matchmakers as separate entities and do it all on the server
yes that's very likely to happen on uber
i assume BA and S44 people could maintain different matchmakers/queues
juggler-like MM is the kind of matchmaker which has a ton of checkboxes which specify the type of thing you're interested in
GoogleFrog
@GoogleFrog
Sep 11 2016 12:37
how is that confusing?
Gajo Petrovic
@gajop
Sep 11 2016 12:37
this is specifically talking about the UI side of things
GoogleFrog
@GoogleFrog
Sep 11 2016 12:37
look at dota, they have checkboxes
Gajo Petrovic
@gajop
Sep 11 2016 12:37
because you get a ton of checkboxes
GoogleFrog
@GoogleFrog
Sep 11 2016 12:37
you click MM, get some options, click "go"
Gajo Petrovic
@gajop
Sep 11 2016 12:38
i'm on a laptop currently and don't have dota installed, provide a link
i think LoL's system where you select a queue from a list (or tree) is much simpler
GoogleFrog
@GoogleFrog
Sep 11 2016 12:40
that was just one queue?
Gajo Petrovic
@gajop
Sep 11 2016 12:40
in lol? you had ranked, unranked, 3v3, and a new BG later on
GoogleFrog
@GoogleFrog
Sep 11 2016 12:41
I mean you just pick one game type?
Gajo Petrovic
@gajop
Sep 11 2016 12:42
i don't remember if it allowed you to queue in multiple different ones simultaneously
WoW BGs are a good example how multi queue system works
BGs?
Gajo Petrovic
@gajop
Sep 11 2016 12:43
if you desperately want ZK to have just one queue, you can do that by using queue options, or you can simply do it differently inside the interaface_zerok
BGs = battlegrounds, that's their pvp thing
i'm pretty sure you could do the same for arenas
GoogleFrog
@GoogleFrog
Sep 11 2016 12:44
ZK doesn't just have one queue
we need better words
Gajo Petrovic
@gajop
Sep 11 2016 12:45
that image sounds like one queue with options
GoogleFrog
@GoogleFrog
Sep 11 2016 12:45
in general usage the thing you are talking about doesn't exist
Gajo Petrovic
@gajop
Sep 11 2016 12:45
huh?
GoogleFrog
@GoogleFrog
Sep 11 2016 12:46
we need to define some words
I want to call a matchmaker some sort of algorithm that deals with lists of people and finds them games
a matchmaker can have multiple queues, these tend to correspond to game types
for example the all pick and the random draft queues
Gajo Petrovic
@gajop
Sep 11 2016 12:48
those are not necessarily different queues
GoogleFrog
@GoogleFrog
Sep 11 2016 12:48
its what they are called
I forgot that you wanted to allow for multiple matchmakers to exist on one server
I can't think of any game that has multiple matchmakers
Gajo Petrovic
@gajop
Sep 11 2016 12:49
uber isn't one game
GoogleFrog
@GoogleFrog
Sep 11 2016 12:49
exactly
Gajo Petrovic
@gajop
Sep 11 2016 12:50
my protocol specification allows a single matchmaker to handle multiple queues, but you can also have each queue separately on a different matchmaker
GoogleFrog
@GoogleFrog
Sep 11 2016 12:50
yes...
I didn't do that because it sounds like a really bad idea. They'll fight
but I guess you can do it
Gajo Petrovic
@gajop
Sep 11 2016 12:51
i already did it like that
GoogleFrog
@GoogleFrog
Sep 11 2016 12:51
although idk. Leaving the option open for multiple queues allows for bad behaviour
Gajo Petrovic
@gajop
Sep 11 2016 12:51
the uber specification is obviously more complex because of multi game support
i allowed you not to care about matchmakers at all for the ZKS, and just use the queue part of the specification
anyway you're joining queues, without talking to specific matchmakers
GoogleFrog
@GoogleFrog
Sep 11 2016 12:53
individual matchmakers could reasonably want you to do all the joining for the queues they manage in a batch
Gajo Petrovic
@gajop
Sep 11 2016 12:54
i still think that this reminds me of single queue options, rather than multiple queues
GoogleFrog
@GoogleFrog
Sep 11 2016 12:55
are you using my words still?
Gajo Petrovic
@gajop
Sep 11 2016 12:55
it's impossible to use your words because you insist that "queue"=="gametype"
GoogleFrog
@GoogleFrog
Sep 11 2016 12:56
I don't insist that
that was an example
a queue is a single thing you want to play
a matchmaker handles a set of queues
matchmakers are going to exist
Gajo Petrovic
@gajop
Sep 11 2016 12:57
exist how?
GoogleFrog
@GoogleFrog
Sep 11 2016 12:57
people are going to want to make programs that manage multiple queues
Gajo Petrovic
@gajop
Sep 11 2016 12:57
aha; well if you want to write support for that for ZKS, that's good
GoogleFrog
@GoogleFrog
Sep 11 2016 12:57
otherwise, if every queue manages itself without knowing anything about other queues, you'll get extreme inefficiency in preferences
Gajo Petrovic
@gajop
Sep 11 2016 12:58
the thing is i'm not sure if preferences should be different queues, or just user options for a single queue
GoogleFrog
@GoogleFrog
Sep 11 2016 12:59
what do you mean by preferences and options?
and queue
Gajo Petrovic
@gajop
Sep 11 2016 13:01
a player could send something like JOINQUEUE {name:"ranked_zk", params:[{game_types:["team", "1v1", "ffa"]}]}
GoogleFrog
@GoogleFrog
Sep 11 2016 13:01
so you're thinking of putting the existence of matchmakers into the protocol
Gajo Petrovic
@gajop
Sep 11 2016 13:01
that would join him to a single queue, called "ranked_zk", with him being interested in team, 1v1 and ffa options
GoogleFrog
@GoogleFrog
Sep 11 2016 13:01
that isn't what I defined a queue to be
but sure, I've got what you mean
Gajo Petrovic
@gajop
Sep 11 2016 13:02
it wouldn't refer to MMers specifically, but to possible queues
you still wouldn't know what matchmaker is handling this queue
GoogleFrog
@GoogleFrog
Sep 11 2016 13:02
I don't care what we call things as long as I know what you call things
you define the words then
Gajo Petrovic
@gajop
Sep 11 2016 13:05
the server sends a list of available queues to the user, which the user can join;
each queue should be joined manually with a single click
queues can inform the player on the amount of estimated time that will take them to provide a match
queues can accept custom parameters
this only defines the user<->server communication, and the user doesn't know who handles the queues or how
GoogleFrog
@GoogleFrog
Sep 11 2016 13:06
I dislike that UI
there should be a button to confirm those choices
Gajo Petrovic
@gajop
Sep 11 2016 13:06
queues also define the required resources you need to join them, and some other things maybe like min/max elo, lvl, etc.
GoogleFrog
@GoogleFrog
Sep 11 2016 13:06
otherwise the MM UI will pop up and down as people click though
Gajo Petrovic
@gajop
Sep 11 2016 13:07
what UI/what choices?
GoogleFrog
@GoogleFrog
Sep 11 2016 13:07
the choice of queues they join
Gajo Petrovic
@gajop
Sep 11 2016 13:07
why would it pop up/down?
GoogleFrog
@GoogleFrog
Sep 11 2016 13:08
if you are in matchmaking there should be a popup type thing on the screen
like the my battle tab
in your system this thing appears when you click on a queue
but then you close it by unclicking on all the queues?
Gajo Petrovic
@gajop
Sep 11 2016 13:09
unclicking?
GoogleFrog
@GoogleFrog
Sep 11 2016 13:09
clicking on selected elements to deselect them
Gajo Petrovic
@gajop
Sep 11 2016 13:10
no, there would be a join and a leave button, and you could manage which queue you'd like to leave at any time
so you could join 1v1 and teams and then leave teams if you chose to
GoogleFrog
@GoogleFrog
Sep 11 2016 13:10
and also an unjoin all button?
Gajo Petrovic
@gajop
Sep 11 2016 13:11
yeah you should be able to simply leave the matchmaking process altogether
the point is you could manage whether you join each of the specific queues
they might even have different requirements obviously
e.g. if you're in a team (neither uber not ZKS supports that yet afaik...) you couldn't join 1v1s
GoogleFrog
@GoogleFrog
Sep 11 2016 13:13
ok I'll see how that system works out
Gajo Petrovic
@gajop
Sep 11 2016 13:14
so i think in my definition a queue is an entity that you join
and basically ZK would have only one queue with a lot of options
that might be how dota does it
although i think not actually, their "Normal Match" is a single queue
"Ranked Match" would be another one, as would "Practice 1v1" probably
GoogleFrog
@GoogleFrog
Sep 11 2016 13:16
its not
because you can't be in ranked and normal at the same time
its all one queue (for your definition) with some exclusion rules
Gajo Petrovic
@gajop
Sep 11 2016 13:17
i think that would still be different queues but you can join only one at any time
you may have some such requirement for ranked queues -> that players can't join multiple ones (for whatever reason)
GoogleFrog
@GoogleFrog
Sep 11 2016 13:18
how do you say you can only join one at a time?
queues don't know anything about each other
Gajo Petrovic
@gajop
Sep 11 2016 13:18
this would be a queue parameter and the server can block you from trying to join a different queue
server will have to assist with queue handling anyway
well it might need to
or the matchmaker itself should detect when you join a battle or a game, go offline, etc.
when a team member leaves your entire team should leave the queue as well
GoogleFrog
@GoogleFrog
Sep 11 2016 13:25
does Lobby call before Interface?
Gajo Petrovic
@gajop
Sep 11 2016 13:25
no, both callins and callouts happen at the interface level first, but most interface callouts first invoke Lobby
GoogleFrog
@GoogleFrog
Sep 11 2016 13:26
chobby sends a command to lib lobby
is the Lobby: or Interface: called first?
Gajo Petrovic
@gajop
Sep 11 2016 13:27
Interface
Lobby: might not be called at all if Interface doesn't invoke it
the exception are those cases where there is no method defined in the Interface:, then it's just Lobby: that gets invoked
GoogleFrog
@GoogleFrog
Sep 11 2016 13:29
ok I made the interface more generic
what do you think of the top box UI?
there is a lack of room for it on small screens
Gajo Petrovic
@gajop
Sep 11 2016 13:30
i only just downloaded chobby and am slowly trying things out
the connection here is a bit slow
GoogleFrog
@GoogleFrog
Sep 11 2016 13:30
and also it implies the existence of another panel which it isn't required
Gajo Petrovic
@gajop
Sep 11 2016 13:36
i don't know how to start MMing
i press start and nothing happens
ohh there's an almost invisible checkbox
so Finding Match and Matchmaking aren't the same window for some reason
anyway I'd like more info in the Finding match, such as how much time i'm in queue, how many/what queues and so on
ETA too maybe
GoogleFrog
@GoogleFrog
Sep 11 2016 13:38
sure yea
finding match and matchmaking are not the same window because of UI rules
Gajo Petrovic
@gajop
Sep 11 2016 13:38
i can be in both battle and queue which is OK, but battle seems to be cut off
download isn't starting for me
CCR
maybe my DL speed is so slow that it's still stuck at the preparing phase or something, or it's the abma thing
GoogleFrog
@GoogleFrog
Sep 11 2016 13:39
where is the download from?
Gajo Petrovic
@gajop
Sep 11 2016 13:39
(using newest engine)
i'm not sure
about the source of the dl
hm
i have no progress bar
in the GUI
but i have it in the spring output
Gajo Petrovic
@gajop
Sep 11 2016 13:52
i'm unsynced even though i haveboth map and game
(i didn't have it, then i CHANGED the map)
Fatal: Spring: Incorrect/Missing content: Could not load texture from file bitmaps/GPL/fire.png
GoogleFrog
@GoogleFrog
Sep 11 2016 13:53
I don't see you
Gajo Petrovic
@gajop
Sep 11 2016 13:53
it crashed
with that
GoogleFrog
@GoogleFrog
Sep 11 2016 13:53
and I think unitsync and downloading have become broken
Gajo Petrovic
@gajop
Sep 11 2016 13:53
see me now?
i'm desynced
GoogleFrog
@GoogleFrog
Sep 11 2016 13:56
I don't think you have the map
Gajo Petrovic
@gajop
Sep 11 2016 13:57
i have this one
GoogleFrog
@GoogleFrog
Sep 11 2016 13:58
are you running isolated?
non isolated was broken iirc
GoogleFrog
@GoogleFrog
Sep 11 2016 14:18
how am I supposed to be able to leave queues with your UI?
is this code saying that it should spawn a MM window for each queue you are in?
GoogleFrog
@GoogleFrog
Sep 11 2016 14:26
the old interface was not defined in lobby.lua so I guess I ignored it
maybe a giant top bar is a good MM solution
or maybe the bottom right corner
I think a battle tab implies clickability
which is wrong
I guess I'll make an example
GoogleFrog
@GoogleFrog
Sep 11 2016 14:32
it should display ingame
which sets a bound on the UI
Eshed
@ashdnazg
Sep 11 2016 14:41
I guess I'll have to fix downloading :S
Gajo Petrovic
@gajop
Sep 11 2016 15:30
back now - internet isn't really stable
old code probably didn't support multi-queues in the way we may want
(UI wise)
Ben Tyler
@kanatohodets
Sep 11 2016 15:35
@gajop I'm back from the conf I was busily preparing for, so I have time to hack on the MM bot again
I see there was a lot of discussion about the implementation of MM -- anything that has bearing on https://github.com/kanatohodets/go-match ?
Eshed
@ashdnazg
Sep 11 2016 15:36
o/
Gajo Petrovic
@gajop
Sep 11 2016 15:36
@kanatohodets no, most of it wasn't even about the uber impl per say
Ben Tyler
@kanatohodets
Sep 11 2016 15:36
that was my impression
Gajo Petrovic
@gajop
Sep 11 2016 15:36
ZK server is also getting support in the protocol
apparently they also have interest in having matchmakers but i'm not sure about that
need to see with @GoogleFrog and especially Licho
Ben Tyler
@kanatohodets
Sep 11 2016 15:46
ok. well, unless you have more specific priorities, I think my TODO list looked something like this: 1) team support, 2) persistent key-value store for configs, potentially exposed to lua for tracking player data, 3) autohost UDP listener, 4) some simple web UI for admin (change matchmaking algos, add/remove/edit queues, view log messages)
Gajo Petrovic
@gajop
Sep 11 2016 15:47
the top priority would be to merge my branch of uberserver to master :P
Ben Tyler
@kanatohodets
Sep 11 2016 15:47
how best to query the spring player ELO service is an open question, but I think that should be fairly straightforward
ah, yeah, haven't touched uber
Gajo Petrovic
@gajop
Sep 11 2016 15:48
maybe i should be doing that if you have an actual TODO list as mine's a bit messy
could maybe do it in a week or so
Ben Tyler
@kanatohodets
Sep 11 2016 15:48
no rush from me, developing against your branch works fine
for my local uber
Gajo Petrovic
@gajop
Sep 11 2016 15:50
yeah but would be nice to push it as there will be other fixes too