Го (яп. 碁; также кит. 围棋 вэйци, кор. 바둑 падук) — рефлексивная настольная игра с глубоким стратегическим содержанием, возникшая в Древнем Китае, по разным оценкам, от 2 до 5 тысяч лет назад.
Intro
Однажды ко мне пришел мой друг @nikolaybezhko и предложил сделать дизайн подарочного кубка для одного сенсея из Клуба Го и Стратегии.
Немного обсудив, мы решили создать материальную визуализацию данных одной интересной партии, сыгранной когда-то мастером, которому предназначался подарок.
На форму визуализации повлияла логика китайской стратегии. Европейская мысль смотрит на отдельные действия, а в Китае всё рассматривают в виде процессов.
В качестве примера можно привести ролик с анимацией движения Солнечной системы:
Солнце с планетами оставляют след и постепенно рисуют столб из спиральных волн. С этого ракурса лучше видны отношения и ритмы космических объектов.
Вылетев из нашей галактики сквозь миллиарды соседних звезд, мы увидим картину целиком. Примерно так выглядит движение Солнечной системы по Млечному пути. Процесс движения оказывается замкнутым циклом:
Аналогичным образом мы решили построить и нашу визуализацию. Разложить игру по слоям в пространстве, зафиксировав каждый шаг этого процесса.
Go!
Выяснилось, что эта партия также записана в цифровом виде в неком формате SGF (да, оказывается, есть специальный формат Smart Game Format, в котором записываются настольные игры, включая шашки, шахматы и го).
Я надеялся, что мне удастся использовать эти данные для построения модели. Оставалось понять что это за данные, и как мне со всем этим работать ☺
В SGF файле записана общая информация об игре и последовательность шагов. Если присмотреться, все становится в общих чертах понятно: буквы B для черных камней и W для белых. Буквы в скобках, наверное, это какие-то координаты камня на доске:
Я полагал, что все будет просто и нужно будет лишь нарисовать по слоям точки в соответствии с координатами из файла. Это оказалось не так.
Изучая описание формата, я понял— для честной визуализации игры нужно проверять каждый шаг на разные условия и, в зависимости от них, удалять с доски камни, или оставлять (на что я только надеялся?).
Process
А сейчас я вам в мельчайших деталях расскажу как запрограммировать симуляцию игры на основе SGF файлов, используя свёрточные нейронные сети, дополненную реальность, Microsoft Kinect, Malbolge и прах Тьюринга…
Красная кнопка. БЭ-ЭЭП! ЗАУМЬ!!! СТОП!
Всем ведь плевать как и что там программируется? :) Вот и я о том же! Поэтому давайте просто посмотрим на результат.
Results
В дополнение к «кубку» мы распечатали на холстах триптих с рендерами трех ракурсов.
Time to get physical!
А сам кубок мы воплотили в виде лазерного фантома в большом куске стекла.
FIN
Чего бы такого напоследок сказать?
Дизайнеры, не занимайтесь фигней и всякими экспериментами, а то потом будет хотеться вновь и вновь делать странные штуки. Спать нормально не сможете!
Рисуйте лучше иконки. Люблю вас, котики! ❤