Блог розробників (FFF#283) – Підготовка до запуску


опублікували kovarex, Albert, V453000, Bilka, Sanqui

Тестування (kovarex)

Ми тестували кілька днів на цьому тижні. Були деякі речі, які ми повинні були виправити на льоту, але ми все ще могли грати досить багато, тому я б сказав, що все пройшло на диво добре. Ми змогли отримати 3 розраховані на багато користувачів бази на пізній стадії гри.

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

Налаштування поглинання забруднення
В 0.16 одна з початкових налаштувань карти, що відноситься до забруднення, називається швидкістю розсіювання. Його підказка говорить: «Контролюйте, як швидко забруднення розсіюється природним шляхом» .Але зазвичай ніхто не чіпає настройку, і нам дійсно довелося копатися в коді, щоб з’ясувати, що насправді робить опція.

Це був модифікатор того, скільки забруднення поглинається “плиткою”. І діапазон становить від 1 до 1000. Ви не можете реально встановити його нижче значення за замовчуванням 1, а, наприклад, встановити його на 100, ефективно видаляє всі забруднення, так як плитки раптово поглинають в 100 разів більше забруднення. Тому ми змінили назву і опис параметра на модифікатор поглинання, а в підказці йшлося «Модифікатор того, скільки забруднення поглинається деревами і плитками». Тепер значення варіюються від 10% до 400%, так що ви можете використовувати їх, щоб зробити гру складніше. Так, і заводський Deathworld тепер становить 50% 🙂

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

Все йде нормально. Але є фундаментальна проблема з алгоритмом, який ми використовуємо, оскільки ми випадково з’ясували, подивившись налагоджувальні дані Спаунера поруч з нашою базою.

Як бачите, Спавнеру потрібно 200 забруднень, щоб відправити монстра в атаку, але він уже накопичив понад 100 тис. Забруднення, що досить для наступних 500 монстрів. По суті, проблема в тому, що Спавнер може накопичувати необмежену кількість забруднень з набагато більшою швидкістю, ніж будь-коли. Таким чином, перший ряд гнізд може легко запобігти накопиченню забруднення іншими гніздами, що порушує масштабування складності і всю механіку. Незалежно від того, чи робите ви невелике забруднення або божевільна кількість його, кількість атак може бути однаковим.

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

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

Кусаки застряють в своїх базах
Ще одна проблема, яку ми помітили з Кусак, полягає в тому, що вони досить часто застрявали на власній базі. Ми виявили, що вони можуть бути легко оточені спаунерами або червяками

Щоб вирішити цю проблему, ми просто додали нове необов’язкове властивість в визначення сутності з ім’ям map_generator_bounding_box, яке за замовчуванням дорівнює collision_box. Його можна збільшити, щоб обмежити розміщення об’єкта генератором карт, щоб простір навколо об’єкта був чистим. Він також використовується, коли Кусаки будують нові бази. Додавання безпечного місця в 1 плитку навколо всіх спаунеров і черв’яків змусило бази мати достатньо місця, щоб Кусаки могли пройти через нього.

В майбутньому ми (або будь-хто інший) могли б використовувати цю властивість, щоб обмежити щільність дерев в лісі або подібні речі.

Кусаки застряють на конвеєрах
Стратегія поставити конвеєри на шляху кусак для поліпшення захисту – хороший приклад розвивається ігрового процесу, але ми помітили, що він, як правило, дуже сильний. З’ясувалося, що у кусак в коді є невелика помилка, яка сильно впливає на їх рух конвеєрами.

Отже, posila пішов далі і виправив це, і тепер Кусакb як і раніше зважають на  конвеєри, але це більше їх не турбує. Як ми не помітили це як 2 роки?

Ознайомча кампанія(NPE/Туторіал/Demo)

Починаючи з версії 0.17 ми випустимо першу публічну версію нової ознайомчої кампанії. Через це, природно, ми будемо видаляти старі кампанії «Перші кроки» та «Нова надія».

«Основна кампанія» буде додана в гру пізніше, і ми представимо більш детальну інформацію про «Введення» і «Основні кампанії» на наступному тижні.

Рідини

Ми тестували алгоритм, і було багато за і проти, але час ішов, і були деякі проблеми, які не так просто виправити. Щоб речі не зламалися способами, які ми не могли передбачити, і щоб не затримувати реліз далі, ми вирішили розділити зміни.

Таким чином, запобігання змішування рідини і оптимізація поновлення рідини знаходяться в 0,17, але новий алгоритм був відкладений для подальших досліджень.

Wiki план (Bilka)

З майбутнім випуском нової експериментальної версії, велике питання для вікі – коли вона буде оновлена ​​до цієї версії. У минулому ми оновлювали всю вікі до експериментальної версії через кілька тижнів після її випуску, але ми міняємо це: ми плануємо оновити вики до експериментальної версії відразу після випуску. Я написав кілька сценаріїв, щоб прискорити цей процес, тому, як тільки ви побачите, що реліз вийшов, ви можете перейти на вікі і ознайомитися з новими рецептами і технологіями, не чекаючи, поки хтось оновить цю інформацію. Крім того, буде створено клон зі станом 0,16 вікі, який буде доступний для читання в вікі на сайті stable.wiki.factorio.com для гравців, що віддають перевагу використовувати стабільну версію гри.

Ескізи модів (Sanqui)

Невелика новина для розробників модів. У новому внутрішньоігровому меню модів(FFF-272)буде показувати мініатюри для модів разом з описом модів. Оскільки ви повинні мати можливість взаємодіяти з встановленими настройками мода також в автономному режимі, мініатюри повинні бути доступні в пакеті мода. Щоб відобразити мініатюру, просто вставите thumbnail.png поруч з вашим info.json. Роширення144 × 144 пікселів, таке ж, як і раніше на порталі модів. Відтепер мод портал буде враховувати тільки ескізи, надані таким чином.

Скрині з високою роздільною здатністю (Albert)

Прийнято вважати, що чим менше сутність, тим легше її створити. Менше пікселів = менше роботи. Ну, не обов’язково. Як і у іконки, у вас дуже мало місця для вираження багатьох понять, матеріалу, використання, стилю і т. Д. Деякий час я робив начерки і 3d ескізи для скринь, і це найкраща версія, яку я отримав для всіх з них:

дерев’яний: Тут нічого міняти, тільки переклад дозволу і деталей.
залізний: Раніше у нас була плутанина між залізом і сталлю. Тепер різниця набагато зрозуміліше.
сталевий: Більш сучасний і індустріальний вигляд. Як транспортний контейнер.
нескінченний: Не всі знають, що ця скриня існує, тому що він створений для тестування, ви знайдете його в редакторі карт.
логістичний: Дизайн намагається наслідувати стилю робопорта, і ми вводимо нову концепцію, анімацію для відкриття / закриття дверей.

Ракетна шахта з високою роздільною здатністю (V453000)

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

Ми визнали, що дизайн Ракетної шахти, який ви можете побачити в 0.16, має різні проблеми, які ми хотіли б вирішити. На перший погляд очевидно, що він більше не вписується в візуальний стиль Factorio і виглядає недоречно. Не тільки тому, що там дуже темно, але і тому, що гігантський елемент мозаїки 9×10 повністю заповнений в прямокутну форму. Це в основному сприяє тому, що він виглядає як прямокутна наклейка на екрані, а не як єдине ціле в світі.

Багато елементів старої моделі були занадто блоковими і штучними для сучасного погляду Factorio. Згодом ми в основному замінили всі області моделі новими сітками. Альберт допоміг мені, створивши роботи-маніпулятори і їх корпусу в бетонній основі ракетної шахти яке ви можете побачити нижче.

Коли ми почали працювати над зміною дизайну шахти з високою роздільною здатністю, перше рішення, яке ми прийняли, полягало в тому, що тепер це буде об’єкт 9×9, щоб ви могли правильно обертати креслення Це буде означати, що конструкція у верхній частині вихідного ракетної шахти повинна була піти, і отвір було б більше переміщено до центру об’єкта.

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

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

І останнє, але далеко не меншу, у шахти є одна величезна перевага – велика частина анімації відбувається процедурно, що означає, що самі вихідні зображення є статичними PNG. Це забезпечує більшу гнучкість і міць в поствиробництва Photoshop, що ми не можемо собі дозволити з сильно анімованими об’єктами, такими як, наприклад, потяги. Це зробило закінчення процесу надзвичайно приємним і дозволило нам дійсно правильно його завершити.

0.17 на порозі

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

Як завжди, дайте нам знати, що ви думаєте на нашому форумі.

Comments: