Что значит уязвим mindustry

Юниты Mindustry — Полный гайд

На данный момент Mindustry претерпела множество изменений, в частности с юнито-строением. Многие игроки уже привыкли к тому, что для каждые юниты Mindustry деалются на отдельном заводе. Однако теперь всё куда сложнее, но интереснее.
Некоторым система уровней покажется сложноватой, и наша задача рассказать вам об этом всё, чтобы не возникало никаких вопросов.
В этой статье вы узнаете:

Заводы для производства юнитов

1. Фабрики производства

Существует 3 вида фабрик: наземная, воздушная и морская.
Производят боевые единицы 1 уровня. У них есть выход, показанный стрелками, и вы можете менять их направление. А именно пускать сразу в бой, либо направить на модификацию в реконструкторы.
Затраты вы сможете посмотреть в игре, там всё ясно показано и вопросов возникнуть не должно.

2. Реконструкторы

Каждый из них повышает уровень вашего боевого юнита. Собственно, чем больше реконструктор, тем выше уровень и ресурсов тоже нужно больше. К слову на последнем 5 уровне для наземной техники требуется: 1000 кремния, 600 пластана, 500 кинетического сплава, 350 фазавой ткани и 180/сек криогенной жидкости. Для всех этих ресурсов у нас на сайте есть нужные заводы:

3. Командный центр

Необходимая вещь для управления бойцами. Имеет 3 режима:

Характеристика боевых единиц

Юниты Mindustry делятся на 3 категории: Наземные, воздушные и водные.
Начнём с наземных войск.
Всего их имеется 3 вида: Кинжал, Нова и Ползун. Рассмотрим их и улучшения по уровням.

«> Юнит «> Здоровье «> Броня «> Скорость «> Урон
«> Кинжал «> 140 «> 0 «> Медленная «> 9
«> Булава «> 500 «> 4 «> Медленная «> 30+поджог
«> Крепость «> 800 «> 9 «> Очень медленная «> 8+54 по площади
«> Скипетр «> 9000 «> 10 «> Очень медленная «> 45+19 молнией
«> Власть «> 24000 «> 14 «> Очень медленная «> 65+16 по площади

Довольно хрупкие юниты Mindustry если пускать их в бой одних. Но сила не в этом. Они способны ремонтировать здания и тем самым не дать противнику разбить вашу базу. Рекомендуется сделать хотя бы парочку таких товарищей, поверьте — они вам ой как помогут. 🙂

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

Теперь можно перейти и к воздушной технике. Ваши охранники неба. 🙂
Имеется 2 вида: Вспышка и Моно, также присутствует Альфа, но я не представляю как их можно использовать.

Данный вид очень хорош своими самонаводящимися снарядами. Конечно на 1 уровнях никакого толку нет, только высокая скорость для перетаскивания предметов под процессорами, но это такое (не люблю программирование).

Т.к все эти юниты Mindustry вспомогательные, то нужно рассказать про каждого в отдельности:

Морская техника. Или же ваш флот. Всего один тип — Риссо.

Большинство способно выпустить множество снарядов за раз. Отличается от всех только последний 5 уровень с рельсотроном. Выпускает его всего 1 раз в 2 секунды, но урон просто огромный, даже я бы сказал колоссальный. Мигом стирает малышей воителей.

Советы по использованию и управлению юнитами

На этом всё, если у вас есть что внести в эту статью — пишите в комментарии. А я устал, пойду кушать. 🙂

Источник

Mindustry гайд по строительству и прохождению игры

Это руководство предназначено для новичков в Mindustry, которые нуждаются в некоторой помощи. Я попытался сделать этот гайд полезным, но в тоже время, не делать здесь никаких спойлеров.

Как работает ядро в Mindustry

Этот раздел обсудит вашу основную структуру — ядро. На протяжении всей игры вы будете отправлять себя и свое ядро ​​в разные игровые области. В некоторых областях есть небольшие осколки, в то время как в других будут части среднего размера. Ядро используется для хранения материалов для последующего использования или для того, чтобы тратить их на дерево технологий. Каждый кусок имеет различную вместимость. Например, осколки содержат 4 КБ каждого материала, фундаменты содержат 9 КБ, а целые содержат 14 КБ. Если ваше ядро ​​будет уничтожено врагами, вы не пройдете уровень.

Использование

Ваше ядро ​​используется в качестве основного концентратора, вы можете помещать материалы в него или извлекать их. Любые материалы, оставшиеся внутри при запуске, будут перенесены в ваше хранилище материалов, чтобы их можно было потратить на ваше дерево технологий. Или они будут запущены в области, где вы сможете начать работу.

Защита

Очень важно уметь защитить свое ядро. Большинство уровней начнутся с слабой защитой вокруг, в то время как другие будут с сильной или вообще без нее. В любом случае, вы не хотите, чтобы ваше главное сооружение ​​было разрушено. Если оно будет уничтожено, вы потеряете все материалы в нем, а также все здания на карте и, таким образом, не пройдете уровень. Иногда, если у вас достаточно общей защиты, основная защита может не понадобиться. Но всегда полезно иметь немного в качестве меры предосторожности

Гайд по обороне

Оборонительные сооружения — это одна из главных особенностей Mindustry. Вы будете строить стены и башни для защиты от постоянной угрозы врага, по мере того, как волны будут прогрессировать и становиться все труднее. Ваша защита должна становиться больше и сильнее все время. Изначально вы начинаете с небольших двойных башен, а затем вы может получить сооружения, которые стреляют массивным лазерным лучом по врагам.

Стены

Стены полезны для удержания врагов на месте или создания сложных лабиринтов для прохождения врагов. Они почти необходимы для любой успешной защиты. Вообще, в Mindustry есть несколько уровней стен, но все они служат одной и той же цели. Некоторые стены будут более долговечными, а некоторые, например, будут отбивать пули.

Турели

Как правильно защищаться

В большинстве случаев будет полезнее всего выделить определенную область для защиты. Обычно лучшая область находится где-то рядом со спауном противника, но не слишком близко. Вы также можете блокировать маршруты используя стены, чтобы у врагов был только один путь.

Конечно, защиты бывают разных форм и размеров, и большую часть времени вам придется приспосабливаться к ситуации на карте. Поэтому обязательно поэкспериментируйте, чтобы увидеть, что работает лучше всего.

Враги в Mindustry

Враги — это роботы, которые пытаются уничтожить ваше ядро. Они бывают разных форм и размеров, некоторые из них оснащены лазерами, другие взрываются при ударе, но слабы и не имеют дальной атаки.

Как двигаются враги

Слабые стороны

У большинства роботов есть свои сильные и слабые стороны. НАпример, вода + электричество = урон. Если вы используете волновые башни с водой, а затем положите рядом несколько электрических, то мокрые враги получат дополнительный урон от дуг электричества.

Боссы

Боссы — невероятно сильные враги, которые наносят кучу урона и имеют много здоровья. Но на начале игры вы можете о них не беспокоиться — их там нет. А с самыми первыми боссами вам поможет защита, состоящая из десятков турелей.

Питание

Питание — важная часть Mindustry, поскольку большинству фабрик требуется мощность для производства чего-либо. А некоторым башням нужно питание для стрельбы. Существует несколько способов получения энергии: от простых солнечных батарей до сложных ториевых реакторов. Как правило, чем сложнее или дороже, тем больше вырабатывается электроэнергии.

Батареи

Батареи полезны для хранения энергии от солнечных батарей или любых других реакторов. А также их можно использовать для создания сильного взрыва, если они будут полностью заряжены, а затем разрушены. Обычно батареи полезны в ранней игре, когда у вас очень мало способов вырабатывать энергию, но они не всегда надежны.

Узлы питания

Узлы питания — это ваш способ передачи энергии из одной точки в другую. Если вы нажмете на них, вы сможете изменить соединения удалив либо добавив их. Они используют лазеры для передачи энергии от одного к другому, поэтому вы можете спокойной окружить их стенами для защиты.

Другие мелкие детали, секреты и советы

Под конец нашего руководства мы хотим обратить ваше внимание на следующие полезные вещи:

По сути, наш гайд по Mindustry покрыл все основные моменты игры, которые понадобятся, в первую очередь, новичкам. Здесь мы рассказали как играть и правильно строится, а также дали рекомендации по строительству. Если вам есть что добавить, то пишите в комментариях ниже.

Источник

Логика

Содержание

Программы [ ]

Программы это основа работы логики в Mindustry. Программа выполняется процессором, и хранится в нем, сохраняется с ним при сохранении схемы. Программы в логике Mindustry пишутся на специально созданном Anuke скриптовом языке mlog. В Mindustry доступно два способа создания программ: визуальный во встроенном редакторе и текстовый, в блокноте. Первый отлично подходит для обучения процессу и позволяет выбирать типы блоков, юнитов и параметров из красивого списка, получить к нему доступ можно кликнув на процессор, способ годен для быстрого написания небольших программ. Второй способ позволит вам написать очень большую, сложную и запутанную программу, скопировать и вставить в процессор, или поделится ей на форуме, чтобы обсудить с другими игроками. Структура программы в Mindustry напоминает BASIC или ассемблер, операции выполняются сверху вниз, одна за другой, пока не достигнут конца. Чтобы прерывать и изменять выполнение программы используются операции условного и безусловного перехода. Как гласит официальное руководство Mindustry, чтобы начать написание своих программ в игре вам было бы неплохо иметь некоторый опыт в программировании, как минимум теоретический, чтобы разобраться в основах языка mlog, но гораздо важнее если у вас есть «терпение и открытый ум» потому что многие вещи могут показаться пугающими и сложными, пока вы их не попробуете, и потому что придется многое менять и испытывать снова и снова при создании программы.

Тип Данных [ ]

В Mindustry есть два основных типа данных: Числа и Объекты.

Number [ ]

Десятичное число. Может быть отрицательным или положительным и может представлять истинные (все, что не равно 0) или ложные (0) значения. Null также представляется как 0.
Некоторые инструкции могут принимать только целые числа, поэтому в данном руководстве они указаны соответствующим образом.
Внутри процессора числа хранятся в виде 64-разрядных значений с плавающей запятой ( double ), операции над ними производятся как над 64-битными целыми числами со знаком (long) когда задействован битшифтинг.

String [ ]

Строка, объект, представляющий собой текст, заключенный в апострофы, например «hello mindustry»

Building [ ]

Типы параметров [ ]

Они похожи на типы данных, но работают только как параметры для инструкций и н

е возвращаются никакими инструкциями.

BuildingType [ ]

UnitType [ ]

Сенсор может считать в переменную различные параметры указанного Здания или Юнита, например его координаты, здоровье, содержимое.

При обработке кода игра сама подставит в jump нужный номер строки. должна иметь уникальное название для правильной работы. К сожалению, в визуальном редакторе данная инструкция никак не отображается и не может быть создана (актуально для 131), но значительно облегчает написание программ в текстовом редакторе. Работающий пример кода:

set red 0
set green 0
set blue 0
sensor sw1 switch1 @enabled
sensor sw2 switch2 @enabled
sensor sw3 switch3 @enabled
jump redfull equal sw1 1
set red 0
jump nextgreen always x false
redfull:
set red 255
nextgreen:
jump greenfull equal sw2 1
set green 0
jump nextblue always x false
greenfull:
set green 255
nextblue:
jump bluefull equal sw3 1
set blue 0
jump drawall always x false
bluefull:
set blue 255
drawall:
draw clear red green blue 0 0 0
drawflush display1
end

Для проверки постройте и соедините три кнопки, процессор и дисплей.

Переменные и константы mlog [ ]

Для тех кто уже владеет теорией программирования: Mlog использует автоматическое приведение типов переменных, наследуя его из Java. Переменной может быть присвоено числовое значение, строка, указатель на экземпляр объекта ( Building ). Переменная доступна только в том процессоре, в программе которого она применена, и ее значение недоступно в других процессорах, несмотря на то, что в их программах могут быть переменные с таким же именем, все они будут иметь различные значения. Переменная может быть объявлена в любой инструкции или инструкцией «set».

Для тех кто только начал интересоваться программированием. Mlog как и многие другие языки программирования использует переменные для того чтобы хранить данные программы, выполнять над ними операции. Переменная это ячейка памяти процессора которой присвоено удобное для чтения и запоминания имя. В Mlog в переменных может хранится практически любая информация: десятичные числа, логические значения, и даже ссылка на экземпляр объекта, которую можно считать к примеру инструкцией «get link»

В переменную сохранилось имя блока, который первым присоединен к процессору

Создавая свои программы, придется использовать переменные каждый раз, они основной способ переносить данные внутри программы между инструкциями, и из-за этого у начинающих программистов, переходящих от простых программ к более сложным часто возникает путаница в названиях переменных. Для того чтобы облегчить себе жизнь переменным надо давать названия, которые позволят 1. легко их запоминать, 2. легко понимать, что же в этой переменной хранится. Например хорошим вариантом будет использовать так называемый » camelCase «, чье название и написание говорит само за себя. Следует выбирать максимально короткие, чтобы уместить в окне редактора, но максимально емкие слова, которые будут отличать вашу переменную от всего остального кода. Например для того чтобы сохранить координаты игрока можно выбрать переменные x и y, но если используются так же координаты других объектов, причем одновременно с координатами игрока, то называть последующие переменные x2, y2, x3. очень плохая идея. Написав код в пятницу и уехав на выходные, в понедельник вы обнаружите с удивлением, что не очень хорошо помните, каким объектам в какой момент времени они принадлежат. Правильным выбором будет выбрать что то вроде playerX,playerY, coreXcoord, targetY.

Последний тип констант это ссылки на подключенные к процессору объекты. Как правило это название блока и цифра без пробелов. Ссылку можно получить командой «get link» или посмотреть выбрав процессор ( message2 и wall1 на рисунке выше)

Примеры программ: от простого к тоже простому. [ ]

Для того, чтобы понять как работает логика в Mindustry нет лучше ничего, чем попробовать написать программу самому. Особенно хорошо, когда есть пример, который точно работает и от которого можно оттолкнуться. Множество простых, сложных, полезных и бессмысленных, а так же просто занятных примеров копится в ветке дискорда Mindustry #schematics, именно там вы скорее найдете полезные для себя образцы программ, чем в #logic, ибо в ней токсичные знатоки и не менее токсичные незнайки не хотят отвечать на вопросы новичков. Собственно говоря данный раздел написан благодаря вдохновению множества авторов и за что им огромное спасибо! (CC-BY-SA, не забываем).

Здесь же я приведу пару программ которые можно выдумать на ходу, и которые покажут для чего же всё таки нужна в Mindustry логика и как ей пользоваться.

Программа 1. Бомбовый ковер [ ]

Вы могли заметить, что почти каждая турель способна вести огонь чуть дальше, чем ее заявленная прицельная дальность. И чтобы разнести что либо за пределами прицельного круга приходится брать ручное управление. Но гораздо веселее, если несколько турелей будут палить туда куда надо, пока вы заняты другими делами, например в кампании. На помощь может прийти самая простая программа:

(дальше я буду приводить программы в текстовом виде, можете скопировать их, вставить в свой процессор и попробовать в игре)

radar enemy flying any distance ripple1 1 enemyFly

sensor targetX enemyFly @x

sensor targetY enemyFly @y

jump 6 equal targetX 0

control shoot scatter1 targetX targetY shootFlag 0

jump 0 always x false

Программа 2. Юнит лунатик, доставщик, разведчик. [ ]

Процессор может контролировать юнитов, юниты будут делать то, что не стали бы иначе. Например бесцельно блуждать по карте.

Заставим летучий юнит блуждать по карте без цели и плана, потому что мы можем!

ucontrol flag k 0 0 0 0

op rand driftX 150 b

op rand driftY 150 b

op idiv driftX driftX 1

op idiv driftY driftY 1

ucontrol move driftX driftY 0 0 0

ucontrol within driftX driftY 5 reached 0

jump 7 equal reached false

jump 3 always x false

Наблюдать за метаниями маленькой вспышки очень весело первые минуты две, потом всё же хочется, чтобы она занималась полезным делом. Поддержим моду и сделаем из нее курьера. Представим ситуацию, когда у вас есть удачная группа заводов и нет мотивации тянуть от нее конвеер к ядру. Или вы в компании еще не добрались до тория и катапульты. Или оно вообще на острове. Построим контейнер, процессор, пару вспышек и пусть поработают.

ucontrol flag k 0 0 0 0

sensor sourceX container1 @x

sensor sourceY container1 @y

ulocate building core false @copper coreX coreY found bCore

sensor unitPayload @unit @totalItems

jump 11 equal unitPayload 0

ucontrol move coreX coreY 0 0 0

ucontrol itemDrop bCore 1000 0 0 0

jump 6 always x false

ucontrol move sourceX sourceY 0 0 0

ucontrol itemTake container1 @titanium 1000 0 0

jump 6 always x false

В такую программу можно добавить проверку здоровья юнита, присвоенной метки и сделать ее полностью автоматической, собственно говоря ребята с дискорд уже это сделали и можно просто воспользоваться их схемой, если дочитав до здесь вы поняли, что программирование это совершенно не ваше☺

sensor deadDead @unit @dead

jump 0 strictEqual deadDead null

jump 0 strictEqual deadDead 1

ulocate building storage true @copper targetX targetY foundOr enemyBuilding

ucontrol flag 666 targetY 0 0 0

ucontrol move targetX targetY 0 0 0

ucontrol getBlock targetX targetY 0 target 0

sensor copperEn target @copper

sensor leadEn target @lead

sensor metaglassEn target @metaglass

sensor graphiteEn target @graphite

print «[#b87333] Copper «

print «[#caffff] Metaglass «

print «[#b2c0d2] Graphite «

jump 1 always x false

Стоит так же уделить пару слов проверке на @dead и выводу цветных строчек в сообщение.

Для вывода текста в сообщения (да в общем то при выводе графики на экран принцип тот же) используются две команды «print» и «print flush». Первая накладывает текст в буфер вывода, наполняя его, каждая последующая команда уложит свою строчку в конец предыдущей. «print» понимает управляющий символ \n и код цвета, как в html, то есть RGB код в HEX-виде: [#FF00AA]. Текст будет выделен этим цветом до следующей смены цвета.

Если вы пробуете эту программу у себя в игре и у вас в сообщении ничего не меняется, все четыре строчки показывают null, значит «вспышка не может «дотянутся» до хранилища или ядра. Попробуйте вместо нее юнит по мощнее или выберите ей другую цель.

Программа 3. Управление производством с цветными штуками [ ]

Для начала просто взорвем реактор. Если присмотреться, это не так уж и просто, жидкости ему надо совсем немного, и если ее перекрыть, то реактор еще 15 секунд будет работать на той жидкости, что внутри до взрыва. Подумаем об этом позже, а пока прикинем как логика сможет подорвать реактор:

sensor switchState switch1 @enabled

control enabled conduit1 switchState 0 0 0

Sensor считывает состояние переключателя и через переменную switchState сообщает его секции трубопровода: выключатель выключен? Труба тоже. После выключения реактор бахнет через 15 секунд. Добавим радар для врагов:

control enabled conduit1 1 0 0 0

radar enemy any any distance ripple1 1 enemyAtgate

jump 0 strictEqual enemyAtgate null

control enabled conduit1 0 0 0 0

jump 3 always false false

Если попробовать этот код, то окажется, что враги успеют далеко убежать, пока наша недешевая мина сработает. Сделаем с этим что нибудь, например мы можем отключить реактор прямо перед взрывом, и включить его по сигналу радара. В новых версиях Anuke добавил измерение времени (таймер), можем использовать его, а можем считать количество криогенной жидкости внутри реактора и затормозить его когда останется чучуть. И сюда можно приплести графический дисплей!

sensor crioLevel reactor1 @cryofluid

op div crioDraw crioLevel 30

op mul crioDraw crioDraw 80

draw clear 0 0 0 0 0 0

draw color 0 0 255 255 0 0

draw rect 0 0 80 crioDraw 0 0

jump 0 greaterThanEq crioLevel 5

control enabled reactor1 0 0 0 0

draw clear 0 0 0 0 0 0

draw color 255 20 20 255 0 0

draw stroke 10 0 0 0 0 0

draw line 40 15 40 16 0 0

draw line 40 30 40 60 0 0

jump 8 always x false

Теперь реактор затормозит при количестве жидкости 5, а на дисплее можно будет видеть состояние мины пролетая мимо. Немного про то, что происходит с дисплеем. Графика выводится на дисплеи по той же логике, что и текст, вы наполняете буфер, то что в коде программы ниже, то выводится последним, а значит перекрывает предыдущее. Что можно сделать:

Здесь в программе не происходит чего то особо нового, добавилось только отображение на дисплей. Пока жидкости в реакторе больше 5 синяя полоса показывает ее уровень, как только станет меньше/равно, нарисует жирный восклицательный знак и отключит реактор. Можно заниматься украшением графики бесконечно, но тогда код разбухнет и будет непригоден для учебной статьи, так что ограничимся минимумом спецэффектов. Осталось запустить реактор, как только появятся враги на нужном расстоянии, думаю вы уже догадываетесь как это сделать;)

control enabled reactor1 1 0 0 0

sensor crioLevel reactor1 @cryofluid

op div crioDraw crioLevel 30

op mul crioDraw crioDraw 80

draw clear 0 0 0 0 0 0

draw color 0 0 255 255 0 0

draw rect 0 0 80 crioDraw 0 0

jump 1 greaterThanEq crioLevel 5

control enabled reactor1 0 0 0 0

draw clear 0 0 0 crioDraw 0 0

draw stroke 10 20 @blast-compound 40 0 0

draw color 255 150 20 255 0 0

draw triangle 5 5 40 75 75 5

draw color 255 20 20 255 0 0

draw line 40 15 40 16 0 0

draw line 40 30 40 60 0 0

radar enemy any any distance ripple1 1 enemyAtgate

jump 9 strictEqual enemyAtgate null

control enabled reactor1 1 0 0 0

jump 20 always x false

Дисплей решает две задачи: он может подтолкнуть вас к творчеству и утолить жажду самовыражения, а еще он может показывать состояние вашего производства или ресурсов, чтобы не заглядывать каждые пятнадцать секунд в ядро или хранилище. Еще он позволяет сделать внутри Mindustry другую игру, правда на это пойдет больше строчек кода, чем в этой вики, но у игроков получается, получится с логикой и у вас! Удачи в игре!

Игра развивается, логика в ней обретает и теряет возможности, не стесняйтесь править эту вики если увидите ошибки или устаревшую инфу, только тестируйте свой код)

Источник

Читайте также:  что делать если забыла аккаунт в гугл на телефоне при сбросе настроек
Сказочный портал