I know next to nothing about programing in IRC script. I was wondering if someone who has some free time couldn't write a game for me based on my following idea... or perhaps the game has already been written... and you can point me to it.
The game would need to great the user when the enter the room.
It would need a help (!help) command to display the command options.
It would also need a rules (!rules) command to explain the game. The rules would have to reflect any and all variables set by the bots controller.
The game is simple, to me. The bot would say a word or phrase. It would give a configurable about of time for all people to answer. (I was thinking with, !a their answer here) (How ever the answer gets to the bot would be done in secret so no other players know what each other are typing.)
The bot needs to remember everyones answers. Once the time limit has run out, the bot would compare all the answers, find all the answers that matched. Then give a score based upon how many people also answered with the matching answer.
This is an example of matched answers with 10 people playing the game.
The Question: Name a mode of transportation.
1st Player To Answer: Boat
2nd Player To Answer: Car
3rd Player To Answer: Car
4th Player To Answer: Boat
5th Player To Answer: Airplane
6th Player To Answer: Skateboard
7th Player To Answer: Car
8th Player To Answer: Boat
9th Player To Answer: Car
10th Player To Answer: Airplane
It would see that the first answer was BOAT and that 2 other people answered with boat, #'s 4 and 8. So it would set the score multiplier for 3 people to 2. Number of answers -1.
It would do the same for the next, so CAR would get a multiplier of 3. 4 - 1 is 3.
For the 2 that answered with Airplane the multiplier would be 1.
And the multiplier for the person that answered with Skateboard, it would be set to 0.
Next it would figure each persons score based on how quickly they answered, versus total time to answer. Lets say the time limit is 20 seconds to answer. (This should be configurable by the bots controller.) The first person to answer chose BOAT in just 2 just to seconds, so his score would then be set to 18 for this round. He would then get the multiplier added to that of 2, making his total score for this round, 36. And the person that answered in second place chose Car, in 3 seconds making their score 17, and then with the multiplier of 3, because for people answered with Car, the second persons score would be 51. Then continue doing this for each person. The people who had no matches with anyone else and got a 0 multiplier, would score zero points for the round.
A games rounds, or length should be set initially by the bots owner as a default for the game.
The game should keep track of the daily top 10 high scores, the monthly top 100 and a Hall Of Fame with everyones running totals. So three commands for showing high scores. (Examples, !daily !monthly !hof)
Next is having an additional score with its own 3 high score tables for team scores. Teams would only be per round based on all the people that answered the same way for that round. I'll explain later in this article.
It would be nice if users could add words or phrases for the game. The question would just be selected at random. Would be nice (but not needed) if the bot could remember which questions its asked, so it doesn't start repeating them until it has asked all the questions in its list.
It would be nice for the bot to show all the matched up answers with how many people chose that answer, and put names next to it in order of most matches first, along with scores and the team scores.
Example of showing that would be:
answer 2 (51), answer 3 (45), answer 7 (27) and answer 9 (12) said Car. Team score: 135
answer 1 (36), answer 4 (26) and answer 8 (12) said Boat. Team score: 74
answer 5 (12) and answer 10 (2) said Airplane. Team score: 14
answer 6 said Skateboard and scored no points.
I use the word answer here instead of player to represent the player. The players names would go where answer X is. But since it would change based on the order of how quickly they answered, and how many others answered like them... I'm trying to keep it the same as the example above. I hope this all makes sense.
Notice that players who had the 8th fastest answer had a tie score with the person who answer in 9th place. 6 seconds left times 2 is 12, and 4 seconds left times 3 is also 12. Just showing that its possible to answer with a slower time, and have a big score.
The team score goes on a different score board than the persons personal score. And the team score will be different based on the answers for each round.
I hope you aren't confused.
Now for the final part... the bot should select a random time between X and Y. X being the fastest time in which it will ask the next question, and Y being the longest. These should be configurable by the bots owner. For example only, let say that X is 5 seconds and Y is 60. After display the scores the bot should pick the random seconds to wait, then when it gets to that number of time, start with the next question. This random time will give people time to chat, but without ever knowing exactly when the next question is coming.
Okay, that is the whole thing in a nut shell!
I seriously hope someone takes this project on!
Thanks in advance!