Moscow Poly Students Teach Marusya how to BattleShip
Moscow Poly ‘Information Technologies’ department students have developed a ‘Checked Drawing’ option for the VK Marusya voice assistant.
To practically implement the ‘Check Drawing’ function, one will need a sheet of paper and colored pencils.
The scheme is similar to Battleship: a two-dimensional field is drafted on a sheet where letters in the alphabetic order are placed horizontally, and numbers – vertically. However, there is a slight difference: when playing Battleship, one has to draw ships that Marusya breaks down and turns the sheet into the battlefield. In the new option, though, Marusya suggests the color to use to get a beautiful illustration. The illustrations fall into three complexity levels: easy, medium and hard. The levels will affect the size of the illustration and a field, the complexity of the illustration and also, the approach that Marusya chooses to call out the checks.
The famous game inspired the students. Moscow Poly ‘Information Technologies’ department student, Dmitry Tkachenko, who took the role of the program developer shared: “I got an interesting idea to change the essence of the game to the point when your opponent (in the case of checked drawing, the voice assistant) names a check not to cross out the ship or to declare ‘Missed’, but rather to create a sophisticated and beautiful pattern. Surely, attacking right away will not help to make a nice pattern. So, the sequence of checks that the voice assistant names should be logically explained. That`s how we came up with the idea to develop the ‘Checked Drawing’ function for Marusya.”
The project was supervised by two students: Dmitry Tkachenko, the program developer, and Kseniya Malinovskaya, the designer. The technical implementation was based on Go (golang).
Initially, Marusya was expected to call out the checks that need to be painted, however, it was decided later to divide the illustrations into complexity categories. This approach allowed the designer to create patterns of different sizes: easy 15x15 checks, medium 25x25 checks and hard ones - 30x30 checks, as well as to develop 3 approaches to calling out the checks. On easy levels the checks are called out one after another, whereas on the medium level Marusya gives a two-way instructions, and on hard levels Marusya specifies the checks that should not be painted at all. For instance: “D3 to D12 except for D7 and D9”.
Having developed the option, the team moved on to publishing it in an open access in VK. For that, the new function had to be approved during the moderation process. VK staff approved the moderation fast. As a result, the staff liked the elaboration so much that a news on the lunch of the function was published in the social network.
Now, the inventors get recommendations from the VK team, as well as the user requirements on a daily basis. This feedback is taken into consideration when improving the service. Recently, sufficient improvements have been made to the program and 15 new patterns added.