Комментарии 145
С аддонами он намного круче Factorio будет. Ну или был. Например с RedPower 2 можно было писать на Forth. А еще он 3D, что позволяет строить еще более запутанные фабрики :)
По динамичности oxygen not included лучше, хотя я давно не играл в Factorio и не знаю какой он сейчас.
Да, Minecraft с модами может иметь значительно лучшую функциональность, чем Factorio. Однако проблема всех модов в том, что они легко ломают весь баланс игры. Один не слишком хорошо продуманный ОП предмет или блок и 70% всего остального функционала становится бесполезной.
А чего это вы сравниваете Minecraft с модами и Factorio без модов? :-)
Так речь не про это, а то про то что моды ломают баланс. И по большему счету, моды Factorio тут не исключение.
В майнкрафте изначально баланс был не важен. Моды просто не доросли, т.к. не на что было ориентироваться, кроме как на себя же, а на уровень той же факторио это уже сложность создания новой игры.
К примеру, Pacman: www.youtube.com/watch?v=_VR_b9YwqH8
Но работает оно медленно и для собеседований жутко непрактично, конечно.
Хотя лично у меня столько занимает добраться до поездов.
И они, откровенно говоря, у меня не в приоритете, я предпочитаю очень длинные конвееры строить.
Попробуйте добавить в список мод LTN (logistics train network, кажется) и проверьте свои предпочтения на прочность :-)
Так он вроде не нужен, в 1.1 поезда уже из ваниллы управляются достаточно точно.
Ой, а можно подробнее, что изменилось в поездах?
В 1.1. на первый взгляд, только UI поменялся. Логистические запросы так удобно, как в LTN не сделать.
Вроде из последнего — лимиты на станцию.
Train limit достаточно гибко позволяет все настраивать и в целом решает проблему. LTN погибче конеш, но мне для 3к спм базы хватило ваниллы (400 поездов 1-4).
Вот тут нормально расписано: https://www.factorio.com/blog/post/fff-361
А теперь немного grain of salt. В факторио, фактически, все всё пишут в строго контролируемых условиях. Вся игровая база (игроки), грубо говоря, решают одну и ту же проблему одними и теми же инструментами. Т.е. опытный игрок в факторио просто будет знать как делать правильно, и это будет не его умное решение, а "посмотрел на ютубе". (что, в отношении кода, далеко не худшая вещь). Но, глядя на то, как играет человек в конкретный факторио, невозможно увидеть как человек будет играть в другой факторио (а вам же это интересно, правда?).
Вот самому с собой осознать типовые архитектурные ошибки на наглядном примере — это да, бесценно. Мой стиль работы поменялся после честно выстраданных несколько итераций лапши, после чего я задумался о квадратно-гнездовом подходе.
Можете еще попробовать Space Engineers, с заданием типо построить боевой корабль с дальнобойными пушками, наводимым по «лазеру». Или космический бомбардировщик который умеет со стратосферы или космоса бросать бомбы с корректно установленной дистанционной трубкой точно в точку. Или дрон фрезер который будет заданные фигуры вырезать из астероидов…
В SE есть встроенный компилятор C# для внутриигровых скриптов, возможности очень крутые и сложные.
ЗЫ. Есть еще такая игра как From the Depth, возможности тоже очень широкие и скрипты есть. Но я не играл.
Может быть за последнее время что-то изменилось, но это потребует работы с программным API, которое документировано примерно никак. Что в общем-то соответствует положению вещей в реальной жизни, но для собеседования, в сумме с другими вещами, занимает слишком много времени для первоначального исследования.
То есть прям симуляция жизни полная
А вот заниматься декомпиляцией чтобы скриптик написать — это уже долго и требует дополнительных знаний.
А чем IDE не угодила?
Ну кроме терминальных свойств/действий. Их правда и в исходниках не очень порою смотреть (учитывая наследование)
Сейчас вообще есть MDK со встроенной проверкой на белый список. Плюс еще плюшки.
Вариант с IDE интересен тем, что в ней в теории (и, впрочем, на практике — я это делал) можно запустить mock-окружение. Но, как я уже писал, это неоправданно при старте с нуля. Я собирал свои инструменты в течении пары лет (я не использовал MDK в ide).
Учитывая что моды могли этот список расширять, это было более правильно считаю. По исходникам лазить для терминалок… ну такое.
Для полного списка нужно всю иерархию обойти.
Последний раз игру декомпилировал для поиска костыля для замены компонента на свой, до того как игра его зарегистрирует в системе.
Тогда dnSpy был куда удобнее, чем исходники.(у меня есть доступ до них и сейчас)
у меня есть доступ до них и сейчас
Обновляющихся? Где-то на гитхабе лежит официальная репа с исходниками, но в них перестали контрибьютить где-то году в 16м, и теперь у них новая, для публики закрытая репа.
У вас инсайт или есть какой-то официальный способ?
Когда-то играл в Space Engineers и без поллитры интернетов (в частности, youtube-канала, упомянутого в вашем комментарии) я так и не понял, как там делать нормальный скриптинг дальше примитивной событийно-ориентированной системы. Автоматизированное управление предполагаает цикл обратной связи, который "из коробки" в Space Engineers не реализуется. Насколько я помню, там предлагается использовать таймер с нулевой задержкой, который триггерит компьютер, который триггерит таймер. На мой взгляд, это хак. А как там делается какое-то навдеение (т.е. получение координат какого-либо объекта) я не помню. Не удивлюсь, если опять хак.
Хм, а в чём примитивизм событийно-ориентированной системы?
Позже они добавили возможность запланировать повторный запуск скрипта.
Вообще, вся система внутриигрового скриптинга на определённом шаге была переработана самим сообществом (моддеры с доступом к исходному коду).
Но отдельного упоминание заслуживает ограничение размера скрипта в 100000 символов.

Это не командная, но тоже вполне даже на логику. Есть задачки на быстро, есть задачки и на пару дней.
Могу сказать, что первый мне нравится больше, и вот почему — там оптимизация это опция.
Ты не ограничен ни деньгами, ни размерами поля, можешь строить цепочку любой длины. В конце тебе просто покажут, насколько ты отклонился от среднего значения.
Факторио — это жесткая инженерная выживалка, если ты неправильно составил межотраслевой баланс, то в какой-то момент всё просто заглохнет.
А результат Опус Магнум можно оценить очень быстро, и собственно это как раз задачка на логику, с довольно простой вводной, а не как в Факторио изучать огромное количество различных ресурсов и «рецептов».
Это еще в какой-нить MMORPG заставить кандидата пойти крафтером и показать что он крутого сможет скрафтить, прокачав гнома до 80 левела.
Факторио — это жесткая инженерная выживалка, если ты неправильно составил межотраслевой баланс, то в какой-то момент всё просто заглохнет.
Вот не надо про "просто заглохнет". Просто заглохнуть всё может только в двух случаях — если электричества стало так мало, что аж уголь закончился, и если игрок забыл настроить крекинг для нефти. Ну, ещё кусаки могут прибежать и всё съесть — но их наличие в игре опционально. Во всех остальных случаях завод будет продолжать работать, просто медленнее чем ожидалось.
Помнится в детстве была игра, где сеть нужно было собирать путём соединения компов к серваку. Очень много в неё наиграл, это должно быть дополнительным плюсом!
Помнится в детстве была игре, где сеть нужно было собирать путём соединения компов к серваку.Эта?
www.chiark.greenend.org.uk/~sgtatham/puzzles/js/net.html
А так да :)
ag.ru/games/NetWalk

Игра начинается без установленной цели и почти без направления. Ведущий программист должен быть способен изучить UI и определить цель
А она там вообще есть, эта самая цель в игре? И вообще, с каких пор программисты, пусть даже ведущие, сами себе ставят задачи?
И вообще, с каких пор программисты, пусть даже ведущие, сами себе ставят задачи?
Заработать денег. Главная задача программиста, которую он ставит себе сам.
А опытные ведущие (те которые Principal, а не Team/Tech Lead) как раз и ставят задачи для себя и подчиненных. И задают рамки в которых эти задачи надо решать.
Только говорить и своими руками ничего не делать? Тогда Keep talking and nobody explodes
— спасибо, мы вам перезвоним
грубо говоря, компания ищет способы упрощения человека, для его оценки. Но проблема все та же, упростить человека невозможно. Но может быть корреляция между тем с кем приятно играть в игру, чисто по социальным навыкам и продуктивной работой действительно есть.
Теперь про перевод.
В итоге стопорилась выходящая труба на нефтеперерабатывающем заводе, из-за чего у вас заканчивался попутный нефтяной газ (petrolium), что останавливало производство пластмассы. Как результат, прекращался выпуск сигнального красного провода — и вся фабрика выходила из строя.
Это в какой версии сигнальный красный провод требовал пластмассу, и в каких вообще производственных цепочках он участвовал?
Переводчик, если уж берётесь переводить пост про игру, так хоть в вики по игре поглядывайте! Так называемый "red circuit" — это не "сигнальный красный провод", а "улучшенная электросхема", она же "красная схема".
К сундукам хранения нужно поставить манипулятор для подключения сундука к логистической сети. И обеспечить не менее N предметов перед установкой манипулятора.
Чего? Зачем класть не менее N предметов в сундук перед установкой манипулятора?
В оригинале-то написано вот так:
Storage chests require hooking the inserter for the chest up to the logistics network and ensuring that less than N of an item exists before inserting it.
Тут имеется в виду, что надо манипулятор настроить, чтобы тот сам проверял что в сундуке менее N предметов прежде чем положить туда ещё один.
Например, в тех же сити-блоках много нюансов — размеры, форма (квадрат, шестиугольник или восьмиугольник), подъездные жд линии, жд развязки.
Кстати, возможно Factorio можно использовать для проведения тренингов по масштабированию, потому что игрушка в этом плане дает очень хорошую наглядность. Но опять же, трудно представить работодателя который с радостью оплатит «чтобы вы там в рабочее время в игрушки играли».
Можно маленькими шажками добраться до ракеты, даже просто тупо сложив нужные компоненты в сундуки, а потом перестроив базу на выпуск других компонентов. То есть единственное, что будет тестироваться — это терпение кандидата.
Часть игроков могли сначала пройти Факторио, а потом уже купить её.
Статистика Факторио говорит только об 20-30% игроков которые смогли до нее дойти.
Это скорее означает, что 70-80% игрокам игра наскучила раньше, чем они построили ракету. А не то, что они не способны ее построить.
В статистике стима у достижения "закончить игру" выполнение 17.2%, а "заставьте жуков атаковать из за загрязнения" у 59.4%. Для достижения про загрязнение нужно построить хоть какую-то производственную линию.
У достижения "Экологически нечистый" 60.5%, а для этого с нуля надо поиграть пару вечеров.
При этом у игры есть бесплатное демо. Её не нужно покупать, чтобы попробовать.
То есть количество игроков, которым "факторио наскучило раньше, чем построили ракету", ближе к 43%(60-17), а не к 73%(100-17). Потому что 40% возможно и не запускали игру после покупки.
Начиная с какого-то уровня хардкорности технической игры, я задумываюсь: а может, стоит пойти занятся реальными технологиями? В общем, проще постаивть Quartus :)
Я после того, как запустил ракету бросил мышь об стену с криком "Ненавижу эту весёлую ферму". И потом года 2 в неё не играл.
Просто потому, что аддиктивность очень высокая, в Factorio всегда есть, что делать.
Привет из будущего. Вам не нужно решать задачу на lua, вам нужно всего лишь научиться загружать моды на lua и втягивать из них данные о рецептах. Вдохновение можно поискать вот тут: https://github.com/ShadowTheAge/yafc/blob/master/YAFCparser/FactorioDataSource.cs
(Ну или можно просто использовать сам YAFC)
Начиная с какого-то уровня хардкорности технической игры, я задумываюсь
Ха. Это именно моя позиция. :) В мире очень много разных интересных вещей. И нужно стараться среди них выбирать такие, которые дадут не только сиюминутное удовольствие.
как на кваку перейдете — зовите, пособеседуемся
Сторожем. :) По территории стрейфиться непрерывно ночами.
1. Атака с множества флангов, запрос конкретных единиц войск, общая стратегия
2. Менеджмент экономики, развитие, поставки
В зависимости от должности)
Ну или пофигу на все, 8 FFA
Такое собеседование дико непрактично, занимает более 20 часов в мультиплеере
20 часов на полоное прохождение Factorio? Видимо, у вас очень хорошая команда (или очень опытные геймеры).
Встретились «рабочие» моменты, ставшие для меня новыми. Два джуна реально способны быстро обеспечить нужное количество железной руды, обычным копи-пастом. До конца проекта доходят не все (команда разбегается на
Я выбивал ачивку «Недотёпам здесь не место», получилось с первого раза за ~7:23 с минимальной эволюцией жуков(чтобы не тратить силы на оборону), но получится такой говно
Пруф, я нанят?)
А вообще если загуглить спидраны факторио в гугле (на стандарте за 2.5 часа www.youtube.com/watch?v=Rd2LoYcCPs8 например) — то понятно, что 8 часов это тоже медленно :) И кстати, разве на нестандартной эволюции можно получать ачивки на время? Или минимальная = Default, в отличие от Death World?
А в целом по теме статьи — мне кажется, что игроки именно в факторио получат на таком собесе преимущество чисто за счет опыта.
разве на нестандартной эволюции можно получать ачивки на время?В спидранах 100% (где надо получить все достижения за одну сессию) эволюция включена, но распространение загрязнения сильно уменьшено, поэтому местные жуки не так сильно мешают (настолько «не так сильно», что для достижения, в котором кусаки должны что-то разрушить, приходится строить специальную микрофабрику рядом с логовом) Вот 100%, не знаю, правда, есть ли уже быстрее (ну и ладно).
Для первого прохождения 20 часов может и норм, но уже на 2 или 3 прохождении я в одну каску за 8 часов проходил, хотя это было на старой версии, может быть сейчас многое изменилось, но даже даже так 20 часов, да еще и для группы - явный перебор. Во всяком случае если без модов.
Я считаю, что очень хороший показатель наличия алгоритмического мышления — игра в Colobot!
Colobot был прекрасен, да. Особенно после того, как я как-то умудрился открыть код органических муравьёв, хотя они не должны были быть доступны для изучения, и найти там какую-то недокументированную функцию стреляния с упреждением. После этого мои работы стали фантастически точны, и игра стала проста.
Справедливости ради, я считаю, что ссылка на некий "МБУ ДО "Центр детского творчества "Металлург" г.о. Самара" может быть разумной, но хабр больше оценит ссылку на вики или хотя бы на официальный сайт. ЧСХ, википедия мне показалась даже более авторитетным источником, чем официальный сайт, так всё плохо. >_<
Мне запомнилось, будто код стрельбы с упреждением был где-то то ли в каких-то examples, то ли туториалах, то ли что-то такое - если поковыряться в разных предустановленных в игре скриптах. Там, вроде, использовалась какая-то простенькая тригонометрия.
Вообще, лично для меня этот код стал самым впечатляющим за всю историю игр, и благодаря нему я больше не мог спокойно смотреть кино, в котором автоматические турели очень долго не могут во что-то попасть.
все заводы должны масштабироваться перпендикулярно основному конвейеру
Эврика! А ведь это и есть рецепт правильной программной архитектуры!
СПАСИБО!
Нет, оно потом упрётся в пропускную способность основного конвейера, а в самом начале игры слишком широкий конвейер требует место/ресурсы и замедляет развитие. Причём с открытием логистической сети можно редкие ресурсы доставлять дронами и сильно упростить базу. Если смотреть спидраны с прохождением игры за полтора часа — нет там основного конвейера, зато буквально через час развития есть дроны, которыми можно быстро построить что угодно.
P.s. ну и вообще, строить по готовым чертежам базу с центральной шиной — скучно.
P.p.s. в программировании тоже люблю велосипеды
На работе периодически слышу обсуждения игр от молодых сотрудников (<35 лет). Язык обсуждения вроде русский, но смысл текста непонятен практически полностью.
Вы игры разрабатываете, и нужно быть в теме? Или просто надо вписаться в молодой коллектив?
В шахматы я бы поиграл, да… Или в настольный теннис. Или в поучительную игру «кто быстрее пробежит 5км». Но какое это имеет отношение к навыкам на работе?
. Язык обсуждения вроде русский, но смысл текста непонятен практически полностью.
То есть вы начисто отсекаете возрастных кандидатов
Так может ради того и затевалось? Ребята не хотели попасть на иск за дискриминацию по возрасту. Поэтому ввели такой критерий на собесе, который пройдет только молодежь или старшее поколение "на нужной волне".
Ищу хорошую работу. Профессиональные навыки — Kerbal Space Program, Civilization, Total War.
Пишите, звоните!
Раз тут идут советы игр про программирование, то можно упомянуть stationeers. Там есть внутренняя логика на местном ассемблере.
Фанаты Факторио?
Поразительно. В каждой теме про интервью с задачками куча людей ругаются, что это далеко от реального программирования и вообще в работе не нужно. А тут, фактически, тоже задачи, и еще дальше от реальной работы — но всем нравится.
Совместная игра в Factorio — лучшее собеседование для программистов, что мы проводили