The sixth Russian AI Cup championship is named CodeWars. You are to program an artificial intelligence to control a large amount of vehicles. Your strategies will compete with each other in the Sandbox and the championship. You can use any of programming languages: C++, Java, C#, Python, Pascal or Ruby. The Sandbox is already open. Good luck!

We welcome both novice programmers — students and pupils, as well as professionals. Writing your own strategy is very simple: basic programming skills are enough.

Sandbox: open for everyone from November 6, 21:00 UTC till December 24, 21:00 UTC; first and fourth weeks will be beta-testing, system instability and significant changes in the rules are possible during these periods.

Prizes

Championship News

The Sandbox is completed, and now we can announce the closure of the Russian AI Cup 2017: CodeWars championship. This time everything went without a special intrigue: all the strategies in the top of the Sandbox were firmly in place for the last day or even more.

Let’s not delay the time and immediately turn to the congratulations of the winners. All of them receive WD My Passport Ultra 2TB for their efforts. So, meet:

Of course, this is not all prizes. All participants of Round 2 will receive a souvenir t-shirt with championship symbolics, and all participants of the Final, in addition to this, will get a hoodie.

Attention! All participants of Round 2 and the Finals should make sure they specified an actual address and t-shirt size in their profile.

Later we can publish on this site additional information regarding the receipt of prizes and/or we will make an e-mail newsletter. Please also note that all questions related to receiving prizes are recommended to be sent to russianaicup@corp.mail.ru, and not using messages on this site.

Now the Sandbox is frozen, but in the next few days it will resume its work. The Sandbox will work for several months. Of course, all results will be unofficial. Note that we won’t support the Sandbox as during the championship.

The Finals of the Russian AI Cup 2017 is over. This time it passed without much intrigue. The championship winner, as well as the other prize-winners, was known almost from the very beginning. Small changes occurred only in specific places. Despite the fact that some participants made significant efforts to improve their strategies during the pause, they did not manage to break into the top 6.

So, meet:

1) Eugene «GreenTea» Voronuk (Ukraine, Dnepropetrovsk). He becomes the winner of CodeWars 2017 and the lucky owner of the Apple Macbook Pro. Eugene participated in many of our championships, but such success was achieved for the first time. 98% of the victories in the Finals and a significant gap from the nearest pursuer.

2) For the first time the prize-winner of our championship is a girl. Catherine «oreshnik» Fedotova (Russia, Moscow) gets Apple Macbook Air for the second place.

However, the other participants are still too early to relax, and it’s too early for us to sum up the final results of the championship. There is still a week of the Sandbox, and according to its results the best 6 participants will also receive prizes. We remind you that the finalists will continue to participate in the competition informally.

That’s about to begin the final stage of the main part of the championship. All participants are eagerly watching for its approach and are preparing for the traditional submitting of an untested version of the strategy before the start. This process is also observed by the all-seeing eye of the administration of the competition. One user was not allowed to participate in the Finals because he published the code of his strategy. Its place will be occupied by the following strategy based on the results of Round 2.

We remind, that in each part of Finals a series of “each-vs-each” games will be held.

The strategy will receive 2 points for a victory, 1 point to each participant for a draw, there is no reward for a defeat.

In the first half of Round 2, approximately the same number of waves were tested as in each half of the previous tournament stage. Of course, you expected more, so as we.

At the beginning of Round 2, there were some failures in the testing system. We quickly fixed them, but the process did not accelerate much. The main reasons for this are:

Complicating the rules of the game, compared to Round 1, and in particular adding facilities and the ability to produce new units.

Selection of strategies. Top strategies, of course, produce much more calculations and more efficiently utilize the CPU resources provided to them. Round 2 involves a significant number of strategies that operate at the time limit, and sometimes exceed it.

Small number of games per single wave.

The last two reasons reinforce each other. It often turns out that games with long-running strategies remain at the end of the wave. The most participants have to wait until one or two games are tested.

We are working on solving the problem in two directions at once. First, the number of testing machines will be further increased (compared to the beginning of Round 2). Secondly, we will immediately create several waves of games. This will greatly reduce the amount of resources wasted. This solution has a disadvantage: during the testing of these batch waves the standings table can be not relevant. However, we consider this a lesser evil than a small number of games.

The performance of Ruby and Python 2 and 3 clients was improved. While Ruby and Python 2 received a very small speed increase, the boost of Python 3 is more significant. In turn, fans of Python 2 had the opportunity to run their strategies in an alternate way, namely PyPy 2 5.8.0+. This can improve the execution speed of some strategies. However the NumPy and SciPy library are not available. Choose wisely. Unfortunately, PyPy 3 does not have official support in Windows, except for the old slow version.

We noticed that after achieving significant advantage in score points, many strategies try not to force events and simply wait for the end of game time. In this regard, the rules were updated. Now, since the middle of the game, a strategy with fewer units regularly gains a small amount of score points. So to say, the bonus for survival. We hope that now the games will become more dynamic and interesting.

Round 1 is over. In total for 2 parts each strategy has played 42 times. Among all participants there were 3 that won in all their duels. The strategies of kislas, blashyrkh888 and mixei4 divided the first three places, differing only by the time of sending the latest strategy version. We hope that after such a success they will not relax and will continue to improve their strategies ;)

We remind you that the best 300 participants are already in Round 2. If you do not get into their number, do not get upset. You still have a chance to get the T-shirt. For this, at the beginning of Round 2, you need to be in the top 60 Sandbox participants except for the mentioned 300 people. Within a few days we will add a special table, where everyone can track their progress.

And now begins the second week of beta test and also begins the hot time for adapting your strategies to the changed rules. Facilities are now available in the Sandbox games.

It so happened that we could not get the planned 1080 participants. Obviously, the main reason for this was the complexity of the task and therefore the high entry threshold. We understand you perfectly, because the organizers also had to make considerable efforts to optimize the testing system and the game renderer. But everything has its pluses. This year, for the first time in Round 1, all or almost all of the strategies will take part. (The system is arranged in such a way that the number of participants in the tournament stage must be a multiple of the number of participants in one game.)

We remind you that the games of the stage will be played by waves. Each strategy plays exactly once for the wave. For the victory in the game, two points are given, for the defeat is zero, in case of a tie, both strategies will receive one point each.

We wish everyone good luck. But if you still did not manage to get into the treasured top 300, you can always go to Round 2 and even Finals from the Sandbox.

Attention attention! Only today, only now … 20 seconds at a price of 10 … ah, huh …

Due to the slow warmup of strategies on some programming languages, we decided to increase the time limit for the execution of the strategy’s process. The problem was especially relevant in short verification games. Therefore, the time limit was increased by 10 seconds — a constant that does not depend on the duration of the game. The time limit for one tick remains unchanged.

The next week of AI Cup has passed, and we are ready to report on the work done. And it was done a lot.

We have made significant efforts to improve the system’s performance and stability. This may not be directly visible to the participants, but this is always the case: failures in work create discontent, and normal functioning is taken for granted.

Obviously, the amount of data in this year’s task has challenged not only the testing system, but also the strategies of the participants, an integral part of which is a special client interacting with the game simulator. These clients were written in ancient times, in the age of the legendary first tanks. For a long time their work completely satisfied us and participants. But this year they began to malfunction. Weak links in the chain were the clients on Python 2, Python 3, Ruby, and… of course, C++. Not without the help of the community, these clients carried out extensive work. Their performance has increased noticeably, leaving more time for the work of the main logic of the strategy. A number of minor improvements to user packages in other languages have also been made.

The set of available languages over the past week has been significantly expanded. Now, in addition to the standard set, you can develop your strategy on Scala, Kotlin, Go, Swift and Rust. Many thanks to all the participants who contributed to the development and support of these packages.

The rules of the game since the end of the beta test have not fundamentally changed, but a number of typos have been fixed, some controversial points have been described in more detail. If you still have some incomprehensible moments, download the latest version and go write the code! There are only 4 days left until Round 1.

Updated:

The first week of the beta test came to an end. Together we did a great job to improve the game, fixed many existing bugs and balanced the rules of the game.

Among the other, we added two new actions to the game:

SCALE to change size of units’ formation;

TACTICAL_NUCLEAR_STRIKE to request a local nuclear strike.

Please re-download the latest version of language packs and various utilities. Please note that the complete rules of the game, language packs and the Local runner utility are also published on Github. There you will be able to track the changes and also to see a changelog.

We won’t make changes that could affect the behavior of the strategy in the game till the end of Round 1 and the beginning of the second beta week. However, we will continue to fix known bugs, and we reserve the right to change the mechanics of the game beyond the rules if we deem these changes necessary.

The rating of all participants in the Sandbox has been reset.

Due to the large volume of work we almost don’t have time to support custom packages. We will try to fix this omission in the next week.

However, you already can develop and submit your AI using wonderful D language. Thanks Gassa for it. The devkit is available on Github.

We are pleased to welcome all the participants of the Russian AI Cup: CodeWars 2017 open beta!

The beta test will run until 21:00 UTC on 12 November. Please note that at this time we can make a significant changes in the rules, scoring system and any other aspects of the championship. This week we will try to fix possible mistakes, optimize performance and make any other necessary improvements. The ratings will be reset after this week of beta.

Some links on the website are not working, including links to Github. We will fix it within a few days.