Земский Бизнес - Деньги, телефон, смена дня и ночи
Продолжаем делиться прогрессом по игре - на этот раз много правок в мелочах, которые внезапно оказались совсем не мелочами.
💸 Деньги, сдача и немного логики
Переписали генерацию суммы, которую даёт посетитель. Теперь покупатели приносят более логичные значения: либо "круглые" суммы, которые реально собрать купюрами, либо точную сумму под заказ. Возможно, позже ещё вернемся к этому алгоритму и докрутим его, но пока поживём так.
На кассе появилась отдельная строка с информацией о том, сколько сдачи игрок уже накликал. Эта же информация дублируется в подсказке при наведении на поднос для сдачи. Считать сдачу вручную, с новым алгоритмом, было даже интересно, но всё-таки логичнее, чтобы касса считала её сама - и игрокам будет попроще.
Заказы теперь действительно имеют значение
Научили продавца вычёркивать из списка заказа уже собранные товары. А покупатель, в свою очередь, наконец-то научился понимать, что ему пытаются продать что-то не то, что он заказывал. Да, раньше можно было впарить вообще что угодно - и они бы радостно всё купили.
Теперь, если:
- на подносе есть товары, которых не было в заказе;
- или товар есть в заказе, но его больше, чем нужно,
покупатель сначала попросит убрать лишнее и только потом перейдёт к оплате.
Прокачка механики телефона
Изначально модель телефона была временной заглушкой, без отделённых кнопок. Под неё использовались «невидимые» UI-кнопки в World-space канвасе. Сейчас у телефона полноценная своя модель, поэтому мы полностью переделали взаимодействие: клики и наведения теперь работают через коллайдеры кнопок и IPointerEnter / Exit / Click.
Раз кнопки стали отдельными:
- добавили анимацию при нажатии;
- обводку при наведении мыши.
Телефон по-прежнему активируется закидыванием монетки в монетоприёмник, но раньше эта монетка была абстрактной. Теперь она появляется физически и анимированно «уплывает» внутрь.
Трубка тоже прокачалась - теперь она перемещается к предполагаемому уху и обратно. +5% к иммерсивности, как по мне.
Дополнительно добавил управление с клавиатуры:
- Space / Enter - опустить монетку
- Esc - положить трубку
- Цифры (включая NumPad), * и # - набор номера
- Backspace - удалить последний символ
Думаем, стоит ещё где-нибудь вывести эти подсказки на экран.
Время суток, солнце и луна
Теперь в игре есть время, и к нему привязаны Солнце и Луна. Сейчас время может течь беспрерывно (как на видео), но есть идея сделать более классическую схему: день начинается утром, заканчивается вечером, после чего игроку нужно завершить день, сохраниться и пойти спать.
Свет, материалы и TextMeshPro
С добавлением времени суток сразу стало видно, что не все материалы корректно реагируют на освещение. Самые заметные - 3D-тексты (например, табличка с названием улицы), сделанные через TextMeshPro. По умолчанию там используется Unlit-шейдер, который вообще не зависит от света.
Для названия магазина мы попробовали стандартный tmp-srp-urp-lit, но он отражает свет слишком "пластиково" (особенно заметно на 00:01).
В итоге просто открыли граф шейдера tmp_lit и добавили в него слайдер Smoothness. Теперь можно управлять шероховатостью текста. Чтобы слайдер появился, пришлось убрать кастомный GUI шейдера - разбираться, как добавлять туда свои параметры, пока не хочется.
40 секунд смотрим как меняется время суток 🗿
На этом пока все. Добавить игру в список желаемых можно по ссылке:
Земский Бизнес в Steam