From 5708e06b5ebf78b2c9cbc8748f2bbfadad30ebc6 Mon Sep 17 00:00:00 2001 From: Mike Mueller Date: Mon, 2 Apr 2012 02:11:42 -0700 Subject: [PATCH] Update README and convert to Markdown. --- README | 119 +---------------------------------------- README.md | 156 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 157 insertions(+), 118 deletions(-) mode change 100644 => 120000 README create mode 100644 README.md diff --git a/README b/README deleted file mode 100644 index 541769d..0000000 --- a/README +++ /dev/null @@ -1,118 +0,0 @@ -Supybot Word Games Plugin -========================= - -A few word games to play in IRC with Supybot! - -These games rely on a dictionary file (not included). On Ubuntu, you can -normally just install the 'wamerican' package. See the configurable variables -to customize. - -Configuration: - - plugins.Wordgames.wordFile: - Path to the dictionary file. - - Default: /usr/share/dict/american-english - - plugins.Wordgames.wordRegexp: - A regular expression defining what a valid word looks like. This will - be used to filter words from the dictionary file that contain undesirable - characters (proper names, hyphens, accents, etc.). You will probably have - to quote the string when setting, e.g.: - - @config plugins.Wordgames.wordRegexp "^[a-x]+$" - (No words containing 'y' or 'z' would be allowed by this.) - - Default: ^[a-z]+$ - - plugins.Wordgames.worddleDelay - The length (in seconds) of the pre-game period where players can join a - new Worddle game. - - Default: 15 - - plugins.Wordgames.worddleDuration - The length (in seconds) of the active period of a Worddle game, when - players can submit guesses. - - Default: 90 - -Commands: - - worddle - Start a new Worddle game. Use "worddle join" to join a game that someone - else has started. - - wordshrink [difficulty] - Start a new WordShrink game. Difficulty values: [easy] medium hard evil - - wordtwist [difficulty] - Start a new WordTwist game. Difficulty values: [easy] medium hard evil - - wordquit - Give up on any currently running game. - -Game Rules: - -Worddle is a clone of a well-known puzzle game involving a 4x4 grid of -randomly-placed letters. Find words on the board by starting at a particular -letter and moving to adjacent letters (in all 8 directions, diagonals ok). -Words must be 3 letters or longer to be considered. At the end of the game, -if a word was found by multiple players, it is not counted. The remaining -words contribute to your score (1 point per letter). - -WordShrink and WordTwist are word chain (or word ladder) style games. -A puzzle will be presented in the form: - - a > --- > --- > d - -... and your job is to come up with a response of the form b > c. (You can -optionally include the start and end words in your response, as long as each -word is separated by a greater-than sign.) - -In WordShrink, you remove one letter from each successive word and rearrange -the letters to form a new word. Example session: - - @wordshrink - WordShrink: lights > ----- > ---- > sit - (12 possible solutions) - sight > this - WordShrink: mike got it! - WordShrink: lights > sight > this > sit - lights > hilts > hits > sit - ben: Your solution is also valid. - -In WordTwist, you change exactly one letter in each successive word to form a -new word (no rearranging). Example session: - - @wordtwist medium - WordTwist: mass > ---- > ---- > ---- > jade - (5 possible solutions) - mars > mare > made - WordTwist: mike got it! - WordTwist: mass > mars > mare > made > jade - -A Technical Note About Worddle: - -This game sends a lot of PRIVMSGs (between the channel and all the players, -the messages add up). It attempts to send them in a single PRIVMSG if -possible to combine targets. - -Supybot: I run Supybot with the latest git (there are show-stopper bugs in -0.83.4.1) and the Twisted driver (but Socket should work as well). - -IRC Server: I had to tune my IRC server to handle this game, due to the large -amount of messages it sends. You may find that it has problems on your server -due to flood controls (bot may be either fake lagged or kicked from the -server). If the game seems extremely slow, it is either an old Supybot or the -server is throttling you. - -I would like to add an option to tune the verbosity of the game to mitigate -this for restrictive servers. - -Credit: - -Copyright 2012 Mike Mueller -Released under the WTF public license: http://sam.zoy.org/wtfpl/ - -Thanks to Ben Schomp for the inspiration and QA testing. diff --git a/README b/README new file mode 120000 index 0000000..42061c0 --- /dev/null +++ b/README @@ -0,0 +1 @@ +README.md \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..8efa074 --- /dev/null +++ b/README.md @@ -0,0 +1,156 @@ +Supybot Word Games Plugin +========================= + +This is a plugin for the popular IRC bot Supybot that implements a few +word games to play in your IRC channel. + +Typical installation process: + +1. Clone this git repository in your downloads directory. +2. Create a symlink called `Wordgames` in supybot/plugins pointing to it. +3. In IRC, load Wordgames. + +**Note:** These games rely on a dictionary file (not included). On +Ubuntu, you can normally just install the `wamerican` package. See +the Configurable Variables section to customize. + +Commands +-------- + +The following commands are exposed by this plugin: + +>`worddle [join]` +>> Start a new Worddle game (with no arguments). Use "worddle join" +>> to join a game that someone else has started. + +>`wordshrink [difficulty]` +>> Start a new WordShrink game. Difficulty values: [easy] medium hard evil + +>`wordtwist [difficulty]` +>> Start a new WordTwist game. Difficulty values: [easy] medium hard evil + +>`wordquit` +>> Shut down any currently running game. One solution will be displayed for +>> the word chain games, to satisfy your curiosity. + +Game Rules +---------- + +### Worddle + +Worddle is a clone of a well-known puzzle game involving a 4x4 grid of +randomly-placed letters. It's a timed, multiplayer game where you compete +to find words that your opponents didn't find. + +When you start a new game, or join an existing game, the bot will send you a +private message indicating that you are playing. All your guesses must be +sent to the bot in this private conversation, so your opponents can't see your +guesses. At the end of the game, the results will be presented in the channel +where the game was started. + +To be a valid guess, words must: + +* be made of adjacent letters on the board (in all 8 directions, diagonals ok) +* be at least 3 letters in length +* appear in the dictionary file. + +At the end of the game, if a word was found by multiple players, it is not +counted. The remaining words contribute to your score, at 1 point per letter. + +### WordShrink + +WordShrink and WordTwist are word chain (or word ladder) style games. +A puzzle will be presented in the form: + + word1 > --- > --- > word4 + +... and your job is to come up with a response of the form `word2 > word3` +that completes the puzzle. (You can optionally include the start and end +words in your response, as long as each word is separated by a greater-than +sign.) + +In WordShrink, each word must be made by removing one letter from the +preceding word and rearranging the letters to form a new word. Example +session: + + @wordshrink + WordShrink: lights > ----- > ---- > sit + (12 possible solutions) + sight > this + WordShrink: mike got it! + WordShrink: lights > sight > this > sit + lights > hilts > hits > sit + ben: Your solution is also valid. + +### WordTwist + +WordTwist is very similar to WordShrink, except that the way you manipulate +the words to solve the puzzle is changed. In WordTwist, you change exactly +one letter in each successive word to form a new word (no rearranging is +allowed). Example session: + + @wordtwist medium + WordTwist: mass > ---- > ---- > ---- > jade + (5 possible solutions) + mars > mare > made + WordTwist: mike got it! + WordTwist: mass > mars > mare > made > jade + +Configuration Variables +----------------------- + +> `plugins.Wordgames.wordFile` +>> Path to the dictionary file. +>> +>> Default: `/usr/share/dict/american-english` + +> `plugins.Wordgames.wordRegexp` +>> A regular expression defining what a valid word looks like. This will +>> be used to filter words from the dictionary file that contain undesirable +>> characters (proper names, hyphens, accents, etc.). You will probably have +>> to quote the string when setting, e.g.: +>> +>> @config plugins.Wordgames.wordRegexp "^[a-x]+$" +>> +>> (No words containing 'y' or 'z' would be allowed by this.) +>> +>> Default: `^[a-z]+$` + +> `plugins.Wordgames.worddleDelay` +>> The length (in seconds) of the pre-game period where players can join a +>> new Worddle game. +>> +>> Default: `15` + +> `plugins.Wordgames.worddleDuration` +>> The length (in seconds) of the active period of a Worddle game, when +>> players can submit guesses. +>> +>> Default: `90` + +A Technical Note About Worddle +------------------------------ + +This game sends a lot of PRIVMSGs (between the channel and all the players, +the messages add up). It attempts to send them in a single PRIVMSG if +possible to combine targets. + +Supybot: I run Supybot with the latest git (there are show-stopper bugs in +0.83.4.1) and the Twisted driver (but Socket should work as well). + +IRC Server: I had to tune my IRC server to handle this game, due to the large +amount of messages it sends. You may find that it has problems on your server +due to flood controls (bot may be either fake lagged or kicked from the +server). If the game seems extremely slow, it is either an old Supybot or the +server is throttling you. + +I would like to add an option to tune the verbosity of the game to mitigate +this for restrictive servers. + +Credit +------ + +Copyright 2012 Mike Mueller +Released under the WTF public license: http://sam.zoy.org/wtfpl/ + +Thanks to Ben Schomp for the inspiration and QA testing.