The ICPC Challenge gives programming teams and their coaches a chance to work on a different kind of problem. Working with their coach, teams implement a player and compete against other teams' players in a new game called ICPC Bumper Boat Rally. Preliminary matches during the two-week coding phase helped teams to develop and refine their players. Now, we're preparing for the final tournament.
We're preparing for a final tournament in Warsaw, Poland. We will use the following, double-elimination tournament tree. It's based on the preliminary standings from the end of the coding phase. Sorry some of the names are long here. We'll get a list of short institution names before we run the tournament.
We're done with the coding phase of the Challenge. Here's what the preliminary standings looked like on April 29.
| Competitor | Win Count |
|---|---|
| Indian Institute of Technology - Delhi | 31 |
| Universidad de La Habana | 21 |
| University of Toronto | 20 |
| University of Alberta | 12 |
| Altai State Technical University | 10 |
| Universidad de Guanajuato - CIMAT | 10 |
| Zhejiang University | 9 |
| National Taiwan University | 8 |
| Instituto Tecnológico de Santo Domingo | 7 |
| The Chinese University of Hong Kong | 3 |
| Universidade Federal de Pernambuco | 3 |
| Carnegie Mellon University | 0 |
| ITESM Campus Puebla | 0 |
| International Institute of Information Technology - Hyderabad | 0 |
| Sharif University of Technology | 0 |
| University of the Philippines - Diliman | 0 |
It's too late to participate in the 2012 ICPC Challenge, but you can still try out the game and see about coding a player yourself. The following links give you everything you need to get started.
The ICPC Challenge game, ICPC Bumper Boat Rally, is played in an environment that looks something like the following figure. A red player and a blue player compete to pilot their boats around a course. Each player directly controls a fleet of five boats of various configurations. As the name suggests, these boats aren't top-of-the-line water craft; they're more like the kind of boat you might find at an amusement park. The game rules describe how to pilot the boats and how to complete laps. All you have to do is figure out how to win.
Your player will be implemented as a stand-alone program, in C++ or Java. You will interact with the game by reading information about the game world from standard input and writing your next move to standard output. The sample players can be a quick way for you to get started writing your player and interacting with the game. A more detailed description of the execution environment explains the input and output format for your player as well as other rules for what your player can do.
Once you have a player written, you can run it by starting up the game and pointing it to your player's executable. If you have written a player in C++, you can run it against the sample Java player using a command like:
java -jar bbr.jar -player cpp myPlayer -player java -cp java_example HotPotato
If your player is implemented in Java, you can have it play (as the blue player) against the Java example using a command like:
java -jar bbr.jar -player java -cp java_example HotPotato -player java MyPlayer
The more detailed usage instructions describe additional options for starting up the game, including how to capture a match as a trace file and how to debug your player during execution.
During the coding phase of the competition, players can access the competition through the ICPC Challenge site at: http://icpc.baylor.edu/challenge/ From this page, participants will be able to login to the submission system, submit player code, and see how they are doing in preliminary matches. The latest working submission is considered the participant's current player. The final tournament and the nightly preliminary matches will use the most recently submitted player code that successfully builds.
All source code and supporting files for a player must be submitted at the same time. From the submission interface, select each source file that's part of your player, and then press the "Upload Files" button to upload the whole thing. If you forget to submit an important file, you will need to re-submit everything to have a working player.
If we encounter a critical problem, we'll notify coaches via email. For smaller problems and clarifications, we'll just provide a note here.
There were a couple of problems with the implementation of boat turning in the game (a wrong sign and a missing set of parentheses). These have been fixed, and I hope that's the end of these problems. You'll want to download a fresh copy of the game to get these fixes and example players that work with the new turning code. This does represent a change in the game. I had wanted to avoid that, but the missing pair of parentheses made the turning behavior too strange. This made the sample players less effective, but that's OK. That will give teams more room to improve on them.
Thanks to the participants who helped me notice this error. Email me (David Sturgill, ) if you see other problems like this.
The ICPC Challenge website, http://icpc.baylor.edu/challenge/, will provide regularly updated information during the coding phase of the competition. If corrections or clarifications are needed, they will be linked from here.
The ICPC Challenge is an effort to continue to offer the kinds of visual, interactive, competitive programming problems popularized by previous offerings of the Java Challenge. Teams implement player code that competes with other teams' players in a game-like simulation. A tournament among the players determines the winner.
Working together, the ICPC and
If you like the challenge, join our community on Facebook. Visit our fanpage and become a fan.
The 2011 ICPC finals featured an ICPC Challenge problem called coercion. Teams developed a program to try to claim teritory on a map by pushing around markers and then using these to convert map regions to their own color. See the 2011 ICPC Challenge Page for a description of the problem and the winners. You can also check out preliminary standings from the coding phase of the competition and see the results of the final tournament. You can even watch videos of the matches. If you want to try the problem for yourself, you can download the game binary and write your own player.
The 2010 ICPC finals featured an ICPC Challenge problem appropriate to the February weather in Harbin, China. Teams developed a program to control a group of children in a snow-covered field. See the 2010 ICPC Challenge Page for a description of the problem and the winners.
The 2009 ICPC finals featured an offering of the ICPC Challenge. The 2009 ICPC Challenge Page describes the challenge problem from that year and gives the preliminary standings from the coding phase of the competition. You can see the results of the final tournament and even watch videos of the matches. If you want to try the problem for yourself, you can download the game binary and write your own player.
If you are excited about helping out with the ICPC Challenge, or if you have questions, please contact the ICPC Challenge director, David Sturgill ().