Что такое мировой процессор
Тот же язык, те же блоки — но он умеет менять саму карту, и построить его в обычной игре нельзя
Всё, что было в курсе до сих пор, работает в обычной игре: поставил процессор, написал программу, она крутится. Мировой процессор — другой зверь. Он часть карты, а не постройки на ней.
Две программы, строка в строку одинаковые. Мировой процессор ставит маршрутизатор
на клетку 8 7 — и тот появляется. Обычный делает то же самое на клетке 8 2 —
и не происходит ничего. Ни ошибки, ни сообщения.
Привилегия: что можно только ему
Заголовок раздела «Привилегия: что можно только ему»Двадцать пять инструкций в игре помечены как привилегированные, и обычный процессор их не исполняет. Это они:
| Что умеет | Чем |
|---|---|
| менять карту | setblock, getblock |
| создавать юнитов и пули | spawn, bullet |
| менять правила игры | setrule, spawnwave |
| говорить с игроком | message, cutscene, localeprint |
| рисовать метки на карте | makemarker, setmarker |
| хранить общие данные | setflag, getflag, sync, fetch |
| трогать всё подряд | setprop, status, explosion, effect |
Обычный процессор такую строку соберёт — редактор её примет, и ошибки не будет, — а при выполнении просто пропустит.
Откуда он берётся
Заголовок раздела «Откуда он берётся»В меню строительства мирового процессора нет, и купить его нельзя. Он ставится редактором карт: открываете карту в редакторе, берёте его в списке блоков и ставите.
Отсюда и его место в игре:
- кампания и сценарии. Задания, диалоги, волны по расписанию, скрипты миссий — всё это мировые процессоры на карте;
- свои карты и режимы. Правила, которые нельзя выставить в настройках: своя экономика, свои условия победы;
- сервер. Там карту делает хозяин сервера, и он же кладёт на неё мировые процессоры.
Чем он ещё отличается
Заголовок раздела «Чем он ещё отличается»Скорость. Обычная у него восьмёрка — как у логического процессора, — но
setrate поднимает её до 1000 инструкций за тик.
Ни один обычный процессор так не умеет: их потолок — их собственная скорость.
Дальность. У обычного процессора связи ограничены: микропроцессор дотягивается на десять клеток, гиперпроцессор на сорок две. У мирового ограничений нет — он связывается с любым блоком карты, где бы тот ни стоял.
Невидимость для соседей. Обычный процессор умеет читать переменные соседа — но не у мирового. Тот закрыт: ни прочитать, ни записать. Иначе программа игрока могла бы залезть в сценарий карты и переписать его.
Неофициальный проект, с Anuke не связан. Спрайты, шрифты и переводы Mindustry © Anuke, используются по GPL-3.0; Fira Code — по OFL-1.1. Код сайта — GPL-3.0.