AttorneyOnline / AO2-Client

An off-the-cuff courtroom drama simulator
https://aceattorneyonline.com
GNU General Public License v3.0
61 stars 59 forks source link

In-Client Poll Feature (Suggestion For AO2.9.1) #634

Open yOsHIo07 opened 2 years ago

yOsHIo07 commented 2 years ago

Currently if GMs wish to gather votes from players most have to use Discord or another messaging system. Despite /vote currently existing this has been found to be unreliable and only allow for players to submit vote(s) to players in the room. GMs have opted to using discord as the safest idea and allow themselves more flexible in what players can vote.

My suggestion is allow for GMs to create polls with set options AND/OR allow for GMs to create a poll where players can submit a written answer in response to it (think similarly to gameshows like Survivor where contestants write a name to put in the box or like visuals novels which require players to type an answer - this could allow GMs to create a secret answer for their poll which unlocks the TRUE END! GMs wouldn't want to put this answer in a set poll as it's meant to be a reward and a secret answer.). Additionally the added feature of letting users write their own answer allows more open-ended polls (e.g. "Where would you like to go?", "What do you do?")

These polls can be done using the current existing OOC chat. But an interface could also be created which would allow GMs to use evidence as visuals for each of their choices (here is an idea of what this could look like: https://imgur.com/4jVK4HA). My current suggestion is to simply use the OOC chat and not bother with an interface as then custom themes don't have to change for this feature.

Here is a list of other things that I believe should be considered when it comes to the implementation of polls:

  1. Players when they submit a vote should receive a confirmation of their vote so they can trust they have voted for their desired choice (GMs should also receive said confirmation). Additionally you could allow GMs to turn on/off public confirmations (e.g. "Mike has voted!" or "Mike has voted for X") but this may make it too complicated by having so many toggles for the GM to set.

  2. GMs should be able to see a generated list of the submitted votes to confirm the votes and count them easily. If we wish for players to be able to see the votes this should be an option that the GM can turn off an on. Additionally, if players can see the votes there should be an option for the votees to be ANONYMOUS. (again this may be adding too many toggles)

  3. GMs should be allowed to set how many votes each person gets (e.g. some currently existing gamemodes allow specific roles to have TWO votes.). I think it would also be a nice feature to allow someone to have ZERO votes (this would mainly prevent spectators votings skewing the results but also allow roles which have zero voting ability). The GMs would use char_id to set these.

  4. There should be a way for players to change their vote (in the event that they typo or misvote). Confirmation should also be given to the player for this, telling them what they had originally voted and now what it currently is.

  5. For polls which the GM have set pre-determined options maybe allow the GM to include an "OTHER" feature, where users can type their own answer instead of picking a pre-determined option. This could be done if the GM wishes to allow a secret answer to their poll (e.g. "Pick the culprit!" but there is a hidden person not visible in the main cast?)

Feel free to scrap ideas or alter ideas based on what the client can handle. I believe the current proposal I have made covers mostly everything that a poll could be used for in the AO2.9.1 client, and it therefore allows for maximum flexibility and for the polls to be used for whatever purpose the GMs wishes. I also hope all my ideas have fully understood the limitations and current format for AO2.9.1.

Thank you for your reading!

Crystalwarrior commented 2 years ago

Since the OOC box is html-based some of the voting interface could be handled with some smarty pants hackery

oldmud0 commented 2 years ago

Most of your suggestion concerns the server rather than the client. As for the clientside functionality you want, it seems like you are actually asking for server-defined dialogs which would give you the flexibility you desire.

yOsHIo07 commented 2 years ago

Most of your suggestion concerns the server rather than the client. As for the clientside functionality you want, it seems like you are actually asking for server-defined dialogs which would give you the flexibility you desire.

Now that you bring it up, you're right! I do keep mixing up the difference between server sided features and client sided features. The main client sided feature in my suggestion would be the interface suggestion I believe.

I've never heard of server-defined dialogs before, do you mind me asking what that means? Thanks :)!

oldmud0 commented 2 years ago

Basically, the server tells the client how the dialog should be laid out, what buttons/labels/textboxes should be there, how they should be styled, etc. Like loading a web page, but much simpler. The client then tells the server what it clicked or selected.

yOsHIo07 commented 2 years ago

Basically, the server tells the client how the dialog should be laid out, what buttons/labels/textboxes should be there, how they should be styled, etc. Like loading a web page, but much simpler. The client then tells the server what it clicked or selected.

Thank you so much for explaining! I'm understanding a lot more about how the server differs to the client and how a lot of this suggestion can be implemented with server-defined dialogues due to the fact a majority of the polls can be handled within the OOC chat for example as Crystalwarrior mentioned earlier.

The only bit I remain curious on now would be how the interface idea could be created via the OOC chat, but I suspect that discussion would be more suited for outside the thread as it would be about an individual's server changes as opposed to client changes!

I'm very satisifed with the response and am excited that the possibility for the polls are there. Thank you (again) for replying!