This is a resource of the wordgame-programmers@egroups.com mailing list.

Click to subscribe to wordgame-programmers

A Programmer's guide to writing Word Games

by Graham Toal.
[Skip straight ahead to the Archive]

Some years ago I wrote a Scrabble program for the Acorn Archimedes. There was one paper I found at the time to guide me, but really there was a great lack of any source material for people who wanted to write word games.

Since then, I found a few like-minded folks on an internet mailing list called wordgame-programmers@egroups.com (previously @onelist.com and before that @mit.edu. The list manager is still with MIT).
This site is going to be a resource for the folks on that mailing list, and for anyone else about to write a word game and looking for source code to help them. I'm a firm believer that most programers learn algorithms best not from books but from looking at other programmers' code.

As well as document what has been written already and released to the public, I want this site to also document the traditional word games that people play, as a resource for people wanting to try their hand at writing a new computer game. This is why I've teamed up with Steffan O'Sullivan to expand his excellent "Letter by letter word games" page. Specifically I want to document things such as the frequency of letters in tile and dice games, and the rules of these games. We have to draw a fine line here because many of these games are still in production, and most are still in copyright, but for those games out of copyright I would like to also include scans of the games, boxes, rules etc.

PLEASE NOTE these sources are for academic use only, in learning more about how to solve lexical problems. These are not games you can download and play. Mostly the sources are for Unix, but in any case, there are no binaries here. One of the specific research areas I'd like to see explored using this code is how to make games more enjoyable by making them play as much like a human as possible, ie by manipulation of skill level and vocabulary so that a game could convincingly imitate a human in a modified Turing test. Currently too many games just play the best possible play, and discourage the human opponent; or they are naively dumbed down so it is obvious that your computer opponent is 'throwing the match'.

I'd like to suggest that people writing new word games write them in standard portable C. Write a basic internal engine for your game as a subroutine first; write a simple testing front-end as a 'dumb terminal' program that will run on any system with a C compiler, and then write a version that runs as a web cgi program. This will let it be used on any system - Windows, Unix, Mac etc - and be much more useful than a custom version for, say, X windows or Win98.

Here now are the sources for word games (and some related utilities) I've found on the net. Some of them I've written myself. I have not included here the many word games that are commercial and shareware if they are only available as binaries. If you are just looking for games to play, check out the software libraries or find a list of word games and word play on the web.

I would like to enhance this archive with various word lists to support the games, but that opens a whole bag of copyright worms that I don't want to get into. My understanding is that it's reasonable to release sources of games like Scrabble for academic study. It's not reasonable to release binaries of copyright games for play, and that's the line I've chosen not to cross in this site. Until recently it was universally acknowleged that it was OK to link to anything too, as a free speech issue, but recent a court ruling has made that less than certain, at least until the ruling is appealed before the Supreme Court.

There is a Macintosh Word Games Archive at wustl.edu. I have not fetched and unpacked all the word games there so I do not know which ones come with sources. Check for yourself in the Abstracts. Tucows also has some Macintosh word games and PC word games.

We also have a complete snapshot of the DEC Gatekeeper archive of crossword games (previously at http://ftp.digital.com/pub/micro/msdos/misc/crossword-archive/), which is the archive referred to in the Crossword FAQ.

These files are all hosted on my machine at home on a 128K ISDN line. Do me a favour please and don't do multiple fetches at once during USA central time 9am-10pm if you can avoid it. Thanks! (One day someone on a cable modem in France downloaded the entire archive and I wasn't able to get any work done that day!)


I'll start by trying to bring together the three most common programs - in the order that people tend to experiment with this stuff, and in order of increasing difficulty, we have anagrams (including Jumbles and Word Scrambles), Boggle games, and Scrabble games.

Other word games which form natural collections: generating and solving crossword puzzles, generating and solving word-search squares, generating word-squares and close variants. There is some interest in the UK TV show Countdown, with it's letters and numbers games. Related to numbers we have cryptarithms; and we also have cryptogram solvers. Don't forget letter-guessing games such as hangman, and word-mastermind (aka jotto). Hassard Dodgson would be interested in word ladders, and some new variants thereof.

80% of the directories in this archive are now properly organised under the subjects above. See the full directory list for the complete listing and the unfiled directory list for those sources which don't yet have a home in the hierarchy above.

Boggle is a trademark of Hasbro Inc. (formerly Parker Brothers).
Scrabble is a trademark of Hasbro Inc in the US (formerly Selchow and Righter) and Mattel (formerly J.W. Spears) elsewhere.