Tuesday, August 18, 2009

Prolixity

I'm very nearly finished with Relativia. What still strikes me as strange is that the ADC II submission site is still not open, and there's been no word from Google. Ah well.

Anyway, I was getting a bit burned out working on the current game, so I started in a bit on a word game I've been itching to make. It's called Prolixity. Here's a screenie:


It's a very simple, straightforward game with the features I like most in a word game. Each round you're given 10 tiles. The interface allows you to reorder the tiles on your rack by clicking and dragging to swap two tiles. To move tiles up to the play area to form a word, you just tap them with your finger.

Easy tiles are worth 1 point, medium are worth 5, and hard are worth 10. The point value for a given word is the sum of the tiles times the length of the word (e.g. if you make "exempt" it's:

1(e) + 10(x) + 1(e) + 5(m) + 5(p) + 1(t) = 23 * 6 (word length) = 138 pts.

You hit submit to check if the word is in the lexicon. If it is, you earn points, your progress bar progresses, and you get fresh tiles. When the progress bar is full, you level up, and it takes progressively more points to reach the next level. You can redraw a fresh rack of tiles, but that costs 5% of your current point total.

The game will store every word you make for review later (a feature I never see in word games, but would like). I just finished Bookworm Adventures 2, and it was fun, but it really annoys me when I can't rearrange my tiles, and that's not allowed in BWA2. It also only saves your top 10 words and doesn't keep track of how much they were worth.

I like word games that are untimed, and that are Scrabble-like in that you have to manage your tiles by looking ahead to what your rack will be like after you've played.

Technically, the game has been pretty straightforward, with the exception of word checking. I found a linke to a nice word list from an old thread on the PopCap Developer's Forum. The file was about 3.5MB and contained about 350,000 words. I started out by trimming it down to words between 3-10 letters (words formed in Prolixity have to be at least 3 letters). That got me down to 2.4MB. I wrote the code to run the check when a word is submitted, and Android blew up. After browsing around a bit, it turns out that Android's file I/O doesn't like files larger than 1MB. Okay. So I broke it down into about 20 files, roughly by starting letter. Android would now work, but larger files like those for "c" and "s" registered a notable pause. So to optimize even further, I divided the lexicon even further, ultimately into about 40 files. Speed seems reasonably now.

Anyway, it shouldn't take too much more work to have it good to go, but I need to get back to finishing up Relativia. I've flirted with the idea of entering both...that would be ironic, to have a game that took about a week outperform a game that took over 3 months. I may just release Prolixity as a $0.99 app in the next couple of weeks. Not sure yet.

No comments:

Post a Comment