Difference between revisions of "Talk:2131: Emojidome"

Explain xkcd: It's 'cause you're dumb.
Jump to: navigation, search
(live votes javascript link)
Line 51: Line 51:
   print(f"{c1['score']} {c1['competitor']}-{c2['competitor']} {c2['score']}")</nowiki>
   print(f"{c1['score']} {c1['competitor']}-{c2['competitor']} {c2['score']}")</nowiki>
[[User:Tammo80|Tammo80]] ([[User talk:Tammo80|talk]]) 19:42, 1 April 2019 (UTC)
[[User:Tammo80|Tammo80]] ([[User talk:Tammo80|talk]]) 19:42, 1 April 2019 (UTC)
: or if you want to see the vote count live in browser: https://emojidome.playcode.io/ -Andy 22:01, April 2019

Revision as of 20:03, 1 April 2019

I've checked the network tab and console - nothing really seems to happen when you vote, which may be something we want to put on the explanation tomorrow - Myxoh

I suspect the real april fools joke is going to come on Wednesday when xkdc posts an app showing us our psychological profiles that they are now selling to marketing companies after data-mining our emotional preferences to marketing firms - Nosajimiki

@Nosajimiki: psychological profiles of xkcd fans. That might be some interesting marketing. - 5Cincinatus

@Myxoh: I came here to see if anyone else had noticed this! But, I do also see a websocket connection to emojidome.xkcd.com, I bet it's counting votes that way.

There is a websocket connection. A message is sent every time you vote. It looks like there are also status update messages every second (saying which emoji currently has exactly how many votes, i suspect this changes the amount of hearts that show up), and "bracket start" messages every so often. The bracket start message seems to contain hundreds of upcoming emoji pairs. Edit: a bracket start is sent at the start of every match (so every ~30 seconds). It also contains logs of which messages to show for previous matches, and which emoji are currently battling. 16:30, 1 April 2019 (UTC)

There seems to be nothing stopping me from clicking multiple times. Do you think it actually counts it all those times? Can I click-spam to say "this is much better"? Fabian42 (talk) 16:48, 1 April 2019 (UTC)

Well this is fun. Look like there are 512 symbols, meaning 256 first-round contests. The first round would take (at 38 seconds / round) ~2.7 hours. The remaining rounds, from an estimate of geometric progression, would just under double this, meaning this comic will run for ~ 5 hours until we have our winner... ~alexandicity 16:51, 1 April 2019 (UTC)

Did he just add a scroll bar to the previous matches? I didn't notice it earlier 18:17, 1 April 2019 (UTC)

Nope, you were able to scroll before, too. At least about 2 hours ago. Fabian42 (talk) 18:20, 1 April 2019 (UTC)

While some of the recaps of past battles are generic (taco vs sandwich: "One for the history books"), many seem to be specifically written for the battle (light bulb vs candle: "Some would argue that this one was settled in the 1800s"). I wonder if/how much this will continue into round 2.

Round two has just begun, and the timeout has been bumped to 60 seconds. --Anarcat (talk) 18:41, 1 April 2019 (UTC)

If that trend continues, the full competition will take pretty close to 24 hours. Fabian42 (talk) 18:45, 1 April 2019 (UTC)
It looks like it's 1:14/round, which is double what the time was in round one. Will round three be 2:28? 1:51?
It's just over 1:15/round from the history JSON (plus some hundredths of a second, but it appears 1:15 is the intent)
Hadn't looked there. Round one concluded at 18:39:20-ish, 9560 seconds from 16:00:00. At 256 battles, that's 37.34 seconds/battle. However, it looks like the first battle ended at 15:59:57, which would add about 40 seconds, 9600 seconds/256=37.5 seconds exactly. Doubling for round 2 gives 75 seconds.

And while the match-ups winners are typically colored, and underlined, the losers are endgame grey.

Has anyone determined if multiple-voting is actually counted? For me at least the vote button fades back to gray after I click it, which implies you can/should click it again, but that may not actually be processed. We might add a clarification about that to the explanation. - jerodast (talk) 19:01, 1 April 2019 (UTC)

A reddit user on the r/xkcd thread (https://www.reddit.com/r/xkcd/comments/b84at1/xkcd_2131_emojidome_script_src2131comicjs/) claims to have attempted "vote stuffing via the console" with no noticeable change in vote totals. So it looks like it may be sending it client-side, but only counting the vote once server-side --l

It would appear that we are supposed to believe the commentary is live, and unscripted: " {"This one is a true test of the audience today.", "Just to stress this again. Live commentary, folks. Completely unscripted and coming in hot.} "-- 19:20, 1 April 2019 (UTC)

It's clearly live because the result of a previous round is affecting the next round's commentary - and the combinatorial explosion would prohibit that from being remotely plausible. We're watching live comedy here! SteveBaker (talk) 19:30, 1 April 2019 (UTC)
On the dog vs. wolf, he said "Again, we are getting a lot of questions on this today. This is live commentary, folks." Proof I guess. HI RANDALL! 19:31, 1 April 2019 (UTC)

Is there really anything we can put for the transcript? 19:25, 1 April 2019 (UTC)

Aby ideas on how the commentary is done? It seems to sort of match the emojis. Svízel přítula (talk) 19:31, 1 April 2019 (UTC)

It seems that Randall is commetating this live, as he periodcally says it's live in the robot commentator text. See above. 19:36, 1 April 2019 (UTC)
Perhaps not "live" as each round 2 matchup was known 160 minutes before it was voted on. He could comment on the battle itself, and/or provide a comment if one or the other combatant won. I think he's a couple hours ahead of us.
I dunno. Whenever a new battle starts, there is a default message, that is soon replaced by a more pertinent message. That seems to suggest that he's doing it on the fly. 9yz (talk) 20:03, 1 April 2019 (UTC)

This is a quick piece of python to see the json results (and commentary): import json, urllib.request d = json.loads(urllib.request.urlopen("https://emojidome.xkcd.com/2131/socket ").read().decode('utf-8')) for g in d['bracket']['played'][0]: c1, c2 = g['game'] print(f"{c1['score']} {c1['competitor']}-{c2['competitor']} {c2['score']}") Tammo80 (talk) 19:42, 1 April 2019 (UTC)

or if you want to see the vote count live in browser: https://emojidome.playcode.io/ -Andy 22:01, April 2019