Перейти к содержимому

Sync

В одиночной игре не делает ничего. На сервере — единственный способ показать всем одно и то же число

sync счёт

Одна переменная в одном поле — и её значение уезжает ко всем, кто играет на этой карте.

На сервере карта считается один раз — на нём. Клиенты видят её копию, и в этой копии переменные процессоров пусты: сервер их не рассылает, потому что их сотни и они меняются каждый тик.

Обычно это и не нужно: клиент видит блоки, юнитов и сообщения. Но если сценарий хочет, чтобы клиент прочитал значение — например, дисплей у игрока рисует счёт по переменной процессора, — значение надо разослать явно. Этим и занимается sync.

У каждой переменной свой срок: отправить её можно раз в 50 миллисекунд. Всё, что программа попробует отправить чаще, просто не отправится — без ошибки и без очереди.

sync глобальный флаг
что передаёт любое значение «да» или «нет»
кому всем клиентам процессорам и целям карты
как часто 20 раз в секунду на переменную без ограничений

Флаги — про логику сценария, sync — про то, что видит игрок. Число на дисплее, отсчёт до волны, счёт команды: всё, что клиент читает из переменной процессора, требует рассылки.

Неофициальный проект, с Anuke не связан. Спрайты, шрифты и переводы Mindustry © Anuke, используются по GPL-3.0; Fira Code — по OFL-1.1. Код сайта — GPL-3.0.