From an early age I had a penchant for words and numbers, their calculation and manipulation. This manifested in several ways during my time at secondary school: I became keen on Scrabble and I started teaching myself to program computers.
Like many of my generation, I owe my first steps to Sir Clive Sinclair: initially, I started with a Sinclair ZX81, which my parents kindly bought for me for Christmas. With 1K of RAM, I was limited in what I could develop, though I was able to validate UK VAT registration numbers! Nevertheless, it was enough to introduce me to a new world and I could write my first programs - in Sinclair's implementation of BASIC. Within a year, there was another breakthrough with the ZX Spectrum and soon after I persuaded my parents again to invest in this new toy that boasted 16K RAM, 16 colours, sound and a wider range of software titles.
I then made a concerted effort to produce a Scrabble program, where the computer could act as one of the players. Whereas previously I had been content to write everything in BASIC, in this instance, I learnt sufficient Z80 machine code to be able to convert the main 'thinking' algorithms. Result: the computer responded in a few seconds rather than a couple of minutes!
Having played Scrabble competitively, I wanted to see the development of a version that was much more competitive. After a while, there was a highly polished product, Psion Scrabble. I wrote to them in the beginning of '86 and described tactics that could enhance the software. Three months later I received a kind response thanking me for the ideas and wishing me well in my 'A' levels, but the overall message was that Psion was going to concentrate on the development of its hardware products. (Perhaps I should have bought some shares?!)
I stopped development of the code around that time, but retained some interest in how tactics could be encoded. About 10 years later, I happened to come across a journal article by Steven Gordon concerning Scrabble algorithms. I corresponded a little by email and learnt that he had implemented a number of similar ideas, but I think far more systematically! So he's probably a good contact for Mr. Pountain.
Over 20 years later...
I've come across an old cassette tape with a copy of the program on it and having invested in an external sound card to digitise these tapes , I decided to undertake a conversion. After some fiddling, I worked out the right settings and the process works fine - the Creative Player is able to sample at the right frequency and bits and I used MakeTZX to convert into a tape archive format.If you're curious in seeing the program (and don't have high expectations!) you are welcome to download a copy, available as a zip package. When you've unzipped the package, you will see a number of files, with a readme and instructions. Look through those and then launch the .tzx file in an emulator — I've found emuZwin works very well on a PC.
I came across your blog this morning after Funkitron's Scrabble program just beat me with a score of 529. I then searched Google for entries relating to Scrabble programs to see how. I am much impressed with your ability to have programmed a Sinclair to play Scrabble (I had a ZX80, followed by a Spectrum and bought Psion's Scrabble program - it took a good 5 minutes to load!)
ReplyDeleteMy quest this morning is to try to determine whether the Funkitron program actually plays fairly. I have a sneaking suspicion that its letter allocation algorithm is not entirely random. However that might just because I get beaten regularly.
Posted by Steve Ritter; 4th February
Steve,
ReplyDeleteMany thanks for your comments. I don't think my parents or I could afford the ZX80 for Christmas, so I had to wait a year for the ZX81 to arrive at a £30 discount ;-)
As I recall, the Psion program on its highest level was reasonably strong, quite capable of scoring 400+. In that letter I received from Psion, I was told that they could have increased the compression levels on their word list to increase its vocabulary, so it would have been stronger (but probably slower too). However, one of my comments was that the program didn't appear to keep a balanced rack, which is essential to get scores [in open games] of 500+.
I think programs have advanced considerably in this regard, so together with storing every allowable word, it doesn't surprise me if after changing its letters it often comes out with a bingo. I confess I haven't played much Scrabble for a loong time, so I'm not familiar Funkitron. Perhaps if you want to beat it, you should try for a closed game?
My program took a long time to write, sustained by the ongoing challenge, a lot of which was concerned with ways to squeeze everything into a 16K machine, though later I upgraded to 48K and must have tweaked it as the version I've converted appears to be a little over 16K.
- Paul
[query posted here about meditation centre in Prachuab, Thailand has been moved to another post on 'Magha Puja, World PEC and other lights of peace']
ReplyDelete