Как слить жидкость factorio

Обновлено: 07.07.2024

Свежие записи

Рубрики

опубликовали Dominik, Ernestas, Albert

Смешивание жидкостей Dominik

Недавно я взялся за обновление жидкостной системы (FFF-260). В 0.16 он работает так, что контейнеры для жидкости (то, что удерживает жидкость и содержится в объектах, таких как трубы или нефтеперерабатывающие заводы), не имели никакой организации, кроме их соединений. Они будут сидеть там и ничего не делать, а затем один раз за обновление отправляли куда-нибудь жидкость. Там были проблемы, особенно с симметрией, и когда вы подали какую-то жидкость туда, где она не нужна, вы могли бы в конечном итоге получить крупные работы по сносу.

Моя задача состояла в том, чтобы разработать лучший алгоритм перемещения жидкостей, и одна очень дополнительная задача, которую я имел в виду, заключалась в том, чтобы жидкости не попадали в неправильные места и смешивались. Мы начали с того, что организовали контейнеры с жидкостями в системы (соединенные контейнеры создают систему), управляемые специальным менеджером жидкости, и оптимизировали его (FFF-271).

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

В принципе, для этого потребуется всего несколько вполне реалистичных механизмов:

Оказалось, что работа над ним была завершена не более чем на одну десятую.


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


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

Террайн засыпки Ernestas, Albert

На этой неделе Эрнестас физически пришел в офис Wube, чтобы провести с нами некоторое время (он обычно работает удаленно), поэтому мы пользуемся шансом закончить то, что у нас было в ящике, что требовало более тесного общения. Одной из таких вещей является конкретная местность засыпки. Как вы знаете, мы использовали траву для этого. Уже нет.


В Factorio у нас есть столкновение двух миров:

  • Естественная и органическая планета, вне сетки с несколькими типами местности, деревьями
  • Мир фабрики, который является математическим, регулярным, модульным и полностью привязанным к сетке.

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

Помпа

Помпа — многофункциональное устройство для обработки жидкостей. Может использоваться для перемещения жидкостей, управления потоком, предотвращения обратного течения и для загрузки/разгрузки поездов. Помпу можно рассматривать как «манипулятор для жидкостей».

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

Обратите внимание, что помпа не может смешивать различные типы жидкостей.

Использование в качестве вентиля

Помпа может работать как контролируемый вентиль:

  • Помпа, подключённая к электросети, будет пропускать жидкость, но только в одном направлении.
  • Помпа, не подключённая к электросети, не будет пропускать жидкость.
  • Если помпа подключена к сети и имеет логическое условие, то жидкость будет пропускаться только если условие выполнено.

Пример с использованием некоторых полезных свойств помпы можно найти на форуме.

Пропускная способность

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

Свежие записи

Рубрики

опубликовали Dominik, Klonan, kovarex

Новая система жидкости 2 (Dominik)

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

Поскольку старый алгоритм использовал только один проход, запускаемый объектами для обновления, мне сначала нужно было пересмотреть всю систему, чтобы позволить разместить новую. Переход от одного прохода к двум проходам обязательно означает более высокую сложность, поэтому мы приложили большие усилия, чтобы оптимизировать все, что могли, чтобы быть уверенными, что мы все равно окажемся быстрее, чем 0,16. Коварекс написал об этом в FFF-271.

Новый алгоритм

Новый алгоритм следует реалистичным волновым уравнениям. Работает с двумя переменными.

  1. Объем жидкости в fluidbox(FB) и соответствующая высота колонки.
  2. Скорость потока в соединении между fluidbox.

Точное поведение зависит от двух констант:

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

Двухпроходный алгоритм для одного обновления (без учета множества деталей) выглядит следующим образом:

Этот алгоритм настолько прост и работает так же хорошо, а также требует лишь очень небольших изменений, чтобы он был явным победителем. Основным недостатком является то, что он может перемещать только ¼ содержимого FB за один тик, поэтому FB увеличиваются для компенсации. Другая причина заключается в том, что в пустой трубе может показаться, что жидкости движутся довольно медленно, но на самом деле это вполне реалистично и выглядит красиво. Третьей проблемой могут быть некоторые волны и колебания, которые являются результатом реалистичной модели и очень малы по сравнению с текущей моделью демпфирования. Это может быть еще более ограничено путем введения непрерывного производства / потребления жидкости, но в данный момент это не кажется необходимым.

Вы получаете вместо 0,16 то, что жидкости теперь ведут себя правильно и интуитивно, производительность стабильна (подземные трубы больше не помогут вам с пропускной способностью), разные жидкости фактически движутся по-разному.

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


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

Производительность

Изменения и оптимизация в FFF-271 сократили время обновления примерно на 50% и до 10 раз на некоторых высокопроизводительных процессорах.

Введение нового алгоритма сделало его сразу на 30% медленнее. Короче говоря, с помощью различных исправлений, в том числе небольшого изменения, сделавшего алгоритм 1 повторным, это увеличение было сокращено до 15%. Таким образом, общий результат заключается в том, что обновление данных по-прежнему происходит намного быстрее, чем было раньше. Я все еще обсуждаю слияние сегментов, так как это не так просто, и это будет стоить имитации некоторых деталей. На данный момент это низкий приоритет по сравнению с другими частями времени обновления.

Смешивание жидкости


  • Создание объекта с fluidbox (например, трубы, насосы, резервуары для хранения)
  • Настройка рецепта с вводом / выводом жидкости
  • Поворот сущности

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

Нужен разработчик macOS (Klonan)

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

Уход из HanziQ вместе с уходом нашего другого разработчика для MacOS Jiří означает, что в настоящее время в нашей команде нет никого, кто мог бы работать и поддерживать версию игры для MacOS. Это довольно серьезная проблема, так как мы переписали движок GFX, который в основном не тестировался, и должен быть выпущен с 0.17. Если вы знаете кого-нибудь, кто может помочь нам занять эту должность, направьте их в наш список вакансий разработчика MacOS.

Steam ключи прямо от нас (Klonan)

Мы давно продавали игру через наш собственный веб-сайт, который включает в себя получение кода, а затем регистрацию учетной записи и т. Д. Я получил довольно много отзывов от сообщества, и на основе этих отзывов мы решили начать продавать ключи Steam непосредственно через наш сайт. На странице покупки вам будет предоставлен выбор ключа веб-сайта или ключа Steam.


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

Steam awards 2018 (Klonan)

Голосование Steam awards 2018 началось, и Factorio номинирован на «КЛАДЕЗЬ МАШИННОГО ВЕСЕЛЬЯ». Есть также две другие чешские игры, номинированные на ту же категорию, поэтому страна довольно хорошо представлена.

Животное названо в честь игры (kovarex)

Новый вид скорпиона Neobuthus Factorio был только что идентифицирован и классифицирован. У моего отца есть хобби ходить (не только) в опасные места и выявлять необнаруженные виды скорпионов и пауков. Он предложил назвать одну из своих классификаций в честь игры для смеха. Вы можете найти полную публикацию здесь.

Как слить жидкость factorio


Время создания:


Побережье с водой

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

Транспортировка воды осуществляется с помощью труб и/или подземной трубой


Объекты, взаимодействующие с водой


На Химическом заводе вода участвует в производстве следующих нефтепродуктов:

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

Температура воды в трубах
Минимальная температура воды 15 noborder
Максимальная температура воды 100 noborder

Заполнение/разгрузка вагонов-цистерн

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

Читайте также: