Now, that’s what I call challenging… Keeping 300 students focused on learning Java can be really hard sometimes.
The gotcha of this year? The project is a game. At the end of the year 70+ AIs will compete for supremacy over… waste. That doesn’t sound too glamorous, does it? So far, it seems to be both within their grasp to develop a fully fledged AI that will connect over TCP to a game server for a competition, and to make it really competitive.
The game principle is pretty simple. Every player has to manage two stacks : waste and “units” (that can be money, or terrain, or life, your call). The objective is to get rid of the waste. You have two ways to do that : either you consume them, which is slow, or you give them to somebody along with some of your units, which can be expensive. Said like this, you can think that giving them away is faster than treating them, and you would be right. To keep things balanced, there is also a score. Each consumed unit gives you one point, and each waste you have in surplus of your units takes one point away from you.
There are three ways to win : no more waste, or a top score, or no more opponents. And there are two ways to loose : too much waste, or too low a score. That gives you at least 4 ways to win, from killing your opponents to being a nice little fella.
With such simple rules, one could expect a quick and uninteresting challenge. It turns out there are so many variations in the strategies, besides learning the language to build the program, that I feel like they are hooked for good till the end. The future will tell.