119 lines
4.0 KiB
Plaintext
119 lines
4.0 KiB
Plaintext
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:
|
|
|
|
<mike> @wordshrink
|
|
<supybot> WordShrink: lights > ----- > ---- > sit
|
|
<supybot> (12 possible solutions)
|
|
<mike> sight > this
|
|
<supybot> WordShrink: mike got it!
|
|
<supybot> WordShrink: lights > sight > this > sit
|
|
<ben> lights > hilts > hits > sit
|
|
<supybot> 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:
|
|
|
|
<mike> @wordtwist medium
|
|
<supybot> WordTwist: mass > ---- > ---- > ---- > jade
|
|
<supybot> (5 possible solutions)
|
|
<mike> mars > mare > made
|
|
<supybot> WordTwist: mike got it!
|
|
<supybot> 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 <mike@subfocal.net>
|
|
Released under the WTF public license: http://sam.zoy.org/wtfpl/
|
|
|
|
Thanks to Ben Schomp <ben@benschomp.com> for the inspiration and QA testing.
|