91.350.202 AI for Computer Gaming

Spring 2010

Prof. Fred Martin, ⚠ (:html:)<a href="" onclick="'', '', 'toolbar=0,scrollbars=0,location=0,statusbar=0, menubar=0,resizable=0,width=500,height=300'); return false;" title="Reveal this e-mail address">click for fred's email</a>(:htmlend:)
MWF at 10 am, room TBA

Fred was on medical leave for the Spring 2010 semester, and this course was taught by Prof. Haim Levkowitz.

First meeting at UML: Friday Jan 8, 2 pm, OS210A

This is a directed study group to facilitate participation in the MIT BattleCode contest. You will develop code to control virtual characters that compete in the game's simulated world. From the BattleCode web site:

BattleCode, developed for 6.370, is a real-time strategy game. Two teams of robots roam the screen managing resources and attacking each other with different kinds of weapons. However, in BattleCode each robot functions autonomously; under the hood it runs a Java virtual machine loaded up with its team's player program. Robots in the game communicate by radio and must work together to accomplish their goals.
The 6.370 BattleCode programming competition is a unique challenge that combines battle strategy, software engineering and artificial intelligence. In short, the objective is to write the best player program for the computer game BattleCode.

To participate, you will:

  • Attend the MIT training lectures, which run the first two weeks of January. They are held on the MIT campus.
  • Create three complete Battlecode entries. These will be due at the end of January, February, and March.
    • Each successive submission should be more sophisticated than the previous one. Hopefully, it works better too.
    • You must work individually for the January code submission. You may work in groups of 2 in each of the subsequent contests.
  • Attend 3 group meetings each week during the semester. These will be held MWF at 10 am.
  • Document your work. Technical write-ups will be due a week after each contest entry. Final documentation will be due in early April.

Important note

This is not a regular class in which you go to lectures, have material explained to you, read about it again in a textbook, and then do problem sets. Instead, this is a directed study group in which you will be required to take initiative. You will be in charge of seeking out and putting into practice the theoretical material that is necessary to carry out the Battlecode challenges. You will also be expected to take on administrative duties as required to facilitate the overall UML group participation in MIT-led Battlecode events. Of course, the core experience will be writing working code to lead your virtual robots into simulated battle! Prof. Martin will facilitate this process, rather than lead it.

Schedule and Credits

You may register for up to 3 units of UML credit (they will count as a CS elective). One third of the work, however, must be completed in January. Here is the schedule:

Mon-Fri Jan 4 to 8
Jan 11 to 15
Daily lectures at MIT to introduce the entire Battlecode system. 4 pm to 5 pm, room TBA.
In-person attendance at the lectures is expected.
Sat Jan 30Saturday, 7 to 9 PM Final Tournament at Kresge Auditorium, MIT.
External teams are not allowed to compete in this event, but you should plan to attend.
Fri Jan 29Enter your code into UML-only (or other public) demonstration contest
Sat Feb 2709:00 PM MIT-run DRW Open Tournament submission deadline — submit your code
Sun Mar 2809:00 PM MIT-run Open Tournament submission deadline — submit your code
Fri Apr 9Final documentation of your code due.

Discussion Group / E-Mail List

We will use Google Groups for discussion and planning. Please join this group, and then set your preferences to immediate, individual delivery of messages—click the “Edit my membership” tab.

⚠ (:html:) <table style="border:1px solid #aa0033; font-size:small" align=center> <tr> <td rowspan=3> <img src="" height=58 width=150 alt="Google Groups"> </td> <td colspan=2 align=center><b>Subscribe to uml-battlecode-spr2010</b></td> </tr> <form action=""> <tr> <td>Email: <input type=text name=email></td> <td> <table style="background-color:#ffcc33;padding:2px;border:2px outset #ffcc33;"> <tr> <td> <input type=submit name="sub" value="Request"> </td> </tr> </table> </td> </tr> </form> <tr><td colspan=2 align=center> <a href="" target="new">Browse Archives</a> </td></tr> </table> (:htmlend:)