Sign in to follow this  
Raybarg

Wurm Sermoner Bot - Queue mode

Recommended Posts

Hello fellow Wurmians, some of you might already be familiar with the Sermoner Discord Bot which we used during last year friendalong event. Last year the bot got its "Queue mode" added to it on the fly to better serve a situation in which there is so many many priests wanting to sermon, and to let people reserve a spot/time and set up their alarm clocks for best outcome. That queue mode was very simple and rudimentary. Now its time to learn what we learned from Priestapalooza and give the bot a proper queue system.

But there is a thing I have not yet decided out, so I seek help from you lot for any ideas, insights, opinions, etc...

 

Here is a little diagram I draw to use to explain the situation:

image.png

So we have simple 3 slot queue with each slot now reserved by a priest... but then Aaron who is supposed to preach did not come around to preach and some time passed so the bot decided skip it. Reserved times did not change, just 1 preach was lost in the teeth of the Langoliers.

Scenario 1:

Ingredulous Frodo decided to fill in for Aarons slot. Rest of the queue is pushed to the future!

Just as with normal "sermons happening every 31-32mins", there is not really much we can do about this situation than simply push the queue forward to let everyone have their spot, even if its a bit later than what was reserved?

 

Scenario 2:

Ben the Hyper decided to step in because theyre next in line... Rest of the queue is pulled closer to the edge of Langolierian hunger!

Perhaps pulling the queue to allow next sermon be as soon as possible is a bad idea because this might cause cascading "missing the spot" effect?

All other ideas and comments are also welcome. :)

  • Like 3

Share this post


Link to post
Share on other sites

This is a tough one. The bot is supposed to help automate the process, so designing a system where an active priest has to be on standby to manually step into an automated process when someone misses their queue seems to defeat the purpose of automation.

 

On the other side of things, seeing as it is a 30 min window between sermons it would be very easy for people to think it is safe to afk and come back on time only to find that they missed their turn because someone else missed their turn.

 

I would argue that them missing their sermon slot is a risk they took by stepping away. The discord bot is there to notify them when it's their turn so the responsibility falls on them. With the first option, the responsibility falls on the bot and the people working with it to be stand ins when people skip out.

 

So I think it's a question of where do you want the responsibility to fall. On your shoulders for having to maintain a stand in priest or the players who entered a queue and walked away.

 

Another point against stand in priests is that it requires an active player which may or may not be feasible 24/7, while if a player misses their turn and the next person gets bumped up it's a completely automated system that players can participate in at any time of the day.

 

I think the pros outweigh the cons of bumping people up a slot imo. There is no perfect solution here, but this is the lesser of two evils I think.

 

Edit: another point in favor of bumping the queue is that it incentivizes players to be more proactive with sermons, ensuring a more smooth process for all involved.

 

Second edit: a potential solution is that when someone misses their turn, the bot can ping the next person and give them more time to respond then when it is normally their turn seeing as it would happen unexpectedly early for them, but not so much time that it stalls the sermon process for everyone else.

Edited by Macready

Share this post


Link to post
Share on other sites

Bot already has pinging option to notify "next in line" when cooldown is off.

Its more of an exception when situation like missing a queued slot happens and thats on the priest who didnt show up in time. From experience I know that during a large event there will be dozens of eye pairs staring at the "lost 30minutes"  as potential gain in them getting their sermon in 30minutes earlier, which causes subsequent drama as I referenced to with "Ingredulous Frodo" who decided to walz past the line and fill the lost slot. (Ofcourse this situation is also against any sermon group or impalong general sense of rules and is considered as ninjaing a sermon.)

So I am leaning heavily on the solution that queue slots are not pulled earlier in any circumstance, and if notifying "next in line" seems to start notifying people over 30minutes earlier than their reserved slot... then its up to those present to manually resolve the situation or simply let the delay happen. Naturally sermons dont happen every 30mins exactly so the queue is constantly being pushed forward in time by a minute or two per sermon. (which is why queue length will be limited to 8 hours in the future so theoretical accumulation would be <=30mins max for someone who at any point reserved the very last slot.)

Last year the rudimentary queue system was not locked in time, there was just a comma separated list of priests to maintain the sense of order... and if first in queue did not show up within 5mins, then it was agreed as "house rule" that 2nd in queue can preach and original 1st in queue remained 1st in the queue. Putting time in the queue slots makes everything a bit more complicated but I intend it to be perfectly automatic, with option for people to communicate and resolve exceptional situations.

Share this post


Link to post
Share on other sites

I think it's honestly going to come to a matter of your (the creator) personal preference for this one. 

I have 3 priests at 100 faith and have done a lot of sermons at various events over the years both in WU / WO, the original priestpalooza sheet is from my event on Sklotopolis, and I LOVE and am a huge supporter of automated systems - but humans are humans and it's certainly not perfect.

 

IMO, your leaning heavily solution is the one I would personally go for. I would much rather go at my time -> later  and not at my time -> earlier. I'm already expecting to go at abc123 time, I can handle going later because I know 100% I will be around, I've already prepared to be there. If it's earlier, I may not be able to make it, and that would frustrated me personally. Priests (typically) are already leaving their characters up so others can benefit from having listeners, I don't think it should be required to be more active than showing up for your own sermon slot. It's incredibly stressful to attend an event and have to be present the entire time just in case your slot time changes. Personally, I set my phone alarm just to make sure. 

 

I was thinking of some sort of system that would have the bot ping the next in line and let them know that if they WANT to sermon early, they can, leaving everyone else in the queue at their slotted times, but it still doesn't resolve / solve the 30+/- m space unless everyone decides to agree to move up. TBH, personally, I don't even think about everyone else in line and I've never cared who went when or didn't, I just have my slot, and I do typically expect to keep that slot / go at that time. If Aron doesn't make it to sermons and Frodo went, I'd be frustrated because it was past the allotted time and considered ninja from Ben, but I'd prefer that over Ben going and then Chuck moving up an entire slot (especially if I were Chuck or to sermon after Chuck, etc). 

 

Sorry for the ramble, hope that all makes sense. 

Share this post


Link to post
Share on other sites

What about making one have to verify the spot 5 min up front? If not verified within 4 min, then bot announces to everyone a free spot will open in 1 min, and enables sniper mode, where someone can go and take that spot. Might be harse, but will keep it rolling.

Edited by Drogos

Share this post


Link to post
Share on other sites
10 minutes ago, Drogos said:

What about making one have to verify the spot 5 min up front? If not verified within 4 min, then bot announces to everyone a free spot will open in 1 min, and enables sniper mode, where someone can go and take that spot. Might be harse, but will keep it rolling.

 

On that note - I have a question (I'm not familiar with the sermon bot) - is it *required* to use discord in order to sermon at these events? Using the sheets at least people are not required to make an account or potentially use a chat program they may not be comfortable with, it's just someone typing in a name, doesn't even have to be them. Is this new method excluding people who may have issues utilizing the technology (be it anxiety, physical limitations, tech limitations, etc). 

 

** sorry I realize this is probably off topic to OP, but I wanted to ask as it's a topic that has come up in the past, being inclusive is super important to me. 

Edited by Stargrace

Share this post


Link to post
Share on other sites
10 minutes ago, Stargrace said:

On that note…

That depends. It is possible to make a bot have a web interface and / or listening to in game chats, or in game irc, etc, etc. Each requiering extra efforts by the bot creator (how much, I am not sure, and I guess it depends on how it is done as well). It is far easier if everyone can agree on using the same "interfae" (discord in this case), but yeah, not technically required, as long as the creator has the time needed.

Share this post


Link to post
Share on other sites

i think the safest route is to push back a few minutes rather then forward when long queues are almost certainly set to timers for those players, unless of course you manage some further discord integration allowing pepple to respond to the bot with approval to advance there time. I think you kind of need a hybrid of this system and a house rule on misses, whoever is the next that is off cooldown and is responsive takes the slot as long as its prompt.

Edited by VirusMD

Share this post


Link to post
Share on other sites
On 5/19/2023 at 3:51 PM, Stargrace said:

 is it *required* to use discord in order to sermon at these events?


Short answer; No.

Long answer; Just like last year with simplistic queue system which was comma separated list... People who didnt use Discord merely asked in local to be added to the queue and a local helpful player added them in discord and basically parroted in local when the bot announced that next one should be doing their sermon. I intend to retain this community aspect in bot's command toolset so that any helpful active player can smooth out the rough edges of the unexpected.

Adding clock times in the queue slots is merely a method to add predictability to reserved slots. With the comma separated list one can see that adding oneself to the end of "Foo, Bar, Doof, Duuf" will be in 2 hours and every single unexpected effect to that prediction is exactly the same if the queue has times on it. With comma separated list someone last year wanted to reserve a slot in 3 hours so they added "empty1" and "empty2" before adding their priest name, resulting with "Foo, Bar, Doof, Duuf, empty1, empty2, Latepriest" list. -> Adding time to the queue system makes it more convenient and easy to reserve a slot further up, with some sensible limitations.

As mentioned, its very typical during a sermon group to have priests stand online, people going to sleep and wanting to ensure they could pop a preach when they get up in the morning, before heading to work... and to be able to pop a sermon when they come from work. The effort here is to make exactly that as easy as possible.

  • Like 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this