The rules for the game "Mäxchen" (aka Mia) are explained in Detail here.
The game runs on a remote server (IP: 18.198.123.140
, port: 9000
).
The players communicate with the server using a simple text-based protocol over UDP (using UTF-8 encoded strings).
You find a more detailed description of the messages sent between client and server here.
To join the game, a bot must first register itself with a name. The name must not contain whitespaces, colons, semicolons, or commas and can have up to 20 characters. From then on, the bot will receive server messages continuously and can respond to them. The server will only accept answers within a narrow time frame (250 ms).
We provide you with two very simple bots written in Java and Python. How to fire up these bots is described in the respective README.mds. Please note that the code of the example bots is not an example for clean code. Hence, if you want to build upon it, you should better do some refactorings.
Here comes the challenge: Implement a bot that beats all the others. You are free to implement your bot using any language of your choice. Happy coding!
Every time a bot looses, all other bots earn one point.
We provide you with an example visualisation of the average points per minute of every participating bot.
Feel free to implement your own graphical representation of the player scores. To do this you can register a client as spectator (see here). Spectators are not able to actively participate in the game. Yet they will receive all messages every other client would receive.
The idea for this challenge as well as slightly modified code for the server is adapted from https://github.com/conradthukral/maexchen