Страница для телефона, в поиске не показывается. Картинки — пиксельные, тянутся без сглаживания.
С 0.55.0 (Task T1) фигуры — классический набор владельца, перенесённый на пиксельную сетку. Разделы ниже про «вариант 6» — история Task R.
Двадцать портретов семейств гамбитов — пиксельные фигуры игры с атрибутом (генератор tools/gen_gambit_portraits.py, лист ×4). Статусы — предметы на фигуре (щит, нимб, зубья, лёд). Шесть семейных эффектов читаются из диффа состояния боя. Продажа с доски долгим тапом, тост «открыто новое», подорожание карточек после сброса, перетаскивание как опция, цепочки наставника и «приближается босс».
Один экран «Коллекция» с вкладками: прогресс (путь, кладбище, страйки, достижения), гамбиты N/200 (запертые — цепи и условие серым), фигуры с диаграммой 5×5 от правил игры, клетки «???» до встречи, враги, боссы-силуэты, помехи (заперта). 69 условий разблокировки эпических и легендарных + 6 секретов с пасхалками (магазин, настройки, вкладка боссов, титры, удержание пешки меню). Диалог «открыт новый гамбит» с конфетти. Настройки: разделы-якоря, улучшенный ИИ (2 полухода), координаты, 5 скинов доски, сброс данных.
Кладбище после карты пути: последние пять павших, первая бесплатно, дальше +$3 до конца забега, «больше не показывать» = тумблер настроек. «Получить $N» — панель улетает, монеты летят в казну 1.4 с. Поражение: панели уезжают, «Забег окончен» над доской, доска стоит 1.5 с. Наставник: слон с моноклем печатает уроки и подсказки первого забега, ключевые слова латунью. Меню: ряд «Правила · Обучение · Настройки».
Батч 1 ТЗ T5: «В бой» → панели расстановки уезжают за края 500 мс с искрами, партия стартует после (лента, шаг 50 мс); через 130 мс после удара клетку жертвы накрывает облако дыма из пиксельных клубов (кадр +280 мс); плотная тень-эллипс под фигурой; клетки — пиксельные плиты с фаской и жилками, заклёпки на кайме; ход подсвечивается светом, взятие — рамкой с прицелом; на «ваш ход» — «дин» и вспышка каймы.
Заставка, обучение с наставником, бой, итоги и кладбище, справка и коллекция — что делаем и в каком порядке (релизы 0.60–0.64): dev-tz-t5.html.
Владельцу не понравился набор 0.61.0 на телефоне («пешка-штык»). Десять наборов с круглоголовой пешкой — отдельная страница dev-pieces.html, общий лист ниже.
Общепринятые силуэты ♔♕♖♗♘♙ (набор Колина Бёрнетта, BSD — те же, что на ch960.com), перенесённые на сетку 24×24 конвейером `gen_pixel_classic.py --set cburnett`: конь мордой влево, как в глифе ♘ (0.61.0), крест короля — пиксельным патчем, корона ферзя — пять зубцов с шариками. Верхние ряды ×2 (как на телефоне), нижние ×6.
Позы коня из того же вектора: покой, настороже, замах, бросок (к морде, влево), возврат, попадание со сколами, оседание.
Иконка приложения 0.61.0: пиксельная пешка игры пиксель в пиксель на чернильном фоне (`tools/gen_app_icon.py`), тот же значок в Play и в логотипе сайта.
Вариант B (утро 24.10, остаётся в генераторе как `--set staunton`): собственный вектор по мотивам Staunton. Владелец выбрал мировые силуэты.
Клетка жертвы крупно, шаг 40 мс, 1,2 с. Пешка — горсть пыли: веер искр по баллистике и кольцо пыли. Конь — удар копыт: две латунные подковы впечатываются с волной земли. Слон — косой свет: аметистовые лучи крест-накрест и нимб звёздочек. Ладья — плита: каменная плита падает с фаской, трещинами и сколами. Король — печать: латунная печать с крестом и восемь золотых лучей. Ферзь — коронованный росчерк (S15). У каждой подписи свой звук.
Первый «Играть» — партия-урок 5×5 на минуту в телефонной раскладке. Плашка у нижнего края меняется по событиям: цель и «нажмите коня» → ходы и взятие → «король — обычная фигура» (король врага в капкане под ударом коня) → «клетка треснула» (обвал со второго раунда). Финал — «В забег». Настоящая партия ядра, второго свода правил нет.
Запись первой партии из живого боя (FirstGameFramesTest, 46 кадров по 120 мс, телефонная раскладка 411 dp): выбор коня → подсветка ходов → взятие пешки с осколками и монетой → ответ врага → шаг пешки. Четыре карточки блока — настоящие кадры: расстановка, подпись взятия ферзя, обвал, кузница.
Семь скриншотов карточки (1080×1920): настоящие экраны приложения, отрисованные в размере телефона тестом PlayStoreScreenshotTest, в рамке с подписью (`tools/gen_store_assets.py`). Те же кадры — на главной странице сайта. Баннер 1024×500 и значок 512 — там же.
Векторный набор владельца (проект 960, `art/pieces/svg`) перенесён на сетку 24×24 генератором `tools/gen_pixel_classic.py`: силуэты те же — король с золотой колокольной короной и крестом, ферзь с зубчатой короной и тремя шарами, башня с коралловым поясом, митра с коралловой прорезью, конь владельца с коралловым глазом, пешка-шар с коралловым кольцом, у всех двухъярусная подставка. Обводка внутрь силуэта, линия раздела между частями, свет сверху-слева; плита подставки — цвет стороны. Верхние ряды ×2 (как на телефоне), нижние ×4.
Доска телефонной ширины (412 точек) с обеими армиями: светлая армия — костяное тело в тёмной обводке, тёмная — тёмное тело в коралловой; плита подставки золотая против багряной.
Позы коня получены поворотом головы вокруг основания шеи прямо в векторе, до растеризации: покой → настороже → замах (голова назад, присел) → удар (морда к краю клетки) → возврат с недолётом. Гибель: попадание (голова отброшена, сколы по контуру) → оседание (голова ушла вниз, верх клетки пуст — этот кадр режется на осколки). Остальные фигуры — модели деформации, как прежде.
Обвал крупным планом (3×3 клетки, шаг 50 мс, 2,0 с): предупреждение — золотая рамка и тление → трещины раскаляются (оранжевый → коралл) → РАСКОЛ: вспышка бездны (костяное ядро, зарево золото/коралл, 260 мс), два кольца ударной волны (золото и коралл, 450 мс с шагом 120), плиты и фигура падают в провал, фонтан угольков веером вверх с хвостами (золото → коралл → гранат, 950 мс), клубы дыма поднимаются и тают (1,1 с), остаётся дыра с дымком. Описание фигуры/клетки во время обвала закрывается «×».
Подпись взятия ферзём (клетка жертвы крупно, шаг 40 мс, 1,2 с): общая сцена взятия (вжатие в страхе, hit-кадр, осколки, «+$») плюс росчерк ферзя — клетка вспыхивает королевским пурпуром 120 мс, по жертве проходит латунный полумесяц с костяным ядром 160 мс, четыре золотые звёздочки по очереди, над осколками поднимается и тает пиксельная корона 0,5 с; звук — вжух лезвия с шиммером. Остальные фигуры — следующие версии.
Экран телефона 412×732, шаг 100 мс. Явление босса ~7,9 с: тьма в тему босса 0,5 с → пустая сцена 0,6 с → ПОЯВЛЕНИЕ 3,2 с (у каждого из восьми своё) → вспышка раскрытия 0,35 с с частицами и аберрацией → портрет уменьшается к верху → имя и титул за 70 мс с линией и ромбом, 2,3 с → карточка способности. Ниже — Отречённый (рой → силуэт → трещина → взрыв) и Пожиратель (пузыри → свечение → точка → приманка → рыба); ленты всех восьми — в docs/audit/anim/s8_intro_*.
Способность видимо: на расстановке перед Отречённым пять проклятых клеток проступают по одной каждые 200 мс (тёмно-бурый → чёрный → кольцо с крестом), по краям — полосы аберрации. Цели — из ядра, совпадают с фактом старта партии.
Босс в бою и поражение: на ход врага портрет вспыхивает красным 0,6 с; при победе умирает по характеру (гаснет и втягивается / улетает вверх / растворяется). Поражение у босса: кровавый узор 0,6 с, босс со «вторым выражением», титул падает сверху через 1,2 с, панель раскрывается из полосы, плашки каскадом.
Экран телефона 412×732, шаг 50 мс, первые 2,3 с сцены жетона гамбитов — вместо автомата с кружочками. Наковальня и пешка-кузнец поднимаются (0,3 с) → удары молота: обычный — 2, легендарный — 4 (0,55–1,5 с), на каждом вспышка на заготовке, веер искр (кость / золото / цвет редкости), дрожь сцены, у легендарного — кольца ударной волны → заготовка раскаляется в цвет редкости → 1,75 с всплывает к центру, кузница гаснет → 2,1 с титул редкости, сетка и лучи; дальше — прежняя развязка (белый силуэт, падение, вспышка, лучи, портреты) на 1,2 с раньше.
Знак провала вместо огня: над своей фигурой на треснувшей клетке два красных шеврона вниз едут конвейером (4 кадра по 140 мс) к голове фигуры; клетка тлеет как раньше. В игре фигура ещё вжата в страхе и в первый момент над ней бирка «уводите!».
Экран телефона 412×732, шаг 50 мс, 2,1 с. Сцена после победы в партии 4 стадии 1: 0–0,32 с выигранный узел заливается латунью, галочка выскакивает с перелётом, искры → 0,6 с пешка-герой прыгает по дуге на узел босса (0,52 с) → посадка: сплющивание, заливка, искры → портрет босса просыпается из призрачного силуэта за 0,6 с → 0,8 с хвост. Будущие стадии — тусклые узлы с номерами, босс будущей стадии — «???». Камера ведёт героя; в игре по пройденной дорожке бежит огонёк, пешка дышит (в ленте не видно — бесконечный цикл).
Экран телефона 412×732, шаг 50 мс, 2,6 с. Пешка-талисман падает сверху за 260 мс (эталон: 4 кадра) и приземляется со сплющиванием и пылью → 1,0 с ВСПЫШКА белым: обложка, угольки и скрим окрашиваются за 300 мс, из титула бьют искры, стартует музыка → буквы VIRURO влетают по одной (шаг 60 мс, 1,7 → 1 с перелётом) → 1,55 блик по латуни → 1,75 «Играть» пружиной 0,4 → 1,1 → 1 → 2,0 подзаголовок снизу. Эталон: NOTES §55, полосы boot_assemble / boot_pawn (пешка падает, стоит 0,8 с, вспышка-сборка за кадр, «играть» из точки 250 мс, ряд кнопок снизу 150 мс).
Крупный план 3×3, шаг 70 мс, цикл дыхания 1,6 с. Клетка перед обвалом: красный тон с пульсом, тлеющая жила по контуру, жаркие трещины (свечение → уголь → тёмная щель), белый дымок вверх, угольки из щелей, выкрошенные края, дрожь ±0,35 dp. Огонь над своей фигурой — язычок с боковым отростком и искрами, 4 кадра по 120 мс (эталон NOTES §10: красная заливка с дымком + жёлто-оранжевый язычок). Тап по фигуре — строка «горит под ногами…» и «подробнее».
То же на доске боя (сцена s3_fire, 8 кадров): своя пешка на треснувшей клетке в углу.
Экран телефона 412×732, шаг 100 мс, 8,7 с. Сцена одна для всех редкостей до капсулы (капсулы в стекле — четыре цвета редкостей). 2,6 с капсула цвета редкости → 3,30 заголовок выскакивает за 130 мс с перелётом (легендарный — золото с белой обводкой, крупнее) → 3,40 в тот же кадр загораются веер лучей, сетка и корпус автомата → 4,5 блик по капсуле → 4,8 конфетти-дождь → 6,7 тост «Новый гамбит в коллекции!»: портрет в цепях → белая вспышка разрыва 7,03 → портрет 7,37 → лучи, портреты, фанфара на окраске. Эталон: полосы rar5_capsule / rar5_full (NOTES §50).
Та же сцена для обычной редкости: капсула и лучи песочного цвета, конфетти редкое — с выстрела портретов. У каждого портрета значок ⓘ «подробнее»: лист с правилом, «как работает», примером и плашками терминов. Остальные редкости — ленты docs/audit/anim/s10_gacha_rare / s10_gacha_epic.
Экран телефона 412×732, шаг 50 мс от «стоп!». Тот же автомат, что на старте: взрыв искр и ореол, барабаны встают 100 / 300 / 550 мс, сцена дважды мигает (600 и 700 мс), из барабанов вырастает белый силуэт выпавшей фигуры с «взять», к 1,5 с окрашивается. Планка эталона NOTES §49.А.
Шаг 100 мс, 8,7 с. Автомат выезжает снизу → шевроны бегут → стекло вспыхивает → сцена гаснет → капсула выпрыгивает в лоток и катится к центру → редкость капсом → капсула белеет, падает и сплющивается → вспышка → луч вверх → V-лучи → «выберите гамбит» → три портрета выстреливают белыми силуэтами → цвет. Планка NOTES §49.Б.
Шаг 100 мс. Панель вырастает из угла → световые ёлочки по сетке → лотки → пеги → ползунок-маятник (период 2,4 с) → «запуск» пружиной. Запуск: шарик из позиции маятника скачет по пяти рядам пегов с кольцами, садится в лоток → панель гаснет → белый квадрат из точки → карточка клетки сама → «взять» → экран «выберите клетку для замены». Планка NOTES §49.В.
Экран телефона 412×732, шаг 100 мс. Панель раскрывается из вертикальной полосы (370 мс), по периметру кольцо лампочек и бегущая световая дорожка (оборот 1,5 с), барабаны падают по одному с шагом 260 мс, крутятся — другая фигура каждый кадр — и на 2,7 с пружиной выпрыгивает «стоп!». Планка эталона NOTES §42.
Шаг 50 мс. Взрыв искр на весь экран и лучистый ореол за панелью, барабаны встают 100 / 300 / 550 мс с белой вспышкой выпавшей фигуры, 1,5 с любования, анти-замах до 1,08 и схлопывание в точку за 250 мс.
Шаг 100 мс, 8,6 с. Пауза 1,2 с на пустой сцене → доска слетается ДВУМЯ РОЯМИ с маркером-скобкой по зоне высадки → титул этапа → пустой столб света 850 мс → боковые панели → три стартовые фигуры спускаются чёрными силуэтами (центральная первой, две вместе), белая вспышка, цвет → столбы и силуэты врагов, столбы гаснут снизу вверх, окраска → HUD по частям.
Экран телефона 412×732, шаг 250 мс. Обложка медленно наезжает (наезд туда-обратно за 14 с), над ней снизу вверх плывут угольки; за 2 с меняется больше 5% пикселей — планка «живой фон» эталона. Выключается тумблером «живой фон» и режимом «меньше движения».
Широкое окно 1280×800, живая запись из тестовой сборки. Три колонки эталона: слева сток с лимитом доски и «улучшить», в центре доска следующей партии (формация врага силуэтами, две нижние линии — высадка; фигуры ставятся перетаскиванием из стока или тапом), справа карточки, жетоны, полка гамбитов и зелёная «далее». На записи — сброс оффера: карточки выскакивают по одной с шагом 90 мс с перелётом.
Живая запись, шаг 40 мс. Вход в режим обвала (или последняя своя фигура под ударом): по всему периметру экрана за 300 мс загорается красная кайма, дальше она медленно пульсирует; в обвале поверх летит пепел снизу вверх. Центр экрана остаётся тёмным — доска читается. Один приём на два смысла, как у эталона.
Своя пешка стоит на треснувшей клетке, которая провалится следующим тиком обвала: вместо «!» над ней горит огонь — четыре кадра по 120 мс, языки качаются. Кадры сняты на спокойной доске (сбор доски уже прошёл), шаг 120 мс.
Живая запись из тестовой сборки, шаг 20 мс. Любой клик по кнопке — щелчок одного семейства (45 мс, 1.5 кГц, как у эталона). Крупные кнопки — «вперёд», «пропуск», «получить», «далее», «играть» — по нажатию выстреливают веером из 14 жёлтых искр: разлёт вверх, тяготение, угасание за 200 мс. Искры рисуются поверх кнопки и не зависят от экрана.
Магазин, колесо, итоги и конец забега больше не растворяются друг в друге: новая панель въезжает снизу за 300 мс с отскоком (синяя — старый экран, золотая — новый), старая уходит вниз за 200 мс, фон стоит на месте. Ни одного полупрозрачного кадра — это проверяет тест. Звук: вжух на старте движения, глухой стук на посадке. Расстановка и бой меняются катом — у них свои сцены (приход из магазина, въезд панели действий через 1.1 с после «вперёд»).
Живая запись из тестовой сборки, экран телефона 412×732, шаг 100 мс. Порядок как у эталона: доска вырастает из масштаба превью (0–1 с), по колонкам врагов зажигаются столбы света и фигуры опускаются в них на свои клетки (1.3–2.4 с, колонки с разбегом 150 мс), титул «Этап · Партия» на тёмной плашке (2.2–4.4 с), панель расстановки въезжает снизу с отскоком (4.2–4.5 с). Вся сцена 4.5 с, у эталона 5.5 с. Тап — перемотка на финал.
Пауза перед ходом врага теперь 1.1 с, как у эталона (было 0.28 с). Последние 300 мс паузы весь экран, включая фон, уходит в чёрно-белое; цвет возвращается вместе с прыжком фигуры. Кадры 0–16 — цвет, 17–23 — серое, 24 — цвет вернулся. После посадки вражеской фигуры над каждой своей под ударом загорается красный «!» со звоном, а ходившая последней вражеская фигура обведена скобкой.
Три провалившиеся клетки на доске. 0.6–3.6 с — конфетти четырёх цветов палитры по баллистике; 3.2–4.0 с — плиты трёх дыр возвращаются по одной (шаг 130 мс, обратный трек обвала); 4.2 с — панель итогов въезжает снизу; далее строки появляются по одной с шагом 250 мс — «награда за победу», «заработано в бою · взято N», «процент на казну» — и кнопка «получить» выходит пружиной. Ни одна фаза не требует нажатия; тап — перемотка к заполненной панели. Числа строк — из разбивки ядра, сумма равна казне.
Снято из живого боя, ширина телефона 412 точек. Раньше тап по вражескому королю давал только имя и строку о ходе — красный маркер свойства горел, а что он значит, прочитать было негде. Теперь плашка договаривает: «Арьергард — нельзя взять, пока не останется последним врагом; обвал берёт всегда». Цвет строки говорит о её природе: гранат — свойство врага, синий/зелёный — статус, цвет клетки — клетка под фигурой.
Та же плашка у своей ладьи: ход на месте, ниже — ЗАЩИЩЕНА синим, ровно тем же текстом и цветом, что в карточке по долгому нажатию. Двух наборов текстов в игре нет.
Тап по пустой клетке с модификатором открывает её имя и действие: «Алтарь — благословляет фигуру, зашедшую на клетку». Обычная пустая клетка по тапу по-прежнему молчит, чтобы плашка не мигала на каждом промахе — её разбор остаётся на долгом нажатии.
Контроль: у простого вражеского коня плашка ровно прежняя — имя и строка о ходе, две строки. Свойства показываются только когда они есть, и не больше трёх строк: полный перечень всегда доступен долгим нажатием.
Сетка 48×48 — ровно два спрайта фигуры, поэтому пиксель босса равен пикселю пешки, а сам он вчетверо крупнее. Слева направо, сверху вниз: Арбитр (коромысло весов, лицо расколото на светлую и глухую половины), Затворник (пустота под капюшоном и кладка вместо плеч), Пожиратель (пасть вырезана в черепе, клыки разной длины), Иллюзионистка (правая половина лица съехала на три пикселя — разбитое отражение), Часовщик (тёмное стекло, стрелки встали крестом поверх глаз), Автоматон (шестерни на висках, вместо глаз щель визора), Вечный (корона из пяти шипов, великий шлем с Т-прорезью), Отречённый (единственный, кто прогорел насквозь). Через одного — на тёмной и светлой подложке.
Масштаб ×2. Здесь и решается, узнаётся ли каждый с одного взгляда, не читая подписи.
Записано из настоящего оверлея боя. Три такта: доска гаснет в чёрное (0,28 с), потом он ИДЁТ из глубины на зрителя 0,9 с — размер обратен расстоянию, поэтому первую половину пути он почти не растёт, а последнюю четверть обрушивается; угли глаз разгораются раньше тела, и поступь трясёт картинку всё сильнее, потому что он ближе. На приходе доску бьёт тряской, и только потом выезжает карточка. Приближается он ступенями целого масштаба — плавное увеличение размыло бы пиксельную сетку. 1,92 с, 48 кадров.
«Вечный» взял фигуру и отнял ход — раньше это было видно только по журналу. Теперь доска гаснет, из темноты на миг проступает его знак и бьёт кольцом по клетке события: резкий фронт, долгое послесвечение. Цвет кольца говорит, ЧТО случилось: кость — приговор Арбитра, коралл — Пожиратель съел фигуру из стока, гранат — Вечный отнял ход, синь — у Часовщика спал стазис. 1,76 с, 44 кадра.
Записано из настоящей доски боя. Конь садится на клетку — она проседает под ним, и от неё кольцом расходится волна: соседи вздрагивают позже и слабее, дальние — едва. Задержка ровно по расстоянию (70 мс на клетку), сила падает по экспоненте. 1,05 с, 35 кадров.
Удар сбивает доску с места и ДЕРЖИТ её сдвинутой 90 мс (стоп-кадр), потом доска отыгрывает затухающим звоном вдоль удара. Следом коралловое кольцо волны — взятие бьёт вдвое сильнее хода. Осколки жертвы подлетают и падают ниже клетки, как брошенные камни. 1,32 с, 44 кадра.
Сверху вниз 1–10. В строке одна фигура четырежды: светлая армия на светлой и тёмной клетке, потом тёмная на тех же. Крупно, видна сетка.
Масштаб ×2, ровно как на доске в игре. Здесь и решается, читается ли конь конём.
Записано из НАСТОЯЩЕГО боя, не нарисовано отдельно. Триада по времени: замах 180 мс, бросок 140 мс и заканчивается ровно в момент удара, дальше возврат гасит движение. Всего 1,38 с, 46 кадров.
Покой → настороже → замах → удар → возврат. Замах уводит голову назад, удар выносит морду к краю клетки, возврат гасит движение недолётом.
Покой → попадание → оседание. У попадания голова отброшена, шипы гребня сбиты набок, пасть раскрыта, глаз — щель. Кадр оседания и режется на осколки.
Шесть типов, обе армии, на обеих клетках. Верхние ряды ×2 (как на телефоне), нижние ×4.
Ширина телефона, 412 точек.
Снято из самой игры, а не нарисовано отдельно.