Rail grid

Written by Ph.X, edited by stringweasel, Nanogamer7, Conor_, Therenas, Firerazer

This fine week in March, first-time contributor Ph.X talks about their very compartmentalized system for laying out a base using isolated modules and connecting them through a Logistic Train Network. Taking inspiration from software development and the lessons learned there, Ph.X uses the concepts of Modular Programming to their advantage.

Also, in other news, we now offer an email list that you can subscribe to! If you don’t browse reddit or the forums or even our Discord regularly, we now offer the option of the ever-popular concept of an email list. Just enter your email here and you’ll be notified every Friday on release of the newest issue. We will of course only ever use this for Alt-F4 posts, and not spam you with irrelevant crap.

Recipe-Oriented Factorio Life Ph.X

Factorio has a complex network of production lines (i.e. spaghetti) that make the game fun and challenging. It’s a complex engineering problem with similar challenges to software engineering, so I think it is worthwhile to use some real-life experience to improve the game experience.

What is ‘ROFL’

People with programming experience should have heard of Object-Oriented Programming Modular Programming, which is the theory that Recipe-Oriented Factorio Life (ROFL) aims to mimic. Modular programming is a software design technique that emphasizes separating the functionality of a program into independent, interchangeable modules, such that each contains everything necessary to execute a single aspect of the desired functionality. In ROFL, we divide the whole factory into independent, interchangeable subfactory modules, such that each contains everything necessary to process only one recipe of the desired factory.Читать полностью

опублікували Abregado, Klonan

Оновлення Демо для стабільної версії Abregado

Введення як Демо

Загалом, сценарій Введення в гру був дуже добре прийнятий. Зворотній зв’язок був наповнений, і це було дуже корисно. Отримувати скріншоти від всіх вас було прекрасно. Ми в основному задоволені станом ігрового процесу, і, схоже, він надає правильний вплив на нових гравців.

Коли 0.17 перейде в стабільний режим, буде потрібна нова версія Демо. Сценарій Введення завжди планувався як Демонстрація, але все ж є деякі перешкоди, які ми хочемо вирішити.

Навантажувачі / Подаючий механізм / Споживачі

Ще в FFF-284 ми обговорювали план щодо заохочення нових гравців для використання конвеєрів. Це рішення працювало дуже добре під час фокусного тестування, коли цільовими точками були Підземні конвеєри замість Навантажувачів. Навіть після того, як ми змінили цілі на Навантажувач, гравці як і раніше будували конвеєри, але ефект був не таким сильним. Я сподівався, що це можна вирішити, коли Навантажувачі отримають нову графіку.

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

Це порушує фундаментальне правило, яке було прийнято ще в FFF-128, коли розглядалися Навантажувачі. Це правило полягає в тому, що є тільки один спосіб переміщати елементи між структурами, використовуючи маніпулятори. Незважаючи на те, що предмети фактично ніколи не передавались, і наша мета полягала в тому, щоб їх поглинав Навантажувач, досить, щоб гравець міг подумати, що вони були передані.Читать полностью

опублікували Twinsen, v453000

Маніпулятори тепер розумніші Twinsen

Кілька днів тому я досліджував досить незначнее повідомлення про помилку, відноситься до «обертальних асиметрії у взаємодіях конвеєра і маніпулятора» (інакше кажучи, маніпулятор не вів себе однаково при повороті). Це був класичний випадок порівняння рівності з плаваючою точкою.

Маніпулятор рухається, а потім бере предмет, якщо поточна орієнтація руки дорівнює бажаній орієнтації руки. Через деякий ланцюжка обчислень, пов’язаних з обертанням, деяка точність була втрачена, і перевірка на рівність провалилася б на 1 такт, що затримало б прийом елемента на 1 такт в деяких поворотах маніпулятора. Тому я виправив це, закінчивши рух маніпулятора, якщо воно досить близько. Тепер маніпулятори повинні бути трохи швидше в деяких поворотах, плюс все обертання знову повинні бути симетричними і ідентичними.

Аналізуючи код і поведінку маніпулятора для цієї помилки, я також зауважив, що маніпулятори з бонусом стека нічого не зроблять за 1 тик після того, як заберуть предмет з конвеєра. Я змінив це так, що маніпулятори почнуть переміщатися до нової мети відразу після того, як вони щось підберуть. Це також прискорило пакетний маніпулятор.
Читать полностью

опублікували Klonan, Rseding

Автомобілі / Танки пам’ятають свій колір Klonan

Це дійсно крихітна фішка, автомобіль і танк тепер будуть зберігати колір пасажирів при виході з автомобіля.

Так що тепер ви не забудете, на якому транспортному засобі ви їхали, і можете попередити всіх інших на сервері: «Рожевий танк – мій».

Різноманітні помилки Rseding

Як би нецікаво це не було; більшість помилок нудні і зазвичай пов’язані з відсутнім кодом. Хтось забув реалізувати частину нової функції, забув, що може статися якась ситуація, забув перевірити нульове значення. Рідко цікаві речі виявляються там, де все працює, але не так, як ми цього хочемо.

Продуктивність: це завжди не те, що ви думаєте

Нещодавно у нас був звіт про помилку, коли гра з модами зависала на хвилину без видимої причини, а потім продовжувала, як ніби нічого не було. Це була сильно модифікована гра, і моя перша реакція полягала в тому, щоб звинуватити моди в тому, що вони щось роблять неоптимізованими чином. Але я повинен був перевірити це, щоб з’ясувати, який мод викликав проблему. Після відтворення … Мені нагадали (знову), що це (майже) завжди не те, що ви думаєте.
Читать полностью