Meiern code competition

Last monday we met at SoundCloud to play a game of Maexchen / Meiern / Mia.

From Wikipedia:

"Mia is a simple dice game with a strong emphasis on bluffing and detecting bluff"

Usually this is game is played with a beer and shots, but since we are Software Craftsmen, we turned it into a coding contest (but eventually we also ended up with beer).

The game is run by a server, simulating the role of dice. The players communicate with that server using a simple text-based protocol over UDP, deciding how to act on the roll.

We provided skeleton clients for several languages (Java, Python, Go) that can be found here
Then we paired up, explained the roles and started the game.

The game is simple to setup and a Ruby pair managed to write a client from Scratch, that correctly connects and rolls dice in very short time. Unfortunately, the java project setup was a little contrived with Gradle and those pairs had a hard time getting it to run.

In the end, we only managed to implement very simple strategies, but people still took some lessons home:

  • library calls for randomness may be slower than you think
  • coding competitions are fun
  • Prepare the build before the next meeting

So, hope to see you again next time!