factorio demo чем отличается
Factorio demo чем отличается
Factorio
You might have missed it but near the start of the second map it clearly instructs you on how to defend yourself after making you pick up the gun from the chest:
https://steamcommunity.com/sharedfiles/filedetails/?id=2674895940
(don’t mind the calculator in the top left or the green/yellow/orange dots on each machines, I had some quality of life mods enabled when taking the screenshot but they don’t change the tutorial missions)
(don’t mind the calculator in the top left or the green/yellow/orange dots on each machines, I had some quality of life mods enabled when taking the screenshot but they don’t change the tutorial missions)
The coloured dot is from bottleneck (it shows you if the machines are working at full capacity or not), and the button in the top left corner is from Helmod (a mod that helps you figure out ratios and the amount of machines needed for what you want, mostly useful for heavily modded runs).
You can only get mods with the full version so it’s not going to change much for your run in the demo.
The coloured dot is from bottleneck (it shows you if the machines are working at full capacity or not), and the button in the top left corner is from Helmod (a mod that helps you figure out ratios and the amount of machines needed for what you want, mostly useful for heavily modded runs).
You can only get mods with the full version so it’s not going to change much for your run in the demo.
QOL mods or not
I am going to Strip. ♥♥♥♥♥♥♥. Mine. the demo.
There will be not a resource left on the screen. Anywhere.
The trees are going to take an age.
Hmm.. Maybe not, the trees are much more tedious than I recall.
Have any of you played the demo? Try it out and act like you know nothing about this game and just follow the instructions.
The original demo was written from the standpoint of the Devs.
People who know the intimate workings of the game and expect you to without any prior knowledge.
An example of this:
I sent a VERY strongly worded and rude email to the devs because I died in the tutorial
«But Sebine, of course you would die, there are hostile aliens.»
You see, I assumed that the game world ENDED at the borders.
Like it should.
And so I cleared the entire tutorial map of aliens.
However, the game world extended BEYOND the borders of the tutorial, thus you couldn’t actually clear the tutorial map of aliens, more would come in. from off screen.
Yes, this is «how it works» in the full game, but the full game doesn’t have hard coded borders that the player is not allowed beyond.
Allowing enemy incursion from places the player was not allowed was complete ♥♥♥♥♥♥♥♥.
The new tutorial is a lot better but still could be improved.
The train tutorial is the part that annoys me the most, at current.
The tool tip tutorial teaches you how to run trains in a loop.
The game wants you to run trains in a straight line, back and forth.
Русскоязычный сайт по игре Factorio. Новости, гайды, моды, скачать игру
Свежие записи
Рубрики
Пятничные факты #306 – Экспериментальная Демо
Предупреждение о пятничных фактах относится к сценарию «Введение», а не ко всему, что будет во свободном режиме Factorio. Вы можете прочитать предыдущие FFF (FFF-257, FFF-284) о введении.
TLDR: Сценарий «Введение»теперь в Экспериментальном релизе, пожалуйста, поиграйте в него и пришлите нам свои скриншоты. Обратная связь будет принята с благодарностью. Мы также выпустили Экспериментальную версию Демо, обязательно отправьте эту ссылку своим друзьям ASAP завтра, когда мы исправим неизбежную аварию.
SPOILER WARNING: Если вы еще не играли в сценарий «вступления», перед тем, как прочесть это, начните играть в него.
Вводный сценарий как обучение
Учебные компоненты введения работают очень хорошо сейчас. Есть еще много чего сделать, но я уверен, что он готов к новым игрокам всех видов.
Вводный сценарий как Демо
Что мы хотели от новой версии Демо
Старая демоверсия имеет очень ограниченный объем контента и всего около 2 часов игры. Контент, который она представляет, очень устарел, и его вряд ли можно назвать представителем современного свободного режима Factorio, он даже не включает изучения!
У нас были некоторые конструктивные ограничения для новой демо, некоторые из которых были:
Что бы ни случилось, мы надеялись, что новая демоверсия продемонстрирует более широкий спектр концепций Factorio, включая небольшой вкус сложности мира смерти. Я бы сказал, что мы были слишком успешны.
Мы решили сделать это с последним квестом, в котором игрок должен быстро завершить длительное исследование, в то время как сила атаки становится сильнее. Игрок должен быть очень внимательным, иначе его защита упадет.
Невидимая, динамическая кривая сложности означала, что каждый испытывался нападениями, как ветераны, так и новые игроки. Смотрите FFF-284. Я бы сказал, что для сложной задачи, это работало хорошо.
Что думали другие
Причина, по которой многие ветераны терпели неудачу, заключалась в том, что они притворялись новыми игроками. Обычно это означало играть в качестве ветерана (используя горячие клавиши и высокий APM, сильное загрязнение), но размещать несколько турелей, как правило, в неоптимальных местах, и лениться с доставкой боеприпасов.
Новые игроки чувствовали давление и, как правило, могли одержать близкую победу. Многие говорили, что в конце они были захвачены, но все же одержали победу, предоставив интересный момент, чтобы покинуть игру и начать свободную игру с высокой частотой сердечных сокращений.
Отзывы были гораздо более позитивными, чем негативными, но из негативных отзывов были две повторяющиеся темы.
Неудачное решение 1: отправка меньшего количества кусак
Это исключает вероятность проигрыша игрока, но создает новые проблемы с дизайном. Это удаляет боеприпасы в качестве производственного давления, и делает размещение турели не имеет значения.
Неудачное решение 2: Ускорять атаки медленнее
Похоже, это может сработать, и для второй проблемы, указанной выше, это работает. У игрока больше времени для реакции. Однако это означает, что только новые игроки сталкиваются с проблемой, так как они, скорее всего, построили небольшое количество лабораторий, и им нужно больше всего времени, чтобы закончить квест. Ветераны закончат до того, как нападения вырастут до какого-либо значимого уровня. Просто упрощение игры для игроков, способных преодолеть вызов, кажется странным.
Неудачное решение 3: Добавить больше времени между волнами
Чтобы иметь приличное количество кусак, чтобы не потерять производственную задачу, волны должны быть очень большими. Чтобы у игрока было достаточное внимание между волнами, есть шанс, что он сможет закончить исследование до того, как появится первое. Также самым распространенным состоянием отказа было то, что турель с 200 снарядами была уничтожена, то есть игрок не может создать достаточно новых боеприпасов, чтобы не отставать от волн. Это происходит чаще с большими, менее частыми волнами.
Все три из этих решений имеют одну общую черту: мы должны реализовать их таким образом, чтобы устранить проблему практически полностью. Поэтому я предложил альтернативное решение.
Новое решение: полностью удалите квест Испытание
Если игрок не может выжить здесь, он не выживет в игре свободной игре, но в действительности, сложная задача в настройках по умолчанию свободной игры не вызывает особого беспокойства.
Другие новые вещи в Демо
Для нас важно иметь отличную демоверсию. Мы не хотим, чтобы кто-то платил за игру, просто чтобы посмотреть, понравится ли она ей. Это также хорошо согласуется с нашей политикой отсутствия скидок. Мы уже предлагаем продленный период возврата средств игрокам, которые покупают на нашем сайте, если они сделали ставку на игру, но обнаружили, что это не для них.
Демо — это вообще супер классная вещь из 90-х, которую большинство людей здесь хотели бы по-прежнему видеть.
Поэтому мы увеличим количество контента в демоверсии. Вы можете продолжить играть в конце вступления, и я подозреваю, что у нас будет около 10 часов работы. Мы также добавляем больше рецептов и технологий для демонстрации.
Новый список того, что доступно:
Размер финальной игровой площадки также намного больше.
Мы выпустили изменения сегодня, а также выпустили экспериментальную версию демо. Пожалуйста, дайте нам знать, если у вас есть какие-либо отзывы или предложения
Как всегда, вы можете обсудить на наших форумах!
Загрузить Factorio Demo
Контент для этой игры Просмотреть все (1)
Об этой игре
Вы будете добывать ресурсы, исследовать новые технологии, создавать инфраструктуру, автоматизировать производство и сражаться с врагами.
На начальном этапе игры Вы будете вручную рубить деревья, добывать руду и создавать простые манипуляторы и транспортные конвейеры, но через некоторое время Вы, наконец, сможете подняться до энергетической индустрии с огромными солнечными фермами, перегонкой и переработкой нефти, построить роботов и развернуть логистическую сеть, настроенную для Ваших потребностей в ресурсах.
Но жесткая эксплуатация ресурсов планеты не останется без внимания местных жителей, так что вам придется быть готовым постоять за себя и свою механическую империю.
Объедините силы с другими игроками в Сетевой игре, вместе создавайте огромные фабрики и распределяйте задачи между своими друзьями.
Добавляйте модификации на любой вкус, от мельчайших улучшений до полного изменения игры. Поддержка модов Factorio позволяет создавать новый контент с интересными или необычными особенностями.
Основным режимом игры является песочница, однако для любителей справляться с интересными и сложными задачами присутствует Набор сценариев, доступных как бесплатное DLC.
А если существующие карты и сценарии наскучили, вы можете создавать свои с помощью внутриигрового Редактора Карт. Расставляйте объекты, врагов, настраивайте местность и добавляйте свои скрипты чтобы разнообразить геймплей.
Пояснение по скидке: В ближайшем будущем у нас нет планов участвовать в распродажах или понижать цену на игру.
Что люди говорят о Factorio
Совместная игра в Factorio — лучшее собеседование для программистов, что мы проводили
В последнее время много копий сломано вокруг технических собеседований. Очевидно, что инвертирование двоичного дерева на доске практически никак не связано с практическими навыками реального программиста. Примитивный Fizzbuzz по-прежнему остаётся самым эффективным тестом. Как следствие, выросло внимание к опенсорсным проектам, но оказалось, что это тоже не очень хороший показатель, потому что у большинства профессионалов нет на них времени.
У нас в компании самое эффективное собеседование по программированию на сегодняшний день — это обычно какое-то домашнее задание на несколько дней, в котором кандидата просят исправить баг или реализовать небольшую функцию. Это не очень хорошо, потому что занимает много времени, и человек может получить внешнюю помощь (или погуглить, если функция достаточно распространённая). С другой стороны, некоторые крупные компании вместо этого удвоили количество собеседований с доской (и алгоритмами), подвергая будущих инженеров многочасовым сессиям онлайн-программирования с различным уровнем инвазивного наблюдения.
Все эти методы интервью не сравнятся с очень простой метрикой: совместная игра в Factorio. Прохождение всего цикла Factorio — практически идеальный показатель, насколько хорошо человек решает общие технические проблемы. Можно даже настроить прохождение игры на основе будущей должности, чтобы лучше понять, как кандидат справится со своей ролью.
Factorio?
Factorio — это игра об автоматизации. Вероятно, лучшим введением будет этот трейлер, но, по сути, ваша задача — построить автоматизированный завод, способный запустить ракету в космос.
Начинаете с нуля. Добываете вручную железную руду и камень, строите плавильную печь, чтобы плавить руду в железные пластины, из которых можно скрафтить автоматический твёрдотопливный бур. Можно самостоятельно забирать железную руду из бура и закладывать её в плавильню, но более эффективно использовать автоматический конвейер. Потом можно использовать полученное железо, чтобы сделать другой бур, который автоматизирует добычу угля. Затем строится конвейер для забора угля и конвейер для его передачи в бур. Эта крошечная фабрика производит железные пластины, из которых можно сделать третий бур — и начать добычу медной руды, которая позволяет крафтить медные плиты, а из них можно сделать медный провод, необходимый для работы погружного насоса. В сочетании с паровым котлом и паровым двигателем это даёт нам первую электроэнергию. Её можно использовать для исследовательского центра и изобретения новых технологий, таких как сборочный автомат. Как только разблокируете сборочные автоматы, можете использовать сделанный вручную провод для создания сборочной машины, которая будет автоматически изготавливать эти провода.
В конце концов вы разблокируете поезда, роботов и логистические системы, которые помогут справиться с растущей логистической сложностью игры. Ну и в итоге сможете запустить ракету в космос.
Выбор направления
Игра начинается без установленной цели и почти без направления. Ведущий программист должен быть способен изучить UI и определить цель, а затем разработать план для её достижения. От джуниора ожидают правильного выполнения задач, поставленных ведущим разработчиком. Предполагается, что стажёр работает с наставником, но джуниор должен быть в состоянии самостоятельно устранить основные проблемы со своим кодом, прежде чем просить помощи от старшего. Миддл должен уметь работать независимо, как только ему дают задание, но от него не ожидают архитектурного проектирования.
Конкретные ожидания можно сформулировать так:
Командная работа
Важнейшим аспектом разработки программного обеспечения является умение работать в команде. Это означает координацию усилий с другими людьми, удовлетворение потребностей чужих проектов и сотрудничество с командой, а не самостоятельную работу, когда вы отказываетесь изменить свой дизайн, чтобы помочь интегрировать его с чьей-то работой. Естественно, такие ситуации всё время возникают в Factorio, потому что стандартные чертежи ограничены физическим пространством. В результате нужно тщательно изучить действия других людей, а иногда скорректировать свой дизайн, чтобы вписаться в ограничения по размеру или приспособиться к какому-то чужому чертежу, который занял больше места, чем ожидалось.
Если игрок уйдёт в себя, начнёт делать всё сам или молча исправлять проблемы, это быстро навлечёт на него гнев команды по тем же самым причинам, по которым коллеги злятся на программистов-ковбоев. К счастью, в Factorio есть встроенный эквивалент git blame : он показывает последнего игрока, который изменил любую сущность. Таким образом, если кто-то поставил костыль и не сообщил команде о проблеме, то когда этот костыль наконец сломается — все узнают, кто виноват. Если хотите выиграть, придётся плотно сотрудничать с товарищами по команде.
Отладка
Одним из главных навыков для программиста является отладка. Это, пожалуй, самая очевидная параллель между Factorio и реальной разработкой ПО. Что-то может сломаться очень далеко от фактического источника проблемы. Способность быстро выяснить реальную проблему — это критический навык, и процесс мышления почти идентичен отслеживанию причины сбоя в реальной программе. Если перестал работать сборочный автомат, сначала нужно проверить выходящие потоки. Потом проверить, какого ингредиента не хватает на входе. Затем проследить ингредиент по фабрике, чтобы узнать, где он производится. И повторять процесс снова и снова, до тошноты.
Отладка в Factorio быстро усложняется. Как только вы построите нефтеперерабатывающий завод, то займётесь крекингом, где на выходе три разных трубы (мазут, дизельное топливо и попутный нефтяной газ), и если какая-то из них по какой-то причине стопорится, то весь завод прекращает работу.
Бывали случаи, когда весь завод останавливался, потому что вы начали исследовать что-то, не требующее жёлтой науки. В результате вы перестали использовать каркасы дронов, которым перестали поставляться электрические двигатели, где использовалась смазочная жидкость, для производства которой забирался мазут. В итоге стопорилась выходящая труба на нефтеперерабатывающем заводе, из-за чего у вас заканчивался попутный нефтяной газ (petrolium), что останавливало производство пластмассы. Как результат, прекращался выпуск сигнального красного провода — и вся фабрика выходила из строя. Опытные игроки предвидят подобные сценарии и внедряют самобалансирующийся крекинг нефти, чтобы всегда гарантировать баланс системы. Такой завод остановится только при закупорке выходящей трубы с попутным газом. Если хорошему программисту дадут сломавшийся нефтеперерабатывающий завод, он обычно сможет проследить проблему до источника, понять, что произошло, и быстро попытаться найти решение. С другой стороны, если человек просто плюхает на землю пару новых резервуаров без веской причины (он абсолютно уверен, что смазочная жидкость будет нужна всегда), то это большой красный флаг на методы решения проблем в его программах.
Подобные ситуации позволяют Factorio точно сымитировать сложные взаимозависимости, с которыми обычно имеют дело программисты. Сложность возрастает по мере добавления в геймплей новых концепций. Это очень похоже на рост сложности от дополнительных уровней абстракции в отладке сбоя, который мог произойти глубоко внутри одного из используемых вами фреймворков.
Код-ревью
Часто первоначальный дизайн нужно исправить для повышения производительности или пропускной способности. Хорошие программисты не только примут критику своих чертежей, но и учтут её в будущей работе. Если они не согласны с изменением, то предоставят конкретное объяснение, чтобы команда могла более точно обдумать плюсы и минусы предлагаемого изменения.
Стиль написания кода и фреймворки
Отказ следовать советам — лишь часть гораздо большей проблемы, когда программист не способен нормально интегрироваться в существующую структуру. Есть много способов построить фабрику в Factorio, и каждый требует стандартных методов сборки. Несоблюдение стандартов быстро затормозит всю фабрику, часто тонкими способами, которые не очевидны неосторожному разработчику.
Конструкция магистрального ленточного конвейера включает 4-8 конвейеров, разделённых на две секции (для подземных конвейеров). Он помещается в центре фабрики, и всё производство происходит перпендикулярно ленте. Эта конструкция опирается на несколько правил, нарушение которых может привести к полному хаосу. Во-первых, всегда следует использовать разделитель на выходе с конвейера. Никогда нельзя перенаправлять всю ленту: пустое пространство для другой ленты означает, что вы теряете целый конвейер ресурсов, даже после апгрейда. Во-вторых, все заводы должны масштабироваться перпендикулярно основному конвейеру. Невозможность быстрого масштабирования приведёт либо к огромной потере пространства, либо к невозможности масштабирования производственной линии, потому что она окружена другими производственными линиями.
Логистическая сеть
Есть разные способы построения логистических сетей. Самый простой — с сундуками пассивного снабжения. Но есть другой метод — сундуки хранения с фильтром, который решает проблему с мусором. Оба метода требуют правильной установки ограничителей в нужных местах. Сундуки пассивного снабжения обычно ограничены пространством сундука. К сундукам хранения нужно поставить манипулятор для подключения сундука к логистической сети. И обеспечить не менее N предметов перед установкой манипулятора. Если забыть про эти шаги, то будут впустую потрачены огромные ресурсы. Если программист постоянно забывает про ограничители на выходах — это красный флаг, что человек небрежно относится к производительности в реальных приложениях.
В других случаях команда может применять заранее разработанные чертежи, такие как проект ядерного реактора или роботизированного завода на дронах (bot factory). Они могут быть крайне сложными, но если сделать над собой усилие и разобраться, то они чрезвычайно экономят время. Остерегайтесь кандидатов, которые не хотят настраивать на заводе новый элемент просто потому, что не могут отследить сложную управляющую логику. Или кто бросает попытки разобраться в алгоритме функционирования такого завода, несмотря на очевидные преимущества дронов перед конвейерами.
Неоптимальный дизайн завода на дронах, источник
Многопоточность
Поезда в Factorio — прямой аналог многопоточности: один поезд — это один поток выполнения, а каждое пересечение поездов или остановка — место в памяти, куда два потока потенциально могут писать одновременно. Светофоры — это блокировки (или мьютексы). Все баги в железнодорожной сети проявляются точно так же, как состояние гонки в ПО, потому что они буквально являются физическим состоянием гонки. Все компромиссы применимы и здесь — слишком длительная блокировка уменьшает пропускную способность. Неправильное проектирование светофоров обычно вызывает взаимоблокировку, точно так же, как в программном обеспечении, потому что в итоге возникает циклическая зависимость блокировок. Самая распространённая взаимоблокировка — это когда поезд слишком длинный и неожиданно блокирует второй перекрёсток, ожидая входа в первый. Затем этот второй перекрёсток препятствует отправлению другого поезда, предотвращая разблокировку первого перекрёстка.
Количество путей в железнодорожной сети соответствует количеству ядер CPU. Один железнодорожный путь трудно масштабировать больше, чем на несколько полос, потому что пропускная способность всей системы очень быстро ограничивается, даже с зонами ожидания. Наиболее распространённой конструкцией является двухполосная конструкция, по одной полосе в каждую сторону. Здесь появятся проблемы с пропускной способностью, когда возникнет необходимость постоянно разгружать поезда. Поэтому в больших железнодорожных сетях минимум по четыре полосы, причём две внешние действуют как объездные пути, чтобы избежать пересечений, когда это возможно.
Проблемы со светофорами в этих системах могут проявиться через фантастический промежуток времени. Единственный пропущенный светофор в одной железнодорожной сети однажды вызвал взаимную блокировку после корректной работы в течение двух недель. Так же и в программах состояние гонки может проявляться только раз в месяц, когда под сильной нагрузкой возникает высокая конкуренция потоков.
Масштабирование
Как и в программном обеспечении, масштабирование производства в Factorio вводит новые проблемы в оригинальный дизайн чертежей и часто требует полной перестройки для максимального повышения производительности, с установкой модулей продуктивности и модулей скорости с маяками. Конвейеры становятся узким местом производительности даже на максимальной скорости ленты, заставляя искать способы разделить конструкции так, чтобы позже можно было вставить больше лент, или разделить заводы на модули.
Управление логистической сетью само по себе становится логистической задачей в конце игры из-за того количества проблем, какое вызывают экспансивные дрон-сети. Как правило, нужно приступить к сегментированию логистической сети и либо использовать поезда для транспортировки товаров между сегментами, либо строить сундуки запроса и снабжения, которые будут передавать товары через границы.
В конце игре для управления поездами требует перехода с push-архитектуры на pull-архитектуру, поскольку push-архитектура не справляется с высокой пропускной способностью. Это неизбежно приводит к использованию функции Train Limit и изучению, как использовать логические сети для кодирования базовой логики, чтобы станция запрашивала поезд только тогда, когда действительно готова полностью заполнить его ресурсами, вместо обычной игровой тактики в начале игры, когда куче поездов просто даётся команда ехать за железом. Новая схема сводит к минимуму количество поездов и при этом гарантирует, что в сети обслуживаются все станции.
Часто бывает, что ограничения входных линий в сборочный автомат и лимиты скорости манипулятора требуют перепроектирования заводов вокруг, точно так же, как высокоскоростные вычисления требуют знания узких мест в работе CPU. Эти узкие места почти никогда не являются проблемой, пока вы не достигнете определённого масштаба, но после этого начинают ограничивать производительность.
Микросервисы и модули
В конце концов, заводы становятся настолько огромными, что приходится отказаться от простого дизайна с основным ленточным конвейером или спагетти-дизайна — и перейти на более масштабируемую структуру. Чтобы выйти на мега-уровень, заводы обычно используют либо систему поездов, либо модульную систему, которая примерно соответствует микросервисам или архитектуре с плагинами.
Мегабазу на основе поездов иногда называют дизайном «городских кварталов» (city-block), где поезда вокруг кварталов завода контролируют все входы и выходы. Таким образом, каждый отдельный квартал изолирован от всех остальных, поскольку все входные данные «чисты» в том смысле, что они поступают из железнодорожной сети. Это почти идентично архитектуре микросервисов (по HTTP) или межпроцессному взаимодействию (IPC), с аналогичными потенциальными проблемами из-за задержек I/O, поскольку результаты не могут поступать постоянно, они должны передаваться в «пакетах» или поездах по железнодорожной сети.
Модульная архитектура пытается сохранить некое подобие основного конвейера, но вместо этого разделяет ленты на заводе и использует модульные блоки, которые принимают стандартные входы и стандартные выходы. Иногда этого можно достичь полностью с помощью дронов, но обычно материалы приходится доставлять по конвейеру на большие расстояния. Это очень похоже на систему модулей для монолитного приложения с теми же компромиссами.
Такие мегабазы представляют верхний уровень дефолтного сервера Factorio. Конечно, существует много модов, которые гораздо усложняют игру.
Распределённые системы
Space Exploration — полностью переделанная версия Factorio для колонизации космоса. Здесь планеты становятся ограниченными ресурсами, требуя от игроков колонизировать другие миры и использовать ракеты для передачи ресурсов между планетами. Из-за огромной задержки с доставкой материалов между планетами, координация этих баз приводит к возникновению проблем, сходных с глобально распределённой системой баз данных. Даже в логической сети приходится бороться с задержкой, потому что автоматическая система теряет из виду элементы, которые запущены, но ещё не достигли целевой планеты. Если это не учитывать, возникают дубликаты запросов для всех нужных элементов. С точно такой же проблемой сталкиваются распределённые системы при попытке обеспечить согласованность между узлами.
Вывод
В целом софтверная индустрия не имеет ни малейшего представления, как находить и нанимать лучших разработчиков. Наверное, совместная игра в Factorio стала лучшим техническим собеседованием, которые мы когда-либо проводили. И это нас сильно смущает. Такое собеседование дико непрактично, занимает более 20 часов в мультиплеере с первого раза или 8 часов для команды опытных игроков. Что из этого можно извлечь? Не знаю. Мы, конечно, не можем перейти на Factorio в качестве метода собеседований — с таким же успехом можно просто дать кандидату домашнее задание.
Но это уже лучше, чем собеседование на доске.