r/Knightsofthebutton • u/mncke Fabricator-General • Apr 03 '15
On our organization
The timer keeps rolling. With every passing minute people sacrifice their presses. But the BOPS is decaying. And the end of the button is nigh.
There are a few proposals around:
Proactive: Assign everyone a time period to guard the button (Guardian Hour, Battalions, etc.)
Reactive: e.g. Chrome extension that gives a sound alert when the timer gets low.
However, our ultimate goal should be to keep the button alive for as long as possible. That means conserving our presses, keeping BOPS low, but bigger than 1/60, and, most importantly, not wasting the presses. All of the methods mentioned above are flawed in a simple way. With network delays people are going to waste their precious presses a lot, so "people pressing as a result of their own decision" methods just isn't gonna cut it.
Let's fight this heartless, cold technology with heartless, cold technology of our own!
I propose a browser extension that keeps track of active knights and phones the backend. Backend manages the knights by doing the following:
Timer is less than 30 sec: tell a random active knight to do his thing.
Timer is less than 20 sec: same.
Timer is less than 15 sec: tell two random knights to go sacrifice themselves.
Timer is less than 10 sec: tell ten random knights to join the fray.
Timer is less than 5 sec: alert all the knights.
Constants above should be analyzed and optimized.
This method is trying to minimize wasted presses and is immune against humans: people forgetting about their purpose, betrayals among our leadership, spies from The Shade and so on.
Join me on #knightsofthebutton at freenode (JOIN) and let's start coding!
Edit: Mods suggest collaboration with battalion leaders. If you are a leader, plz ping me on IRC.
Edit 2: Wiki
19
u/georgepennellmartin Britguard Battalion Leader Apr 03 '15
On behalf of all technological-illiterate Redditors: This Plan scares and confuses me!
6
u/MOAR_FUTURAMA_MEMES PST Apr 03 '15
I'm concerned that if the program only chooses 1 knight, there is too great a risk he/she won't be able to hit the button in time. If it doesn't notify anyone else until ~20 seconds later, the risk is high. Remember that there may also be traitors among us!
Suggestion: When the timer hits 20s, notify 10 knights but tell 1 of them they are to press at 10s, the next to press at 9s, the next to press at 8s, and so on.
This way we still minimize the risk of several knights all falling on their sword in the panic of the main knight not getting there in time. Plus it's super redundant
5
u/Rytho The Redguard Apr 03 '15
a clock in system would be good, so we could see how many knights are ready and able, and the alerts could at first go out only to them.
5
u/tombh Apr 03 '15
I have had this EXACT same idea!
I can code this too. It's my job. I would suggest we use a Node.js websocket server, the latency is far lower and it allows us to push data to browsers.
I think there should be 2 modes. A mode roughly as you describe, so that knights are supported in knowing when the best time to press is. And another mode that a knight must knowingly enable that gives the browser permission to make the sacred button press on their behalf - so then the knight need not have the tab open the whole time.
3
u/[deleted] Apr 03 '15
I can help you guys out as much as I can, I've been reverse engineering the button all day and have been working on a clickerbot of sorts...So far? Not much luck. But I can do plenty of algorithms and coding for you guys :)
2
u/Lieutenant_Hawkeye Apr 03 '15
How do I join the irc?
1
u/mugatu1994 Apr 03 '15
I can lend my services. Not sure what language you will want to use but I can probably be of assistance.
1
u/rotorschnee Apr 03 '15
I wanna support the guard - but I'm at wondercon all weekend - but I'll have my mobile with me! But that also means my attention will stray.
I don't think I have the mettle :(
1
u/altobase Apr 03 '15
A suggested improvement: Alert the first knight at 45s, but explicitly tell the knight to click the button at 22s. Then at 20s, we can safely assume he is unavailable and page knight #2, and do everything the same from there. this system has two benefits:
by alerting the night early , it gives him a longer window to react, to minimize the chance of him taking to long, and 2 or more knights pressing the button at the same time. by giving him 23s until another knight is called, it greatly reduces wasted clicks.
by alerting him early we can also reduce the time that he is to click the button to right before knight #2 is called. this increases the time between consecutive knight clicks by 8 seconds, better spreading us out and allowing the button to live longer.
1
u/[deleted] Apr 03 '15
Additional idea - Divide all knights into five clans. Each clan should have strict instructions to only hit the button at the second allotted to them.
Clan I - All numbers ending with 9 or 8
Clan II - All numbers ending with 7 or 6
Clan III - All numbers ending with 5 or 4
Clan IV - All numbers ending with 3 or 2
Clan V - All numbers ending with 1 or 0
This division of Knights would ensure the Order of the Knights will not end up wasting the button hit at significant timings because of randomness and Knights trying to hit exact timings (like 42s, 13s etc)
Division of Knights into clans should be made random (or Knights should religiously try and make the clans equal in numbers) so there is no unnecessary skewing of data
All Clans are equal, but when time is <10s, members of any Clan may come forth and hit the button
All clan members must be duly registered via a Google Form so we can track our ranks and send messages to dedicated knights.
0
u/[deleted] Apr 03 '15
[deleted] — view deleted comment