Перед запуском игры для реальных игроков крайне важно убедиться, что все задания отображаются корректно, коды принимаются без сбоев, а подсказки приходят вовремя.
Любой автор может протестировать игру в один клик прямо из редактора: кнопка «Тестировать Игру» в верхней панели открывает игру в новой вкладке. Если в черновике есть несохранённые правки, редактор сначала покажет их списком и предложит сохранить — тест показывает то, что лежит на сервере.
Внизу страницы у тестера стоит панель, которой у игрока нет. Все инструменты тестирования живут в ней: раньше они были разбросаны по странице, теперь собраны по вкладкам.
Число у названия вкладки — её счётчик: у «Заданий» это «открыто из всего», у «Шаблонов» — сколько шаблонов разобрано, у «Ошибок js» — сколько разных поломок.
Сверху — инструменты:
Ниже — «Порядок заданий», если у игры больше одной линейки. Выбор линейки сам ничего не применяет: он показывает её схему серыми номерами, отбитую чертой слева, а применится она рестартом — кнопкой «Рестарт с 1-го уровня» или «Рестарт отсюда» на выбранном уровне.
Это не плоский список номеров, а структура игры: последовательные уровни идут вправо через ›, штурмовые ветки висят вниз на общей планке, случайный порядок помечен ?.
Состояние уровня видно по номеру:
| Вид | Что значит |
|---|---|
| залит голубым | уровень, на котором вы сейчас |
| голубая рамка | открыт, но вы не на нём |
| зелёный | пройден |
| пунктир | ещё закрыт |
Под схемой — строка действий. Пока номер не выбран, в ней стоит текущий уровень.
Клик по номеру больше не перезапускает игру. Первый клик только выбирает уровень и показывает, что с ним можно сделать. Повторный клик по уже выбранному номеру — это «Рестарт отсюда»: на телефоне по номеру попадают случайно, а рестарт не отменить.
Оба действия — обычные ссылки, так что адрес уровня можно скопировать и отправить автору.
Менять линейку вправе не всякий тестер: приглашённой команде прыжок по уровням сработает, а выбор линейки молча не применится.
Она показывает, что движок сделал с шаблонами {% match %} на этой странице: какой шаблон, какое значение проверялось, какая ветка сработала и какие были варианты. Вложенные шаблоны сдвинуты вправо — их разбирали только потому, что сработала ветка выше.
Пока ветка выбрана вручную, сверху висит жёлтая плашка: задание показано не так, как его увидит игрок. Снять — кнопкой «вернуть как есть» или повторным кликом по тому же варианту. Подмена живёт до закрытия браузера и видна только вам.
Так проверяется ветка, в которую иначе не попасть: индивидуальное задание для чужой команды, ветка ?, ветка «ответа ещё нет».
Текущее задание в редакторе, не уходя из игры: текст, коды, бонусы, подсказки. Раньше это был свёрнутый блок над заданием — теперь вкладка.
Редактор открывается с админского хоста, и сессия у него своя. Если вы туда ещё не входили, во вкладке будет форма входа, а войти прямо в ней нельзя. Тогда — ссылка «Открыть редактор в новой вкладке», войти там, и вкладка заработает.
Всё, что касается игры целиком — настройки, порядок заданий, номер задания, — правится в редакторе игры: ссылка «Редактор игры» есть на вкладке «Задания».
Её не видно, пока всё в порядке; первая же ошибка в скрипте сама показывает вкладку и разворачивает панель, даже если панель была выключена.
Ловятся ошибки в скриптах заданий, подсказок, бонусов и сквозных бонусов, а также асинхронные — из setTimeout, fetch и async-функций: раньше такие падали молча. Одинаковые складываются в одну запись со счётчиком.
Намеренно не записываются ошибки браузерных расширений и безымянное «Script error.» от чужих доменов — это не ваш код, и в журнале от них только шум.
Нет вкладки — значит, показывать нечего, а не сломалось:
{% match %}.Переключатель «Тестовые контролы» — в меню игры: гамбургер справа вверху, раздел «Настройки», последний переключатель. Он прячет панель, но не насовсем: первая же ошибка скрипта вернёт её и откроет на «Ошибках js».
Чтобы панели не было вовсе — например, для скриншотов или видео, — откройте игру с ?debug_panel=0. Возврат — ?debug_panel=1. Учтите: тогда тестер остаётся совсем без инструментов.
Вы можете приглашать сторонних игроков или целые команды для независимого тестирования:
Панель тестера у приглашённой команды тоже есть — без вкладки «Коды» и без права менять линейку. Рестарт и перемотка времени им доступны, на вкладке «Задания».
Автор игры может подать заявку от лица своей собственной команды и принять её в качестве тестеров. Это позволяет проверить, как игра выглядит на экранах напарников.
Обратите внимание: В этом случае все участники вашей команды получат доступ к игре до её начала. Убедитесь, что члены вашей команды не являются реальными участниками предстоящей игры.