What Good Looks Like: The Expected Value of a Scrabble Rack

“Drat…..I just can’t make anything good with these tiles….”

If you haven’t muttered this under your breath a few times, you likely haven’t played Scrabble very much.But are you muttering this because of a mental block or truly bad tiles? Within the vast universe of possible Scrabble racks, what does “good” look like?

The serious Scrabble player would state that the effective value of a hand depends on where you are in the game. The early game favors scrabble racks that “play well with others”, giving you relatively large words with common letters that can easily be patched onto an open board. The end game favors prefixes, suffixes, and small words you can sneak into an open space. Bonus squares and the opportunity to build on large (5 – 7 letter) existing words also boost your score. All of this is true.

But here is a simpler way to approach the question: what if we look at the highest scoring word you can create using just the letters in your rack?

Mathematically, this question became: for a standard Scrabble rack, how many points of words (aka. the expected value) should the average Scrabble rack contain?

Continue reading “What Good Looks Like: The Expected Value of a Scrabble Rack”

Hacking Boggle: Extending Our Collection of Boggle Solvers

We added two new solvers for boggle-style word games this weekend in response to some user feedback. Our original boggle solver was intended to find words in a 4 x 4 letter grid. The two new solvers extend our offerings to include a 5 x 5 boggle solver and a 6 x 6 boggle solver.

The technical side of this project turned out to be fairly straightforward. As discussed in the article we wrote about building a fast boggle solver, we approached the problem as a twist on our existing scrabble solver. We took key elements of the logic behind our scrabble solver (which checks the possible permutations of a rack of letters) and adapted it to check the possible paths through a 4 x 4 matrix. To create the new solvers, we simple expanded the scope of this search to support a larger matrix.

Continue reading “Hacking Boggle: Extending Our Collection of Boggle Solvers”

Hanging With The Hyenas: Lessons Learned From Delivering My First Side Project Using Python

If we turn the clock back a year, I would be busy packing up the minivan and starting our long slow trip down to southern Alabama through some pretty nasty storms. Later that evening, I’m going to write a small Python word game solver script that ultimately evolved into the code behind this site.

Like many developers, I’d had dreams of building “a product” of my own. I even had a couple of piles of code sitting around from various attempts over the years. Most of these were built around pretty solid concepts – the sort of ideas you could walk into a room and pitch to rational adults. Projects like games, a stock analyzer, and data tools. I’m imagining the “startup weekend” pitch for Hyenas:

“Team, we intend to become a market leader in the scrabble helper, hangman solver, and boggle cheat space. This site will offer illicit services to a large audience of low-revenue visitors and entertain them for hours on end.”

Keep your cell phone handy: the reaction footage from the MBA’s will be comedy gold.

Continue reading “Hanging With The Hyenas: Lessons Learned From Delivering My First Side Project Using Python”

Why Content Marketers Should Get To Know Game Designers…

I’m going to share two little secrets.

The first is that I’m a huge Falling Skies fan. I don’t usually have much time to watch television between work, family, and various side projects (a word game solver and other experimental sites). But these guys managed to hook me during their first season. How is the interesting part…

Continue reading “Why Content Marketers Should Get To Know Game Designers…”

Fun Family Game Nights

Summer is here and we’ve started a new tradition in our house, as part of our continuing effort to reduce the amount of television our kids are watching. About three or four times a week, we will break out some old fashioned board games and play them around the table. We’ve got two kids – a five year old and a six year old – so everyone is old enough to get in on the fun.

Continue reading “Fun Family Game Nights”

Building Sustainable Websites

There is a stigma to monetizing your side projects. I take exception to this. Building useful software is hard work. Maintaining it takes even more work. Adding a revenue stream to a project helps make it sustainable. This is good for everyone involved.

This is a big issue in the open source community. Github and Google code are littered with the remains of half completed and unmaintained libraries. This is a loss to everyone involved: the volunteers that built the library, the brave souls who were early adopters, and the community at large. And when the open source ecosystem fails for a particular space, our end-users have no choice except to turn to a corporate provider.

Continue reading “Building Sustainable Websites”

Scrabble Helpers – Striking The Right Balance

One of the more interesting elements of building a site like this working through the right level of “assistance” to provide a player. The goal, of course, is to make the game more fun for a player and (being pragmatic) do so in  fashion which perpetuates their interest in the game. A lot of this thinking went into the design behind our words with friends helper .

We opted for a minimalist approach – enter your letters and we give you a list of possible words. The player is free to play them how they wish – keeping them involved in the strategy of how to put down their tiles while we help out with crunching through the dictionary of potential words. This gives a nice balance of help without making the game too easy…

Continue reading “Scrabble Helpers – Striking The Right Balance”

Hacking Boggle: Designing A Fast Solver For A Timed Word Game

Zynga released the Android version of their Scramble with Friends game last weekend, which was our first contact with the game. It’s a social version of Boggle – the players take turns finding words in a 4×4 grid of letters, with a couple of additional elements Zygna threw in to spice things up. So naturally we decided to write a solver for it 🙂

Writing word game solvers has become something of a hobby for me. My first project was a Hangman Solver: this started off as a regex filter (Python) applied to a word file which we tweaked to make it more efficient. The next step was modify the program into a Hanging With Friends Solver: there are a few tweaks in Zynga’s rules which make it easier to guess a word (reduced number of possible answers). This website was built by taking these two Python functions and embedding them in a web framework.  The front end is HTML dressed up with some basic JQuery.

Continue reading “Hacking Boggle: Designing A Fast Solver For A Timed Word Game”

Most Played Words in Hanging With Friends

This is a quick post since it’s a busy Saturday at the Hyena House. Wanted to share a cool article I discovered on Venture Beat (business website following the startup crowd) which provides – per Zynga – the most played words on Hanging With Friends… This is a slightly different twist on our quest for hard words for hangman and hard words for hanging with friends (used for our hanging with friends cheat) – it overlays a human element on top of the statistical crunching. This is effectively the union of the set of “hard words” with “high scoring words” and “words people actually know”.

Credit Venturebeat for the link:

Venture Beat  – Most Played Words In Hanging With Friends

Continue reading “Most Played Words in Hanging With Friends”

Anagram Snarks From Twitter…

– Listen => Silent (saving that one for my kids)

– Presbyterian => Britney Spears (really? My, but the church has changed…)

– Actuarial Math => Claim That Aura (Snicker…I’ve seen that type before)

– hiphop loser => philosopher (they did think Socrates was nuts…)

– Credit Ratings => Citing Retards, Dictating Errs, and Cried “Grant It!”