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.

Battlecode: MIT's longest-running hardcore programming competition

185 pointsby Cixelynover 12 years ago

15 comments

aaronibaover 12 years ago
BattleCode was the best thing I did while at MIT, and one of the most unique and rewarding experiences of my life.<p>The way David and I were able to win it in 2003: at that time, robot positions were stored as two doubles (x,y). You could move yourself by a precise amount or read the precise x,y position of another robot, each in only 1 bytecode. So instead of using broadcastMessage(String), checking that no other team was trying to screw with our messages, all of which took lots of bytecodes to get right. Instead of that, our robots communicated through the low bits of double values in their positions. Kind of like bees dancing for each other. This gave us enough of an edge to beat out all the other players. This was 100% David Greenspan's idea, by the way. I just worked hard to help code it up.<p>MIT classes are supposedly a lot of hard work, but at that point I had never worked as hard on anything as I did on our BattleCode player.
评论 #5024385 未加载
评论 #5024228 未加载
评论 #5022932 未加载
sskatesover 12 years ago
I highly, highly recommend any current MIT undergrad who is serious about starting a company to compete to win in Battlecode during IAP. It's as close to starting a company as you can get.<p>Watching your bots win and lose while trying to prioritize fixes is exactly what prioritizing things in your startup is like, without all of the downsides of taking forever to get traction.<p>There's also a long legacy of alums going on to found successful YC startups (Dropbox and Etherpad being the best examples). You also get to say you've won MIT's biggest programming competition, which gives you a huge amount of credibility.<p>Also feel free to reach out to me if you're interested in starting a company/doing Battlecode and currently an undergrad at MIT! (My team won in 2009 and 2010 and I'd be happy to help.)
mpapiover 12 years ago
Battlecode (RoboCraft!) taught me a whole lot about the sorts of tradeoffs you have to make as an engineer in the real world in a way that nothing else at MIT really did. It definitely put freshman-year me in my place, too. Pretty sure it was my first MIT all-nighter.<p>It's an awesome experience for the directors as well, as the competition itself is basically a small startup. 3 or 5 students responsible for coming up with an idea (for that year's game objective), pitching to investors (sponsor companies), shipping a product (game engine + docs + online scrimmages), supporting several hundred users (contestants), keeping servers up, orchestrating a live tournament, placing an order for $2500 worth of pizza, getting up and speaking in front of a thousand contestants/spectators/sponsors, fixing bugs in the tournament bracket viewer in the middle of the tournament... Not something that every undergrad gets to do, that's for sure.
leelinover 12 years ago
Now I feel old! I participated in the first two Battlecode's ever, but that was back when it was simply 6.370. The first year was a board game and we stared at ASCII graphics all IAP long. By my M.Eng year, Aaron Iba and co. turned everything around and kicked off the golden age of 6.370.<p>Amazingly, they still have the final prizes posted from 2002 and most years in between. Our team won the hilarious gag prize: "greatest design mismatch between document and code." First place that year was $500. Last year when I went, some of the gag prizes were $1000, including prizes like "last team to submit a jar before the submission deadline"<p><a href="http://web.mit.edu/ieee/6.370/2002/web/bracket.shtml" rel="nofollow">http://web.mit.edu/ieee/6.370/2002/web/bracket.shtml</a>
评论 #5024443 未加载
mindstabover 12 years ago
Battlecode is actually also open to the public and the two years some friends and I did it (09 and 10 I believe) we came in #1 and #2 outside of the MIT teams (since we didn't have it as a class and it was only free time it was a bit harder to compete) but I agree with all the points, it was a great experience and I encourage everyone to give it a go at least once!
评论 #5024235 未加载
barbsover 12 years ago
Ah man... I'd love to see a documentary on this, in the style of <i>Wordplay</i> or <i>Spellbound</i>.<p>Meanwhile, here are some programming battle games you can play at home!<p>Core War (Redcode, assembly dialect): <a href="http://www.corewar.info/" rel="nofollow">http://www.corewar.info/</a><p>Robocode (Java/.NET): <a href="http://robocode.sourceforge.net/" rel="nofollow">http://robocode.sourceforge.net/</a><p>Scalatron(Scala): <a href="http://programminggames.org/Scalatron.ashx" rel="nofollow">http://programminggames.org/Scalatron.ashx</a><p>BitBath (Java): <a href="http://bitbath.org/" rel="nofollow">http://bitbath.org/</a>
rekwahover 12 years ago
I participated in the public competition a few years back with a few other classmates. We had a blast, but definitely underestimated the amount of time required to reach the upper echelon in the tournaments (finished middle of the pack). As a side benefit, we were actually able to convince our university to honor this class as a directed study and pick up a few credit hours as well.<p>I highly recommend this competition to anyone even remotely interested. You're at a disadvantage entering with no experience from previous years, but it's still a very worthwhile experience.
Cixelynover 12 years ago
For those that are interested, the new 2013 release is now live[1]. Should be a fun game this year -- enough spec changes that even seasoned Battlecode veterans will have to sit down and think quite carefully about how to write a bot.<p>Shared sensor data now makes higher-level strategies a ton more viable, so it'll be fun to see what contestants come up with.<p>There's a quick start available if you want to just clone and hack some things together in git[2] and hg[3] flavors.<p>[1] <a href="https://www.battlecode.org/contestants/releases/" rel="nofollow">https://www.battlecode.org/contestants/releases/</a><p>[2] <a href="https://github.com/Cixelyn/bcode2013-scaffold" rel="nofollow">https://github.com/Cixelyn/bcode2013-scaffold</a><p>[3] <a href="https://bitbucket.org/Cixelyn/bcode2013-scaffold" rel="nofollow">https://bitbucket.org/Cixelyn/bcode2013-scaffold</a>
LoneWolfover 12 years ago
This reminded me of the last AIChallenge (<a href="http://ants.aichallenge.org" rel="nofollow">http://ants.aichallenge.org</a>) it was a great experience and made me choose between adding features, improve existing ones or fix hard to find problems with a relatively short time remaining since I found it near the end.<p>I didn't even knew about BattleCode, now I plan to keep an eye on it and if it is possible to people outside MIT to participate I will try to.
评论 #5023426 未加载
kwang88over 12 years ago
Really awesome post. I'd also strongly recommend 6.470 (Web Design) to any current MIT undergrads. I competed in both 6.370 and 6.470 and had a different take than the author of this piece -- I found that 6.470 was a much more startup-y experience, although the emphasis is much more on product rather than pure software development. That said, both are excellent.<p>Additionally, the ratio of number of teams to prize money was (historically) more favorable for the Web Design competition, although my information is out of date and things have likely changed.
jpdoctorover 12 years ago
From a curious alum, and excuse the inside baseball: Long ago, there used to be a 6.270 contest. I noticed this is a 6.370 contest. Anyone know the history if they're related?
评论 #5022574 未加载
评论 #5022672 未加载
评论 #5022327 未加载
Raz0rbladeover 12 years ago
Try this virtual life emulation much cooler<p><a href="https://www.youtube.com/watch?v=2W6TaNaV6W4" rel="nofollow">https://www.youtube.com/watch?v=2W6TaNaV6W4</a><p>And slightly less retro, if your on mitt challenge make it 3d
评论 #5023100 未加载
Raz0rbladeover 12 years ago
less retro more fun here <a href="https://www.youtube.com/watch?v=2W6TaNaV6W4" rel="nofollow">https://www.youtube.com/watch?v=2W6TaNaV6W4</a>
stevearcover 12 years ago
Great post, Cory! It's super awesome that you're open-sourcing all your players. I would have loved that when I was competing.
ilamontover 12 years ago
Are there examples of other schools that have tried this type of programming competition?