THE GAME OF GO

Gia Djahaia
Jun 23, 2015 · 4 min read

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

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


Intro

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

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

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

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

Video credit: Physics-Astronomy

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

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

Image for post
Image for post
Image credit: Chris Setter/Phil Plait

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


Go!

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

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


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

Image for post
Image for post

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

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

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

Process

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

Image for post
Image for post

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

Image for post
Image for post

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


Results

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

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

Time to get physical!

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

Image for post
Image for post
Photo Credit: Vasiliy Nefedkin
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

FIN

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

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

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

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch

Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore

Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store