Pull to refresh

Comments 28

Ну вот опять я захотел вернуться в Factorio!

В октябре выходит новая версия. Как раз повод вернутся.

тоже раньше любил, сотни часов, за почти 10 лет...

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

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

Зато там можно сделать идеально, а не работе нельзя. Мой внутренний перфекционист счастлив.

может пет проект тогда? чтобы еще и польза была, а то какие то песочные замки делаем, хоть и идеальные :)

Очень много времени там на рутину уходит. Чтобы её сокращать приодится или имбово большие залежи руды генерировать или чит на бесконечный сундук брать. иначе на большой базе только и будешь рудники переставлять да ЖД тянуть.
Те кто за архитектуру топят наверное в основном к ситиблокам приходят, типа микросервисы. Но время приходится убить чтобы это всё красиво организовать... в дрожь бросает уже, это сотни часов "работы" :)

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

(Ворчливо) Какое-такое спагетти? Это прототип! :)

Мне было интересно в неё возюкаться в самом начале - ничего не понятно, НО ВСЁ ТАК ИНТЕРЕСНО. Специально не смотрел/не читал гайдов, чтобы на своем опыте до всего дойти, строил и перестраивал жуткие спагетти в рамках прототипов, костылил все это. Потом немного с чем-то разобрался, понял как надо, перезапустил заново и на каком-то этапе вдруг понял что всё превращается в рутину. Прикинул сколько еще масштабировать всё это и затосковал...

В разработке так же - кому-то нравиться исследовать, кому-то писать идеальный код. Мне и в разработке интересней разбираться с непонятной хренью,10 раз переписывать прототипы/тесты. А потом когда разобрался, сказать "народ, я понял как надо - вот так и так, если что обращайтесь, подскажу, а мне вон с той непонятной хренью надо разбираться".

Рекомендую мод Warporio , добавляется большое ограничение по месту , ну и еще пара нюансов , очень своеобразный опыт

А мне захотелось начать)))

В сохранёнке офисной LAN-пати общая производительность увеличилась на 15%

Где где? Снова переводил надмозг

В сохранении игры, в которую они играют офисом по локальной сети. Вполне нормальный перевод.

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

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

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

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

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

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

даже если мы на минуту кешировали это состояние то недопотребление энергии от недавно добавленных аппаратов никто бы не заметил :)
UPS там 60. даже если вы каждые 5 сек чтото добавляете то это 300 тиков без изменений.

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

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

Для тех кто не следит, у разработчиков Factorio такие истории выходят каждую неделю, по пятницам, в связи с грядущим выходом дополнения Space Age.

Нет факторка, это не заставит меня вернуться)

Последний раз в сетевой игре упирались именно в троллинг по ups. Я думаю разрабам не интересно доводить до ума для этой эпохи, всё равно кто доходит.

Там огромное число улучшений и оптимизаций в плане UPS, можете почитать блок разработчиков "FFF", если интересно (эта статья – как раз перевод одного из постов FFF). Сильно улучшили просчёт ботов, жидкостей, электричества. Естественно, всё равно в конечном итоге при определённом размере фабрики Вы уткнётесь в UPS, но этот размер теперь будет больше.

Эх, одно слово и столько воспоминаний

Многопоточность для дронстанций и логика радаров — это что-то, спасибо за подробное объяснение.

Там была интересная Санта-Барбара с многопоточкой несколько лет назад, когда ее в игре вообще не было. Разрабы стояли на своем что многопоточку прикрутить нельзя, один из игроков сказал "смотрите че могу" и запилил за лето прототип факторки.

Удивляет то, что они таки потратили время на внедрение многопоточки/переняли что-то у игрока. Могли бы стоять на своём и дальше

Интересно. Как найти этот сериал в интернете?

https://www.reddit.com/r/factorio/comments/jizq1b/i_programmed_factorio_from_scratch_multithreaded/

Sign up to leave a comment.