TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Building a Scrabble MMO in 48 hours

137 pointsby railsjediover 14 years ago

12 comments

samdkover 14 years ago
It's really interesting to see what went into this before the competition. I'm on one of the other teams that'd doing pretty well in the voting (we built Drawbridge: <a href="http://team-hyphen.no.de/" rel="nofollow">http://team-hyphen.no.de/</a>), so it's especially interesting for me to see what other teams did.<p>Much as I'd love to win, Drawbridge isn't near the level of polish that Scrabb.ly and a few of the other top apps are, and I think a lack of preparation is the main culprit. We had a general idea of what we were going to build and how it was going to be designed, but we had to scramble several times to redesign and rearchitect essential components. (We did our server-side API design without accounting for the fact that we were going to be using websockets, completely overlooked the fact that we'd have to come up with an API for our DAO or anything on the client side, had to completely redo how variations and their UI worked, and had to come up with a homepage design all within the span of the competition.)<p>Still, it's been an incredibly fun ride. In the absolute worst case I built a tool I've been wanting for a long time but haven't been able to find the time to build. In the best case, other people find it useful too--having other people liking and using things I've built is one of my biggest motivators.<p>I've also learned a ton about making a successful app for one of these competitions. If I could do it again there are a lot of things I'd do differently. (Luckily, Rails Rumble is coming up, so I can!) I've been meaning to write up summary of what went right and what went wrong for us, and how we could improve. Would anyone else be interested if I turned it into a blog post?
评论 #1656676 未加载
jewbaccaover 14 years ago
Semi offtopic:<p>Can anybody tell me about an appropriate data structure for computing Scrabble (or any crossword) short of full-out walking a 2d grid? I've read a bit about Tries and Directed Acyclic Word Graphs, but those seem to just be for optimizing dictionary matching, and don't seem to account at all for the actual structure of the board (especially not the possibility of colliding with other branches when adding new words).<p>I'm 90% certain it'll come back right back to needing a global and explicit a 2d grid when I try to build in a board with static score multipliers, but ignoring this for now and just trying to lay out letters: is there a masochistically-functional way to compute Scrabble/crosswords without working on an explicit 2d grid?
评论 #1658946 未加载
smoodyover 14 years ago
Really interesting and (should the authors read this) thanks a ton for sharing it. I am curious about one thing. I sort-of already know the answer, but will ask anyway: I saw in the post that you used Pusher for handling your realtime updates across clients (looks like a very cool service, btw). Isn't part of the strength of node.js and socket.io that things like push-based client/server apps are/should be trivial to implement without resorting to a third party service? If so, did you try? And do you know if other node knockout apps use pusher? (I assume that a: it saved a little time and b: was an easy way to get around Heroku's current connection limits, but want to know if there was more to it than that).
评论 #1657494 未加载
pavel_lishinover 14 years ago
So far the only thing that I don't like about it is that I can't find the "edge" of the damn board to place a tile. I'd recommend adding a button that takes you to a spot with some available space on the edge of the board.
评论 #1656186 未加载
评论 #1656972 未加载
Nyctoover 14 years ago
(Caveat: IANAL) He says in the article they're expecting a C&#38;D from Hasbro, but I think the chances of that are less than they think. Games like "Words with Friends" and "Lexulous" haven't had many problems, and they are blatant rip offs with minor variations.
评论 #1656575 未加载
评论 #1657496 未加载
kanwisherover 14 years ago
Insane use of tons of reusable parts. I was hoping he would go more into if he went comet or websocketd and the kind of latency people were seeing when hundreds of users were connected to node.js
评论 #1656210 未加载
评论 #1656980 未加载
msieover 14 years ago
No disrespect intended. The app looks fabulous, but the 48 hours limitation is not so bad if you have lots of time to prepare. For me the tough part about programming has been the architectural design and the research put into the tools and apis. Everything else is just typing. Having said all that the developers are still super talented to have pulled that off.
xtacyover 14 years ago
How was the infinite 2D scrolling implemented? Is it available as a library somewhere? Thanks.
评论 #1657485 未加载
dasil003over 14 years ago
Aw, no 50 point bonus for using all 7? (<a href="http://skitch.com/dasil003/dw9q4/scrabb.ly-a-massively-multiplayer-online-crossword-puzzle" rel="nofollow">http://skitch.com/dasil003/dw9q4/scrabb.ly-a-massively-multi...</a>)
评论 #1661046 未加载
nalbyuitesover 14 years ago
Offline Site: www.startupmonkeys.com
steveklabnikover 14 years ago
These kinds of events are insanely fun. We had a student-run 24 hour game programming competition at my school for the past three years. This year my grad school friends are finally making it a bit more legit, with a website and support from the school: <a href="http://osgcc.org/" rel="nofollow">http://osgcc.org/</a><p>We're primarily coders, so the design suffers a bit, but the line about "By the end of the third day, I was barely coherent enough to spell the swear words" made me smile.<p>If you've never been to an event like this, you should.
darynover 14 years ago
This is so awesome.