I contacted mouser on Dec 31st about releasing a plugin I created for my own use to the greater community... because hey, I haven't participated in NANY in a while for lots of reasons, and I felt bad. As such, I figured I'd release a script I made for my own use in the hope even one person will somehow find a use for it.
Backseat Siege was created by me in order to involve my (admittedly very limited) viewers and give them a say in what operators i play as whilst playing Rainbow Six: Siege. For those not familiar with the game: it is a squad-vs-squad (anti-)terrorist FPS where every operator has a special ability and distinct playstyle. There are two sides: attackers and defenders, or ATK & DEF as I tend to refer to the two factions.
My requirements for this plugin were as follows:
1. No votes should be ignored; eventually every operators wll get played.
2. Streaming means there is a stream delay. This means people should be able to get their votes in at any time as opposed to a very specific time window.
3. Streaming is stressful. Allow.moderators to help out in case I forget something.
4. Viewers like emotes and love expressing themselves. So make sure their commands have flexibility to them.
5. Due to the design of the game, only half the operators is available every round. This means I can essentially have two voting pools: one for attackers (ATK) and one for defenders (DEF).
6. I don't like my stream to be cluttered; simplicity is important. As such, I want the current top-voted operators to be on screen. In case of a tie, I want them to cycle through the tied ones.
7. As a streamer, I want a simple dashboard with the complete rankings including vote counts to give a bit of auditory commentary. (Example: the number two in votes is only 5 votes away! Keep voting!).... not that it ends up mattering with my small viewercounts...
So what features does this mean I have beyond the obvious stuff already written out?
1. Broadcast software agnostic. OBS, xsplit, whatever... it should work.
2. Decently commented source code; disabling an operator because you dont have it (damn unlocks) or adding new ones is pretty simple. All configuration is clumped up near the top of the file.
3. Sometimes you just want to mess with your viewers, so there is also a facility to fudge around with the democratic process, bahaha.
(People can see it in chat of course, so don't think that you can hide it...)
4. Should be easy to translate since pretty much all output strings are clumped together.
I am kind of lazy and not including screenshots right now (because eh, it is a bot and those installation instructions took forever) and if you want to see it in action, you can always check it out when I am streaming the game in question.
Perhaps tomorrow (Jan 3rd?) I'll find it in me to properly spruce up this post some more; I'm just glad to have the release out at this point.