Дневник разработки

Короткие честные заметки о сборке «Запертой лавки». Включая то, что не сработало.

Журнал, а не холст

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

Переписали на DOM и CSS. Карточка покупателя, семь кнопок, список товара. На скриншоте скромнее, за клавиатурой — намного лучше.

Приметы, и почему игра не врёт

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

Единственное исключение — оружие. Выстрел — это догадка с ценой, и цена написана на кнопке до нажатия.

Пять языков в статической сборке

Строки игры — плоский каталог ключей, по файлу на язык, с типами по английскому мастеру: пропущенный ключ ломает сборку, а не превращается в пустую кнопку.

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

Полное переименование

В конце сборки проект перестал называться в честь игры, которая его вдохновила. «Запертая лавка», кредиты, Ауг, Служба безопасности, Репутация, Выкуп, Аренда, хозяйка: полный проход по названиям, пять языков, одна миграция сохранений.

Вывод скучный и правильный: правила именования пишут до первой строки, а не после четырёхсотой.