CS/IMGD 4100 (B 14)
Homework Assignment #12
Due by Web Turn-In: 10pm, Sunday, December 15
(See general homework instructions for turn-in details.)
The purpose of this assignment is to test your AI implementation skills by trying to develop a winning entry in the Raven tournament.
In order to get 10/10 on this homework, in addition to improving the performance of existing goals, you are expected to add at least two new non-trivial goals to your bot AI (e.g., like the steal health goal of Homework 9).
N.B. Late homework submissions will be graded in the usual way (see homework instructions), but will not be eligible for the tournament.
- The tournament will be single-elimination. Each round will include two student bots and Buckland's bot. The map will be similar, but not identical, to the default map in Buckland's code.
- Each match will be five minutes. If there is a simulation failure during the match, it will be restarted.
- If there is a tie score, the lowest CPU time wins. (In the unlikely event that CPU times are identical, winner will be determined by coin toss.)
- The match winner is determined by combining the number of kills minus the number of deaths with a bonus of one
to the loser for each 20% of winner's CPU time that loser conserves. For example,
- Bot A scores 4 / uses 12.053 CPU secs
- Bot B scores 3 / uses 9.109 CPU secs
- Bot B's score is increased by 5 * (12.053 - 9.109) / 12.053 = 1.2
- B B therefore wins with adjusted score of 4.2
- Bonus points will be awarded on the final grade for the course as follows:
- Four points for the winner.
- Two points for the runner-up.
What to Turn In
- Zip file containing your bot's code folder only.
- Changes you have made to Buckland's code should be marked with "//*" comments.
- NB: Make sure that all the classes defined in your folder start with your last name following by underscore (so that all students' bots can be combined into one executable without conflicts).
- README.txt file describing which of your design plans from Homework #10 were implemented, and why.
- One paragraph high-level description of each implemented feature.
- Where in the code to look for the implementation details.
Please post any questions to the myWPI forum for the course.
- 1 point - Design description in README.txt file.
- 2 points - Bot plays full match without crashing.
- 2 points - Bot plays full match without exhibiting obviously buggy behavior (such as a player getting stuck in a corner, going in circles, never moving, etc.)
- 1 point - Bot almost always beats Buckland's and Burke's bot.
- 2 points - Added two new non-trivial goals.
- 2 points - Software engineering quality (modularity, comments, coding style)
Acknowledgement: I would like to thank Robin Burke for allowing the reuse of this assignment.