
The Russian AI Cup 2016 has been going on for a month now. This is an artificial intelligence programming competition that takes place in the form of a game. We talked in detail about the idea and rules of this year
here .
But from the start of the championship a lot has changed. Participants had to sweat to understand the difficult rules of the game, and we - to cope with the testing load. The rules were edited, the code was optimized, the rounds were changed and the players were banned. We tell you the full story of CodeWizards 2016.
Open beta test of the first round
A beta test was launched on November 7th. During the week, participants wrote strategies for the rules of the first round, and the organizers fixed bugs and balanced the rules.
')
Lots of objects. CodeWizards is the first game with a lot of objects. In all previous years we have limited ourselves to dozens, now there may be about five hundred: these are trees, minions, buildings, projectiles, and so on. Such a number of objects is bad for the work of strategies and testing systems.
Large consumption of RAM. Object descriptions took up too much space in RAM. The game was loaded and slowed down. The most annoying thing is that it could even fall due to the fact that it did not fit into the memory limits reserved for one browser tab.
We did the main work on the visualizer. Instead of reloading mutable objects, we began to keep a history of their changes. All positions of the 3D-models, we count at the beginning of the game. This slows down the download a bit, but it increases fps. We managed to reduce the average amount of RAM consumed by almost half: from 1 GB to 500 MB. When everything worked, we added sounds to the game to observe the results was more interesting.
Slow sending data. Another difficulty associated with a large number of objects: the need to send the participant's strategy. Slow languages, such as Ruby or Python, barely had time to cope with the reception and transmission of data. If any logic was added to the strategy, it could not overcome the time limit and was turned off by the testing system.
We have implemented a special caching mechanism. He allowed not to transfer objects that have not changed since the last dispatch. It was not easy: we updated the interaction code in all programming languages. Now we have several participants who have come to the second round of Ruby. Python is used by many top players and quietly competes with fast languages like Java, C # or C ++.
Change the rules of the game. We closely followed the feedback from the players on the forum. They helped us balance the rules and make the game more even. In addition to some minor changes, it is worth noting an increase in damage to buildings, an increase in the number of points for picking up a bonus from 100 to 200, as well as the appearance of bonuses in pairs, and not by chance at one of two points. At the beginning of the game, no one was afraid of the towers, and it was unprofitable to go for bonuses: they gave little points, but they could not even appear.
New languages. As in previous years, the community has expanded the list of languages in which you can write strategies. Now Russian AI Cup supports 10 languages at once. Added D, Go, JavaScript and Scala. Thanks to the authors of language packs!
Results of the beta test. In the first week, 650 programmers registered for the championship. We carefully read the forum and continue to do so. All that is proposed, we evaluate and take most of the ideas into development. We are glad that adequate and loyal players participate in the championship. Basically it is the developers with experience. Thank!
Results of the first round
On November 25 and 26, the first round of the championship was held. To participate in it, we selected the 1090 best strategies out of 1500 received by that time. The first round consisted of two stages of 12 hours with a break of 24 hours. During them, the testing system completed and ran the games.
The final rating is based on the results of 40 battles.
Congratulations to the winners of the second round! And the rest of the remind about the collection of participants from the Sandbox. From there, the 60 best strategies will fall into the second round, which did not follow the results of the first round.
Swindlers :(
We carefully analyzed the strategies of participants in round 1 and regretfully found that not everyone in our competition follows the rules and respects the
ethical standards of fair competition. A number of cases of joint development or use by one person of several accounts in the system were identified.
Such participants are also in the Top-300, which would give them the right to receive two or more T-shirts for passing to Round 2. Even knowing this, none of these participants notified the competition jury of the violation and did not ask to block all of their credentials. records except one.
This time we decided to limit ourselves to a strict warning. The mentioned participants will not be disqualified, however they will not pass further according to the results of round 1. Instead of them, the next in the list will fall into round 2; Lucky ones, of course, will be notified by email.
Second round beta test
During the second round, we open to wizards access to leveling spells. Now they are getting stronger with each level and can choose their own branch of skills.
New rules. In addition, we again made a number of changes to the rules.
- The amount of life energy of buildings in all game modes is halved
It turned out that even the strongest strategies simply did not have time to break all the buildings because of their strength. Games ended in a draw. Now the magicians will have much more chances.
- The coefficient of experience for damage and destruction of buildings doubled
Since the set of experience depends on the amount of damage, we have raised this coefficient in order not to slow down the pumping of the characters.
- The amount of experience for the selection of bonus reduced from 200 to 150
Raising the amount of experience to 200 in the first round, we got a situation in which, during the appearance of the bonus, everyone leaves the battle and runs after it. Now stand on the line much more profitable due to the first three changes.
- Empower bonus damage multiplier reduced from 2 to 1.5
It turned out that this bonus was significantly more profitable than the other two. We added a bit of balance to the game.
- The duration of the spells "Acceleration" and "Shield" is doubled. A wizard who applies magic status to any friendly wizard automatically gets the same status.
MOBA is a team genre. We want to see the interaction between the participants of the game, despite the fact that the credit in the championship is personal.
We invite you to take part in the championship
Join
CodeWizards 2016 ! Technically, you can download a cool strategy game even three days before the final and win. Additional set of sandbox waiting for talented programmers!