Hi! I’m using meteor for a few projects at the moment. I also like to play boggle with my friends. I haven’t found a simple online version that I like, so I decided to build it myself.
Right now, you can:
Refresh to get a new random game.
Click and drag to select a word.
Watch the timer countdown 3 minutes.
It should only allow legal moves of adjacent letters, and words of 3 letters or more.
I’ll be working on the following soon, feel free to make a pull request or create an issue to request something:
User accounts.
Save games/scores.
Challenge other players.
Variable sized games (5x5, 6x6 etc).
Verifying against a local scrabble dictionary / api.
Maybe more meteor word games?
Feedback appreciated. I need to write a readme tomorrow.
When any user visits, route them to a new unique game url. They can send that url to a friend and play each other in realtime. That’s where Meteor really shines. Nice work!
Top scores is a great idea. Not sure how it would work best though, by game / overall? Will think about it.
“Qu” counts as two letters. It just makes “Q” more useable. ie, Queen, Quest, Quit etc.
The point about word counter from pervious game, how did you “end in the middle”? Did you refresh the page? Somebody else mentioned that problem but I can’t reproduce it.
Yes, refreshing the page. You will end up with majority of users in the single player mode refreshing the page if they end up with poor letters, like 3-4 E in the same place of the board (happens quite often) or no S. S is the most important letter from the stack, because it doubles almost every verb and noun.
Imho if the game doesn’t have the “finished” flag (time run out or played clicked finish), it shouldn’t be visible at the score board.
What do you mean by game in this context? I’d start with single player mode best overall and daily results, by all players and also by particular player in his profile - I can’t check my best results after my last results move it out of the list.
After last changes I’ve noticed a visible slow down of the game, in form of the words on the list appearing with 1-5 seconds delay.
I appreciate that I can now see which words are correct while playing, but still being able to see the list of incorrect ones after the game is over, would be nice.
Once, my game reset in the middle. It’s possible that you were pushing an update at that moment. Also my last result (47 points) is not visible in the last results list.
Yes, there are visible delays between when a word is selected and when a word is verified by the server. This is a limitation of meteor (or at least the meteor deployment on the free deployment host). The most efficient way to check the dict is using a trie [citation needed], but meteor can’t handle a full trie in memory. The next best thing was to make a collection and put an index on the words. Therein lies the problem.
The solution would be to store all words found locally and either cross them off if not a real word, show the score when verified, or fade them out until the server responds. Or at least that’s how I see it happening. I’ll probably do all of these in one update tomorrow or the next day.
The most recent updates today included fixing the routing and template organisation so the game state (playing/finished/already played etc) wasn’t on different routes. Not something iron-router provides (at least as far as I can tell). I ended up using a mixture of nested templates and session variables to store the state. It’s not very clean though.
Yeah, crossing out if incorrect or fading until it’s confirmed by the server would do the trick. There still would be delay, but in the users’ mind, most of the feeling of the delay would be gone.
I believe loading into user’s memory only the 3-4 letter words (together around 6500 according to scrabble dictionary) but only with available letters would force the server to do calculations, but would help a lot and wouldn’t be too heavy for the client. This would make the method call necessary only for 5-6 letter words. So far I haven’t managed to use 7 letter word with 4x4 board, but it may be easier to achieve among native speakers or on larger board.
Can’t help with Iron Router sadly, I joined Meteor community when people already started recommending Flow Router. Speaking of which, did you start learning Meteor in January or did you join the forums in January?
I started with meteor in September last year. I built a few simple things to get used to it, then built the app for another project (http://tkt.ninja) as a hybrid app using angular-meteor and ionic. We’re looking to fund a marketing campaign before we release it.
For this project, I wanted to explore blaze and iron-router. After using angular, everything just seemed so fragmented and changeable. I figured with the way things are going, some active development with blaze would be a good thing.
I feel like I’m the only one who can’t get it to work. It doesn’t do anything when I click the letters, can’t drag them, can’t type (tried on Chrome and Firefox).
I fell foul of this for a while until I realised click and drag doesn’t quite describe the required action - which is more click and trace (adjacent letters to make a word).