Продолжаю делать свою первую игру «Нулевая станция». Для тех, кто пропустил предыдущие серии: это мистический детектив, в котором игрок общается с девушкой по имени Валерия через обычный мессенджер.
Сценарий написан, четыре акта перенесены в Godot, семь концовок работают. Казалось бы, самое сложное позади. Осталось сделать так, чтобы всё выглядело прилично. Как выяснилось, именно на слове «осталось» я и совершил ошибку.
Интерфейс был простой: тёмный фон, прямоугольные сообщения и большие кнопки с вариантами ответа. Для проверки сюжета годилось, но на настоящий мессенджер походило примерно так же, как Excel на социальную сеть.
Решил исправить. Объяснил ИИ, что хочу современный интерфейс: аккуратные сообщения, красивую шапку контакта, удобные кнопки, приятные цвета. Чтобы человек открыл игру и поверил, что переписывается с живой девушкой.
ИИ бодро сообщил, что всё понял, и выдал код. Заменяю файл, запускаю Godot, смотрю на результат.
Прямоугольные сообщения на месте. Огромные кнопки на месте. Между перепиской и ответами столько пространства, что туда можно переселить половину персонажей.
Зато всё стало фиолетовым.
Спрашиваю у ИИ, считает ли он это современным мессенджером.
— Нет, ты прав. Мы получили старый интерфейс с новыми цветами.
Спасибо. А до запуска сказать было нельзя?
Особенно забавно, что перед этим мне рассказывали про полноценный редизайн, улучшенную визуальную иерархию и современный пользовательский опыт. На экране же было ощущение, что кто-то установил тёмную тему на терминал оплаты коммунальных услуг.
Ладно, думаю, с первого раза не получилось. Бывает. Начали разбираться.
Оказалось, проблема не в цветах. Нужно менять расположение элементов, форму сообщений, нижнюю панель, размеры кнопок и ещё кучу вещей, названия которых я узнал вчера.
И тут выяснилась следующая неприятность: на компьютере интерфейс выглядит нормально, а на телефоне внезапно перестаёт помещаться. Например, у нас есть сцены с шестью вариантами ответа. И если увеличить кнопки, чтобы удобно попадать пальцем, переписка начинает скромно уступать им место.
В какой-то момент мы уже не игру делали, а пытались договориться, сколько пикселей имеет право занимать кнопка.
Но настоящий сюрприз оказался даже не в этом.
В игре история происходит через сообщения. Валерия пишет, игрок отвечает, она реагирует. И если новое сообщение появляется за пределами экрана или кнопки перекрывают последнюю реплику, разговор превращается в издевательство.
Представьте: девушка сообщает, что нашла что-то странное на заброшенной станции. Вы хотите срочно ей ответить, а вместо этого выясняете отношения с полосой прокрутки.
Атмосфера присутствует. Но немного не та, которую я планировал.
Самое интересное, что я не программист. Я понятия не имел, сколько нюансов скрывается за обычной перепиской. Раньше казалось: ну сообщения, ну кнопки, что там делать? Теперь выяснилось, что даже появление пузырька текста можно испортить несколькими способами.
В итоге выработали простую систему. ИИ пишет код и объясняет, что улучшил. Я запускаю игру и смотрю, стало ли лучше. Если нет — возвращаемся к работе.
Иногда это напоминает разговор заказчика с талантливым мастером, который умеет построить космический корабль, но периодически забывает приделать к нему дверь.
При этом начинаю понимать одну вещь: игрок не должен замечать, сколько усилий ушло на интерфейс. Он должен читать сообщения, принимать решения и переживать за Валерию. Всё остальное обязано просто работать.
Так что продолжаем приводить мессенджер в человеческий вид. До окончательного результата далеко, зато я уже лучше понимаю, чего хочу.
А главное — теперь знаю, что фраза «сделай современный интерфейс» требует уточнения.
Особенно если не хочешь получить калькулятор.