Логическая сеть
Логические сети строятся с использованием красного и зеленого проводов, предоставляя возможность удаленного управления, основанного на передаче управляющего сигнала подключенными к сети передатчиками. Большая часть передатчиков – устройства хранения, которые транслируют информацию по специальному каналу, в зависимости от типа предмета или жидкости, хранящейся в устройстве хранения. Каждая логическая сеть имеет канал на каждый тип предмета и жидкости, а также на 48 дополнительных виртуальных сигналов, которые используются как настраиваемые пользовательские каналы. Так же доступны сигналы типа 'Все', 'Любой' и 'Каждый'.
Применение
Транслируемая информация
Передатчики передают информацию о количестве предметов или жидкости находящихся в них по каналу соответствующего предмета, представленное десятичным числом, или другую информацию, определяемой игроком. Например, цистерна, в которой содержится 1000 единиц нефти, будет передавать в сеть значение 1000 по каналу "нефть".
Каналы отделены друг от друга, благодаря чему через сеть можно одновременно передавать информацию об каждом предмете и жидкости в игре, а так же виртуальные сигналы (цифры 0-9, буквы A-Z, и 9 разных цветов). По всем неиспользуемым каналам передается значение 0.
Если источников информации, использующие один и тот же канал, несколько, то их значения складываются: две цистерны, содержащие 1000 единиц нефти и подключенные к одной сети, по каналу "нефть" передают значение 2000.
Все провода одного цвета, соединенные между собой, функционируют как одна сеть, т.е. сигналы будут распространятся по всем проводам. Например, если два красных провода подключены ко входу комбинатора, то они принимают сигналы друг от друга. Это может привести к обратной связи (смотри ниже арифметический комбинатор), если не принять необходимые меры.
Значения представлены целочисленным знаковым 32 битным числом, т.е. от -2147483648 до 2147483647 включительно, в дополнительном коде. При переполнении, числа оборачиваются, т.е. 2147483647 + 10 станет -2147483639. При вводе числа в комбинатор может показаться, что оно превышает предел 32-битного числа, однако, когда графический интерфейс будет закрыт, число переполнится. [1] (англ.)
Управляемые устройства
Принимаемые сигналы, наиболее часто используются для включения/выключения устройства, сравнения значений между различными каналами или значения канала с константой.
Приемники суммируют все сигналы каждого подключенного провода, причем и красного, и зеленого. Например, если на манипулятор по красному проводу приходит значение 20 по каналу "медные пластины", а по зеленому - 10, то значение сигнала на этом же канале для манипулятора будет равно 30.
Несколько проводов одного цвета будут передавать и суммировать свои сигналы. Для примера, 3 ящика A, B и C, соединенные одной линией (A -> B -> C) зеленым проводом, будут передавать сумму содержимого в ящиках. Однако, если красный провод подключен к ящику A и манипулятору, то манипулятор будет получать информацию о содержимом только ящика A.
Устройства
Каждое устройство, которое может быть подключено к логической сети, имеет иконку в верхнем правом углу информационной панели. Нажав на эту иконку, можно увидеть опции для доступных сетей (примечание: красный или зеленый провод должны быть подключены, иначе будет получено сообщение "не подключено"). Нажав на иконку , устройство может быть подключено к логистической сети, если оно находится в ее зоне действия, что позволяет устанавливать дополнительные условия.
Условия могут устанавливаться по логической (сигналы по красному и зеленому проводам суммируются) и логистической сетям, которые складываются по логическому И.
Ниже представлены устройства, которые могут быть подключены к логической сети.
Иконка | Имя | Возможные выходные сигналы | Возможные опции управления |
---|---|---|---|
Конвейеры | Конвейер отсылает информацию о своем содержимом.
|
Конвейер может быть включен по условию. | |
Манипуляторы | Манипулятор отправляет информацию о взятых предметах.
|
Манипулятор может быть включен по условию. Размер пачки может изменяться управляющим сигналом (настраивается). | |
Фильтрующий манипулятор | То же, что и выше. | В фильтрующем манипуляторе дополнительно могут настраиваться его фильтры: до 5 предметов, сигналы которых имеют положительное значение. | |
Сундуки | Все сундуки отправляют информацию о их содержимом. Логистические сундуки дополнительно отправляю ту же информацию в логистическую сеть. | ||
Сундук запроса | То же, что и выше. | Устанавливаются запрашиваемые предметы из логистической сети. | |
Резервуар | Резервуар отправляет информацию о жидкостях. | ||
Ворота | Ворота посылают сигнал в логическую сеть. | Ворота могут быть открыты по условию. | |
Ж/д светофор | Ж/д светофор отправляет в сеть информацию о своем состоянии. | Ж/д светофор по условию может показывать красный сигнал. | |
Проходной ж/д светофор | То же, что и выше. | ||
Железнодорожная станция | Ж/д станция передает содержимое и идентификатор остановившегося поезда. Количество поездов, идущих к станции, отправляется в логическую сеть. При чтении содержимого поезда, количество жидкостей округляется вниз до ближайшего целого, исключая случай, когда жидкости < 1, тогда число округляется до 1. |
Ж/д станция передает сигналы из логической сети поезду, которые используются в условиях ожидания. Помимо этого сеть может включать и выключать станцию. Максимальное число поездов, способных на движение к станции ("лимит поездов"), можно установить логической сетью. | |
Аккумуляторный блок | Отправляет значение уровня заряда в процентах. | ||
Дронстанция | Отправляет информацию о содержимом логистической сети и/или статистику по дронам. Сигналы статистики по дронам настраиваются. | ||
Бур | Бур отправляет информацию об ожидаемых ресурсах, либо только от этого бура, либо со всего месторождения. | Бур может быть включен по условию. | |
Нефтяная вышка | Отправляет текущих уровень добычи. | Нефтяная вышка может быть включена по условию. | |
Выключатель питания | Выключатель питания может включить электрическую сеть по условию. | ||
Программируемый динамик | Показывает предупреждение и издает звук, основанную на логическом сигнале. Может использоваться для создания простейших мелодий. | ||
Фонарь | Фонарь может быть включен по условию. Если передается цветовой сигнал, то он будет светиться этим цветом. | ||
Насос | Насос может быть включен по условию. | ||
Помпа | Помпа может быть включена по условию. |
Физическая структура сети
Логическая сеть состоит только из тех устройств, которые соединены проводом одного цвета. Провод может быть натянут непосредственно между устройствами или посредством опор ЛЭП. Длина провода ограничена предыдущим подключением.
Важно: каждый установленный провод создает отдельную сеть. К примеру, вполне возможно иметь 4 сети на основе красного провода и 3 на основе зеленого. Если красный и зеленый провод проходят через один и тот же столб ЛЭП или устройство, то они все равно остаются отдельными сетями. Однако, в случае проводов одинакового цвета, провода соединятся и образуют одну сеть. Используйте разные цвета проводов для разделения сетей находящихся в непосредственной близости друг от друга.
- Для соединении сигнальных или силовых проводов, кликните на объект, а после на основание опоры ЛЭП.
- Для демонтажа сигнальных или силовых проводов, поместите провод того же цвета поверх существующего соединения. Демонтированный провод не возвращается.
- Для удаления всех соединений с опоры, нажмите на нее, удерживая Shift. Первый клик уберет все силовые провода, а второй - сигнальные. Демонтированные провода не возвращается.
- При подключении к арифметическому комбинатору или сравнивающему комбинатору, позаботьтесь о том, чтобы подключить провод к правильной стороне входа или выхода. Для этого используйте режим "дополнительной информации" (Alt), показывающий ориентацию комбинатора.
- Наведя курсор на устройство, все подключения подсветятся.
- Наведя курсор на опору ЛЭП, которая является частью логической сети, будут отображены ее сигналы. При наведении курсора, некоторые устройства, такие как комбинаторы, отображают и входные, и выходные сигналы.
Комбинаторы
Комбинаторы совмещают в себе возможности приемников и передатчиков и дают возможность проводить сложные операции в логической сети.
- Постоянный комбинатор способен передавать до 20 значений по любым каналам в сеть, к которой он подключен (на данный момент, нельзя указать на каком канале должен быть сигнал - красном или зеленом, поэтому, в случае необходимости, используйте два комбинатора). Вы можете использовать канал любого предмета и любого виртуального сигнала.
- Примечание: использование двух из 20 слотов для формирования постоянного сигнала на одном и том же канале, равнозначно одному слоту со значением их суммы.
- Арифметический комбинатор выполняет арифметические операции со значениями на входе, а результат по заданному каналу передает на выход. Как входные, так выходные сигналы могут передаваться по любому каналу.
- Подключение: арифметический комбинатор подключается к красной или зеленой логической сети со стороны входа (контакты установлены на корпусе и выглядят как автомобильные свечи зажигания); результат арифметической операции передается по заданному каналу на выход комбинатора (представляет собой провода несколько вынесенные за корпус комбинатора).
- Обратная связь: важно чтобы входная сеть и выходная не были одной и той же сетью. При соединении входа и выхода комбинатора, образуется петля обратной связи. К примеру, прибавляя 1 к значению медных пластин и передавая результат по тому же каналу, в случае соединения входа и выхода, образуется бесконечный цикл (положительная обратная связь), в котором выходное значение быстро растет. Скорость роста значения определяется [[Game-tick/ru||игровым тиком]. Эта особенность комбинаторов вкупе со сравнивающим комбинатором может использоваться для создания электронных часов, ворот и других систем. Более подробно тут: Обучение: Руководство по комбинаторам.
- Сигнал "Каждый": арифметический комбинатор может использовать сигнал "Каждый" на вход и на выход, благодаря которому можно произвести арифметическую операцию сразу над всеми не нулевыми сигналами, а результат передать на выход. Используя сигнал "Каждый" на вход и выход и не изменяющую операцию (такую как прибавление нуля), можно получить эквивалент "однонаправленного" провода: вся информация на входе передается на выход, а обратно - нет.
- Мульти-сеть: арифметический комбинатор может объединять красную и зеленую сети на входе, передавая на выход их сумму.
- Сравнивающий комбинатор во многом похож на арифметический, но в основном предназначен для сравнения значений. По сути, это условный оператор. Особенности подключения, обратной связи и использования сигнала "каждый" аналогичны арифметическому комбинатору. Дополнительно, он может работать с сигналами "Любой" и "Все", позволяющие выполнять более сложные операции, чем объединение сетей. Более подробно тут: Сравнивающий комбинатор.
Виртуальные сигналы
Виртуальные сигналы - это специальные символьные сигналы. За исключением трех логических сигналов, виртуальные сигналы не отличаются от сигналов предметов.
Всего виртуальных сигналов 48: числа от 0 до 9, буквы от A до Z, иконки галочки и инфо, точка, а так же цвета: красный, зеленый, синий, желтый, пурпурный, голубой, белый, серый и черный.
Логические сигналы
Три виртуальных сигнала не являются сигналами в привычном понимании - они представляют собой логические операции над несколькими сигналами.
Все
Сигнал все используется в левой части условия. Условие истинно тогда, когда оно выполняется для всех входных сигналов или на входе нет ничего. Все аналогичен квантору всеобщности.
Когда на входе сравнивающего комбинатора установлен сигнал каждый, на выходе может использоваться сигнал все. При его использовании комбинатор будет выводить сигнал по каждому каналу с ненулевым значением на входе до тех пор, пока выполняется условие; значение будет либо соответствовать входному значению, либо единице, в зависимости от настройки комбинатора.
Любой
Сигнал любой используется в левой части условия. Когда на входе нет ни одного сигнала, любой выдает ложь. Условие истинно, когда оно выполняется по крайней мере для одного сигнала.Любой аналогичен квантору существования.
Каждый
Сигнал каждый может использоваться только в левой части ввода и вывода сравнивающих и арифметических комбинаторов. Он может использоваться на выходе лишь в том случае, когда используется на входе. Когда этот сигнал используется на входе и выходе одновременно, комбинатор обрабатывает каждый входной сигнал в отдельности. В случае, когда каждый используется только на входе, на выход будет передаваться сумма результатов над каждым входным сигналом.
Руководства
- Обучение: Руководство по логической сети - Туториал для начинающих, которые хотят разобраться и начать использовать логические сети.
- Обучение: Руководство по комбинаторам - В основном текстовый, но детальный туториал.
Логистическая сеть
Логистическая сеть используется логистическими роботами, которая является беспроводной третьей сетью, помимо зеленой и красной. Она строится на основе близкорасположенных друг от друга дронстанций.
Некоторые устройства, помимо логической, могут присоединятся и к логистической сети. Если в устройстве установлены условия для логической и логистической сетей, оно будет активировано только при выполнении обоих условий.
Более подробно тут: Логистическая сеть и Дронстанция.
История изменений
- 0.15.0:
- Значительно улучшена производительность логической сети. До 25 раз уменьшена нагрузка на ЦП и на 10% уменьшено потребление оперативной памяти.
- Добавлен программируемый динамик: показывает предупреждение и издает звук, основанную на логическом сигнале. Может использоваться для создания простейших мелодий.
- Ж/д станция выдает содержимое прибывшего поезда.
- Ж/д станция может быть выключена логической сетью. Поезда пропускают выключенные станции, что позволяет управлять поездами.
- Бур может быть включен/выключен сетью. Помимо этого он возвращает количество ожидаемых ресурсов.
- Нефтяная вышка может быть включена/выключена сетью. Возвращает текущий уровень добычи.
- В арифметический комбинатор добавлены операции: остаток от деления, возведение в степень, побитовые сдвиг влево, сдвиг вправо, И, ИЛИ и ИСКЛЮЧАЮЩЕЕ ИЛИ.
- Добавлены дополнительные операции в сравнивающий комбинатор и логические условия.
- 0.13.0:
- Большее количество машин можно подключить к логической сети.
- Провода в объектах-призраках убраны.
- При наведении курсора на провода, они подсвечиваются.
- 0.12.33:
- Теперь, при передаче значения жидкостей в логическую сеть, оно округляется до ближайшего целого, а не вниз.
- 0.12.1:
- Теперь можно скопировать условия логической сети между манипулятором, фонарем, помпой и насосом.
- 0.8.3:
- Слоты сигналов логической сети окрашены в цвет сети.
- 0.1.0:
- Добавлен.