The coding competition is in it’s 5th day today. We’ve had a few unofficial training matches, with official finale showdown scheduled for this Friday. Most of us developers here are either participating, or plan to participate. Some didn’t sleep much.
The objective is simple: develop an artificial intelligence (AI) for a fighting game. Any programming language, any framework, any tool, anything. Then the bots compete with each other until death, and the developer of a winning bot is declared a winner.
The fighting game rules are a slight variation of a famous rock-paper-scissors game: it’s about guessing your opponent’s next move and picking a choice that your opponent didn’t anticipate.
Each player has 150 lifepoints at the beginning; the fight goes on until one of the opponents is “dead” (lifepoints drop below 0). Different hits have different scores: hit to a nose takes 10 points, jaw – 8 points, etc. Every round, each player plans up to 3 “moves”, which can be i.e. two blocks and one attack, or one block and two attacks, or three attacks etc. Hence the game sums up to guessing your opponent’s moves and making your move (combination) that counteracts it. In one word – it is called “outsmarting” in its purest primary sense.
Sounds simple, doesn’t it? Not before you start coding. A strategy “attack at full speed, don’t care about defense” loses to “defend most critical points, attack most critical ones”. A random defence-attack strategy gets beaten by statistics-collecting strategy, that gets beaten by yet “attack the unexpected” strategy.
Some coders spent nights tuning their AI code.
The fighting engine gets improved as well. We hope to have online version soon, where you could try outsmarting famous GrandMaster, KungFuPanda, DrunkenFist or Czeburashka bots over the web. Stay tuned!