We will discuss this in class.

The purpose of this lab is to have you create a team of several cooperating agents and to tie together many of the ideas you've learned in this class. For this lab, you'll do the following:

• Create a program to control a team of up to 10 BZFlag agents
• Develop a strategy for protecting your flag from attack.
• Develop a strategy for capturing another team's flag.
• Control your team of intelligent agents using potential fields, search, internal state, Kalman filters, motion planning, logic, learning, or whatever else you choose.
• Coordinate your team's efforts in order to pick up the enemy team's flag (no matter what color it is) and return it to your base, before the enemy team is able to do the same to you.

# What to Turn In

To pass off this lab, you will:

• Submit all of your agent code electronically to the ta
• Turn in a declaration of time spent by each lab partner
• Demonstrate in class that your code works

There is no writeup for this lab. There will simply be a pass-off (qualifying round) and the tournament. The pass-off will count for 90% of your grade and the tournament will count for the other 10%. The tournament will occur in class on the last day of class. Submit your code electronically to the ta and a report of the time spent by each lab partner.

# "Qualifying Round" of the Tournament

In the “Qualifying Round” of the tournament you will face the much feared agent0.py (distributed along with bzrflag in the bots directory), which you have seen in an early lab The following new or different command-line options will need to be in place for the server in this lab:

--friendly-fire         You will be safe from friendly fire
--respawn-time=240      Sorry, you will not be coming back in this life
--time-limit=240        4 minute games
--max-shots=3           Three shots at a time
--default-posnoise=3    Less noise than in the Kalman lab
--default-tanks=10      Have fun!

The TA agents are dumb. This means that yours should be much better. You should be able to win even when they have an advantage. Win means to get the flag (you do not need to bring it back).

The TA agents run in the following ways:

• 12 tanks, posnoise 50 (they basically shoot randomly, you have posnoise of 3)
• 8 tanks, posnoise 3 (now they have the same noise as you, but they are not very smart)

The qualifying round will be scored on a 90-point basis, with the remaining 10 points coming from the tournament:

• 50 points possible for beating the entire 12-tank team, less points if you can only beat a smaller such team.
• 40 points possible for beating the entire 8-tank team, less points if you can only beat a smaller such team.

These tests will be run in the four ls world.

# "Elimination Round" of the Tournament

We will be using a variety of worlds, including potentially worlds like four ls, and potentially a more cluttered world.

We will use the scores produced by the server. The game ends when a flag is returned.

# Acknowledgments

Thanks to Chris Monson, Andrew McNabb, David Wingate and Kirt Lillywhite