Have you ever wondered what it’s like to compete for 6 weeks in a row on an Artificial Intelligence coding contest and end up on the podium? Have you ever been scared yourself to take up the challenge? Relax. It’s not as tough as it seems…
Sharcoux and Neumann, respectively ranked 1st and 3rd on Platinum Rift 2, share with us their insights on PR2, tell us how they approached the game, and what they particularly like in multiplayer games in general.
1) You took part in the Platinum Rift 2 Multiplayer Coding Contest that lasted for 6 weeks and topped the podium in the end: Hats off guys! How was your experience with the game overall?
This challenge saw my come back to CodinGame. I first participated months ago and when I returned to the site, I had the pleasure to discover the new platform. The IDE and the interface were much, much better, but what changed everything was that you could actually see what your code was doing thanks to the left window. It’s much more fun to play like that than by manipulating raw data.
I liked PR2 a lot because it was not time-limited. I was able to improve my AI when I had some free time. I don’t like the 4-hour contests as much because you’re less likely to be available to program for 4 hours at a time on a specific day. I find them also more stressful.
Coding an AI was a great experience, because I had the feeling I was playing Warcraft 3. Unlike video games, however, you don’t need to be skillful or lucky or to practice everyday for 10 years to win. You just need to be creative, and have ideas that others don’t have!
“Evolving” contests such as PRII (with new rules and changing maps every week) let you take your time to code, and intermediate rankings ease the pressure. If you are not inspired by a specific rule, you have the possibility to wait until the next week to truly come back to the contest. The engagement of the community also really helps to stay involved and motivated all along the way.
2) According to you, what skills and strategies helped you to perform on Platinum Rift 2?
As I just said, I simply had an idea that made the difference. It was to contaminate each area that the enemy could have reached. The system was very basic. It just took 4 lines of code, but with that I was able to have a pretty good idea of where the enemy was and checked my territory each time it was needed and only when needed. The rest of the code was probably more or less the same than everyone in the top 10.
I didn’t implement any specific strategy for this contest. The goal is always to compare your AI with that of others, and to proceed to “reverse-engineering” in order to understand how the most efficient AIs work, and to imagine ways to counter or surpass them. I think that all the players ranked in the top 15 do this. Some players well understood the interest they had to push a weakest AI in the arena to replace their “most powerful one” and tune it out of sight so they don’t get copied.
3) Compared to solo contests, why do you enjoy multiplayer games?
I guess it is more challenging to beat humans than machines. Actually, I think that the difference is that there isn’t “one particular solution” to be found. There are thousands of possible solutions and you have to find the one that will work against the others.
Multiplayer contests let you take your time, and in this way, they are less stressful than solo contests. I find them much more stimulating and exciting. It’s always a pleasure to watch your AI constantly climb (or drop) in the rankings, to see new players coming out of the blue and beating everyone up, imposing new performance/quality standards to everyone. As for me, I much prefer multiplayer contests compared to solo contests.
4) Do you think those contests are harder to handle as far as A.I. coding (bot programming) is concerned?
I think multiplayer contests are easier because all your opponents aren’t experts so it allows you to have a real progression in the leaderboard. It gives you a good hint if what you’re doing is right or not. You can also pick the AI of anybody near your rank and this way get a challenge adapted to your level.
I don’t think that multiplayer contests are more complicated than solo contests. Simply because they let you code whenever you like, at your own pace.
5) Do you have any advice to give to CodinGamers who would like to try the multiplayer game experience for the first time?
First, I don’t think these contests are only for professionals. I never coded AI before, and I don’t have a Computer Science degree either. I just won because I’m good at
analyzing things, and this, anyone can do. So, don’t
overthink things. Just try, submit, see if it works, and improve
what needs to be improved. Analyze your losses. Step by step, it will
lead you to the top !
I would say, “Don’t hesitate, and dare!”. It won’t cost you anything to push your AI into the arena and it’s always a pleasure to see it run, even when it runs silly. Concerning the “time-consuming” aspect of the game, I think Sharcoux is a great example. He does not seem to have spent a lot of time working on his AI (as he told me on the IRC) however he managed to top the rankings for more than one week. Of course it does not always happen this way, but it proves it’s possible to be on the podium without spending hours and hours on the contest.