Ворлд Чесс

Турниры

Рассказывает Илья Бирман

Первый подход. Расставляем турниры на таймлайне.

Красим официальные рейтинговые турниры ФИДЕ золотым, а просто рейтинговые — серым. Берём пока иконки Чикина для обозначения тайм‑контроля турнира:

Жёлтенький столбик в каждой карточке показывает, сколько людей уже набралось из необходимого количества для проведения турнира. Снизу — список турниров, в которых «я» уже зарегистрировался, и тех, в которых уже сыграл. Турниры, в которых я зарегистрирован, ещё отмечаются моей фоточкой на плашке.

А вот ещё вариант. Пробуем не тянуть карточки на всю длину турнира, а делать стопочки по времени начала:

Не очень понятно, всё‑таки продолжительность турнира важна.

Улучшаем вёрстку и детали в плашках турниров. Превращаем жёлтые столбики в мини‑диаграммки рядом с количеством участников:

Добавляем навигацию для переключения между одиночными играми и турнирами. Турниры, в которых участвую «я», ставим наверх. Придумываем весёлые формы плашек для разных тайм‑контролей:

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

Получается скукота, а вроде показывать больше и нечего.

Находим, что у турниров обычно есть какая‑то графика от организаторов. Примеряем её наверху в качестве обложки. Верстаем под ней параметры турнира более весёлой строчкой. Добавляем незаполненную турнирную таблицу. Показываем более крупные фотографии игроков:

Обложки выглядят чаще всего жутко, мы на них не всегда влияем, так что выводить её так крупно — плохая идея. Ещё оказалось, что турниров навылет на сайте сначала не будет, будут только круговые и по швейцарской системе, а значит, такого дерева рисовать не придётся, будет просто подсчёт очков.

Снова всё перевёрстываем: находим обложке скромное место справа, ставим игроков на первый план, добавляем наверх таймлайн турнира. Также по просьбе клиента примеряем чатик:

Рисуем состояние, когда турнир уже идёт. Сверху ставим доски первых столов — это где играют самые крутаны. Остальные пары игроков компактно показываем снизу, причём с последним сделанным ходом, чтобы чувствовалась жизнь:

Турнирная таблица с очками появляется справа под чатиком.

При наведении на любую пару снизу даём подсмотреть за игрой на доске и заодно подсвечиваем игроков в турнирной таблице.

Когда турнир кончается, остаются результаты всех партий всех раундов. И в верхней галерее фоток, и в турнирной таблице, и в каждом раунде по умолчанию подсвечиваем «меня»:

На основе интерфейса начала игры, созданного в прошлой итерации, делаем форму создания турнира:

Как и в случае с одиночной игрой, нужно выбрать тайм‑контроль и диапазон рейтинга игроков. Но тут ещё появляются описание, регион, число игроков и время. Внизу ещё рисуем переключалку для создания турниров по приглашению, но сам интерфейс приглашения откладываем на потом.

Идём обсуждать получившиеся макеты с клиентом:

Клиент просит выделить особо важные турниры и подумать, где будут какие‑нибудь фильтры, если турниров станет слишком много.

Чтобы не усложнять расписание, ставим важные турниры отдельным этажом Promoted tournaments сверху. Схематично примеряем фильтры. Начинаем работу над мобильной версией всего:

Показываем, как закрепляется верх при прокрутке расписания турниров:

Рисуем шапку свежесозданного турнира, когда ещё ни один участник не записался:

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

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

Переносим турнирную таблицу вниз, отдельным этажом. Чтобы она не уехала слишком уж далеко вниз, решаем не показывать простыню результатов каждого раунда, а ограничиться только текущим. Добавляем переключалку раундов:

Ловко используем в мобильной версии мини‑досочки, которые мы сначала придумали для наведения. Широкие таблицы на мобиле пока просто прокручиваются по горизонтали.

Зелёненькая‑то таблица выглядит бодрее!

Вспоминаем, что у игроков без ФИДЕ‑рейтинга могут быть вообще не загружены фотки. Рисуем кружки с инициалами для неофициальных турниров:

Когда «я» участвую в турнире и вот‑вот начнётся моя партия, придумываем показывать доску с обратным отсчётом, а рядом — краткую информацию об оппоненте:

Информация о других парах и раундах уезжает в переключалку Standings / Rounds ниже (это окажется ошибкой). В турнирной таблице подсвечиваем «меня» и оппонента.

При переключении в раунды показываем их листалку, добавляем скачиванием ПГН‑файлов с нотациями всех прошедших игр, добавляем сбоку ссылку на похожий турнир, чтобы игрок продолжал играть:

Идём снова обсуждать макеты с клиентом:

Таймлайн турнира обзаводится разметкой раундов и переезжает пониже. После обсуждения с клиентом возвращаем доски текущего раунда и переключалку между раундами обратно на видное место. Если «я» играю за первым или вторым столом, то он и так там будет, и значит на нём можно показать обратный отсчёт. Если я играю за другим столом (на макете — за пятым), то в качестве правого стола ставим мой:

Экраны самой игры мы нарисовали давно.

Немного адаптируем их для турнирных игр. Добавляем слева название турнира, а к игрокам кроме страны и рейтинга дописываем их очки и место в этом турнире. Показываем обратный отсчёт до начала партии, если игрок уже перешёл на страницу игры, а когда партия кончилась сразу показываем наверху следующего оппонента:

Архив моих турниров становится покраше:

Придумываем специальное обозначение с #номером стола в рамочке:

Показываем, как что тянется на широком экране:

Чтобы участвовать в турнире, нужно соответствовать его требованиям: ограничениям по стране, рейтингу. А чтобы участвовать в официальном рейтинговом турнире ФИДЕ, нужно самому быть игроком ФИДЕ.

Не упускаем шанса предложить апгрейд:

При нажатии на кнопку открывается интерфейс апгрейда, который мы сделали ранее.

Допиливаем навигацию, вёрстку шапки страницы турниров. В лобби добавляем мои ближайшие турниры и ссылку на страницу турниров, а со страницы турниров, наоборот, ведём на одиночные игры:

Возвращаемся к форме создания турниров, продумываем разные состояния. В том числе рисуем приглашение участников в закрытый турнир:

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

Позже понимаем, что наш таймлайн раундов сам может быть сразу и переключалкой между раундами. Превращаем во вкладки, перекрашиваем в зелёный цвет, убираем листалки влево‑вправо:

Пришло время получше разобраться с турнирными таблицами. Там бывают тайбрейки с разными хитрыми правилами и коэфициентами, их хорошо бы тоже показывать:

Адаптируем под мобилу то, что ещё не адаптировали:

Клиент просит адаптировать новый дизайн страницы турнира так, чтобы его же можно было использовать для классических трансляций живых турниров — сервиса Ворлд Чесса, который появился ещё до того, как нас позвали помогать с геймингом. Находим место для видеопотока, новостей и спонсоров турнира:

Спонсоры, кстати, в будущем могут пригодиться и в онлайн‑турнирах.

Приходится всё‑таки придумать дизайн для турнирных таблиц с сеткой навылет:

Помогаем с запуском первой версии. Дозапускаем отдельные фичи по мере готовности бэкенда в режиме поддержки.

Отправить
Поделиться
Запинить

Когда выйдет новый проект

Оставьте почту, чтобы узнавать о выходе новых проектов и обновлениях других продуктов бюро.

Расскажите о своём продукте команде бюро