THE GAME OF GO

Визуализация данных как фигура процесса


Го (яп. 碁; также кит. 围棋 вэйци, кор. 바둑 падук) — рефлексивная настольная игра с глубоким стратегическим содержанием, возникшая в Древнем Китае, по разным оценкам, от 2 до 5 тысяч лет назад.

Intro

Однажды ко мне пришел мой друг @nikolaybezhko и предложил сделать дизайн подарочного кубка для одного сенсея из Клуба Го и Стратегии.

Немного обсудив, мы решили создать материальную визуализацию данных одной интересной партии, сыгранной когда-то мастером, которому предназначался подарок.

На форму визуализации повлияла логика китайской стратегии. Европейская мысль смотрит на отдельные действия, а в Китае всё рассматривают в виде процессов.

В качестве примера можно привести ролик с анимацией движения Солнечной системы:

Video credit: Physics-Astronomy

Солнце с планетами оставляют след и постепенно рисуют столб из спиральных волн. С этого ракурса лучше видны отношения и ритмы космических объектов.

Вылетев из нашей галактики сквозь миллиарды соседних звезд, мы увидим картину целиком. Примерно так выглядит движение Солнечной системы по Млечному пути. Процесс движения оказывается замкнутым циклом:

Image credit: Chris Setter/Phil Plait

Аналогичным образом мы решили построить и нашу визуализацию. Разложить игру по слоям в пространстве, зафиксировав каждый шаг этого процесса.


Go!

Выяснилось, что эта партия также записана в цифровом виде в неком формате SGF (да, оказывается, есть специальный формат Smart Game Format, в котором записываются настольные игры, включая шашки, шахматы и го).

Я надеялся, что мне удастся использовать эти данные для построения модели. Оставалось понять что это за данные, и как мне со всем этим работать ☺


В SGF файле записана общая информация об игре и последовательность шагов. Если присмотреться, все становится в общих чертах понятно: буквы B для черных камней и W для белых. Буквы в скобках, наверное, это какие-то координаты камня на доске:

Я полагал, что все будет просто и нужно будет лишь нарисовать по слоям точки в соответствии с координатами из файла. Это оказалось не так.

Изучая описание формата, я понял— для честной визуализации игры нужно проверять каждый шаг на разные условия и, в зависимости от них, удалять с доски камни, или оставлять (на что я только надеялся?).

Несколько примеров ходов и последствий.

Process

А сейчас я вам в мельчайших деталях расскажу как запрограммировать симуляцию игры на основе SGF файлов, используя свёрточные нейронные сети, дополненную реальность, Microsoft Kinect, Malbolge и прах Тьюринга…

Красная кнопка. БЭ-ЭЭП! ЗАУМЬ!!! СТОП!

Всем ведь плевать как и что там программируется? :) Вот и я о том же! Поэтому давайте просто посмотрим на результат.


Results

В дополнение к «кубку» мы распечатали на холстах триптих с рендерами трех ракурсов.

Time to get physical!

А сам кубок мы воплотили в виде лазерного фантома в большом куске стекла.

Photo Credit: Vasiliy Nefedkin

FIN

Чего бы такого напоследок сказать?

Дизайнеры, не занимайтесь фигней и всякими экспериментами, а то потом будет хотеться вновь и вновь делать странные штуки. Спать нормально не сможете!

Рисуйте лучше иконки. Люблю вас, котики! ❤