Have you ever wanted to write a robot to play minesweeper? Well here’s your opportunity. Between now and the start of the Test Automation Bazaar Conference in Austin, Texas (23-24 March) you have been given a challenge to write the best robot capable of playing minesweeper.
This contest is open to everyone, but there’ll be two categories: conference attendees and non-conference atendees. Conference attendees will have the opportunity to showcase their creation during a session at the conference.
Rules of the Challenge
- Your robot must be capable of running against minesweeper.github.com (with no url query strings) which is a HTML application of an expert game of minesweeper.
- The source code to this application is available on github and can be used locally for developing and testing your robot.
- Your robot can’t cheat to win the contest – it needs to play a legitimate game of minesweeper – but if you’re caught, and you will be, you may win the cheating prize (below).
- Your robot can be written in any language whatsoever, using any browser automation tools you like: but the source code must be provided when submitting an entry to the contest.
- The application does not support IE6. If you use IE6, please take a long hard look at yourself in the mirror.
- Upon winning a game, your robot must take a photo of the browser to prove the time it achieved.
- All judge’s decisions are final.
Contest Categories
- Conference Attendees
- Fastest game won (seconds) – over 100 expert games
- Highest number of games won – over 100 expert games
- Conference Non-Attendees
- Fastest game won (seconds) – over 100 expert games
- Highest number of games won – over 100 expert games
- Both Conference Attendees & Non-Attendees Combined
- Most unusual robot
- Cleverest named robot
- Best cheating robot
- Best robot test suite
- Slowest robot
Prizes
Prizes are to be announced, but they shouldn’t be the reason anyone would enter right? It’s all about bragging rights (oh and the intellectual challenge). Here’s hoping some of the conference sponsors donate some cool swag!
Hints
- You can run the minesweeper application in various modes using query string parameters for testing your robot. For example:
- http://minesweeper.github.com/?preset=beginner for a beginner field
- http://minesweeper.github.com/?preset=intermediate for an intermediate field
- http://minesweeper.github.com/?preset=expert for an expert field (default)
- http://minesweeper.github.com/?rows=20&cols=20&minecount=10 for a custom field
- http://minesweeper.github.com/?rows=3&cols=4&mines=[[0,0],[0,1],[0,2]] for planting a field non-randomly
- Write lots of tests. Write a test, then write an alogorithm to ‘prove’ your test. Rinse & repeat. A test can use a simple 2 x 2 square (or smaller) to prove a point.
Contest Entry Form
If you’ve got a private repository for your source code, please still submit the form, but email the source to alister dot scott at gmail dot com.
During the Test Automation Bazaar Conference, there’ll be a session
I guess using the ability to plant non-random mines, if used on an expert sized grid, so all the mines are known to the robot would be considered cheating ?
Yes, you’ll notice the game appears in ‘test mode’ which isn’t competition worthy.
I have doubts that 100 trials will be statistically significant for the purposes of the success rate competition.
Let’s judge that when we get entries. In my own work, it should be enough, if it’s close, we can up it as needed :)
Looks like there’s a bug for creating a custom field. The URL (taken straight from your sample):
http://minesweeper.github.com/?rows=20&cols=20&minecount=10
yields 99 mines (in 20 rows & 20 cols) instead of the requested 10.
A bug or a typo :)
It is actually minescount, but I have just added support for minecount also.
Thanks!
Ah that’s cool! Fixing the typo (and letting me know) would have been sufficient. :-)
I know this is a Watr conference, but the sample app seems to not like QTP…
You’ll need to be more specific: exactly what doesn’t work?
It’s a simple HTML JavaScript app.
Any chance of seeing source code for the winning entries? I’d be very interested to see some of the strategies employed by participants of this neat challenge.