Sync
В одиночной игре не делает ничего. На сервере — единственный способ показать всем одно и то же число
sync счётОдна переменная в одном поле — и её значение уезжает ко всем, кто играет на этой карте.
Зачем это на сервере
Заголовок раздела «Зачем это на сервере»На сервере карта считается один раз — на нём. Клиенты видят её копию, и в этой копии переменные процессоров пусты: сервер их не рассылает, потому что их сотни и они меняются каждый тик.
Обычно это и не нужно: клиент видит блоки, юнитов и сообщения. Но если сценарий хочет,
чтобы клиент прочитал значение — например, дисплей у игрока рисует счёт по переменной
процессора, — значение надо разослать явно. Этим и занимается sync.
Двадцать раз в секунду, не чаще
Заголовок раздела «Двадцать раз в секунду, не чаще»У каждой переменной свой срок: отправить её можно раз в 50 миллисекунд. Всё, что программа попробует отправить чаще, просто не отправится — без ошибки и без очереди.
Что выбрать: sync или флаг
Заголовок раздела «Что выбрать: sync или флаг»sync |
глобальный флаг | |
|---|---|---|
| что передаёт | любое значение | «да» или «нет» |
| кому | всем клиентам | процессорам и целям карты |
| как часто | 20 раз в секунду на переменную | без ограничений |
Флаги — про логику сценария, sync — про то, что видит игрок. Число на дисплее, отсчёт
до волны, счёт команды: всё, что клиент читает из переменной процессора, требует рассылки.
Неофициальный проект, с Anuke не связан. Спрайты, шрифты и переводы Mindustry © Anuke, используются по GPL-3.0; Fira Code — по OFL-1.1. Код сайта — GPL-3.0.