Оптимізація живих міст у Corsairs Legacy для Steam Deck і слабких ПК
Для команди Tech-5 UG та Corsairs Legacy одним із найбільших технічних викликів було знайти правильний баланс між:
- візуальним реалізмом
- продуктивністю CPU
- використанням пам’яті
- та сумісністю зі Steam Deck
Живе карибське місто потребує заповнених вулиць, NPC, що рухаються, таверн, ринків, моряків, охоронців та динамічних взаємодій. Але кожен NPC має значну технічну "вартість".
Чому NPC — це дорого
Кожен динамічний NPC у Corsairs Legacy потребує:
- оновлення скелетної анімації
- обробки ШІ-поведінки
- розрахунків pathfinding
- взаємодії з navigation mesh
- перевірок колізій
- змішування анімацій
- та CPU-оновлень у кожному кадрі
Сучасні character rig-и можуть містити десятки кісток на одного персонажа, і коли це масштабується на великі міста, витрати продуктивності дуже швидко зростають.
На слабшому залізі, особливо на портативних пристроях на кшталт Steam Deck, це стає серйозним bottleneck.
Основний виклик
Метою було не просто зменшити кількість NPC.
Справжній виклик полягав у тому, щоб зберегти ілюзію повністю живого міста, одночасно значно зменшивши обсяг симуляції, що виконується в реальному часі.
Система також мала уникати очевидних “pop-in” ефектів або ситуацій, коли вулиці раптово стають порожніми при зміні графічних налаштувань.
Динамічна система стрімінгу NPC
Щоб вирішити цю проблему, команда розробила власну систему динамічного стрімінгу NPC.
Замість симуляції всіх NPC на острові одночасно:
- лише NPC поруч із гравцем є повністю активними
- тоді як віддалені NPC вивантажуються або віртуалізуються
Це означає:
- NPC поблизу продовжують ходити, розмовляти та реагувати
- тоді як далекі NPC перестають споживати CPU-ресурси, пов’язані з геймплеєм
Поза радіусом активної симуляції:
- анімації ставляться на паузу
- оновлення ШІ зупиняється
- розрахунки руху вимикаються
- а NPC можуть динамічно переміщуватись між зонами міста
У результаті світ усе ще виглядає населеним і правдоподібним з точки зору гравця, тоді як рушій уникає симуляції сотень непотрібних персонажів.
Оптимізація на основі камери
Цікавий побічний ефект цієї системи можна побачити у Photo Mode.
Оскільки логіка оптимізації прив’язана до позиції гравця, а не вільної камери, при відльоті далеко від персонажа можна побачити ділянки острова зі значно меншою кількістю активних NPC.
Це зроблено навмисно.
Система пріоритизує продуктивність під час реального геймплею, а не підтримку повної симуляції всієї мапи одночасно.
Розумне масштабування щільності NPC
Ще однією важливою ціллю було зробити так, щоб графічні налаштування впливали на продуктивність, а не на immersion.
Традиційні системи щільності NPC часто роблять міста очевидно порожніми на низьких налаштуваннях.
Натомість у Corsairs Legacy масштабується:
- кількість активно симульованих NPC
- частота оновлень
- та активна ШІ-популяція навколо гравця
Наприклад:
- на високих налаштуваннях поруч може бути близько 100 активних цивільних NPC
- тоді як на низьких - ближче до 40
Однак завдяки лозіці розподілу спавну та правилам стрімінгу місто все одно візуально виглядає живим і населеним.
Створено для Steam Deck
Ці оптимізації стали особливо важливими для досягнення стабільної продуктивності на Steam Deck.
Портативне залізо має значно жорсткіші обмеження CPU та енергоспоживання порівняно з десктопними ПК, тому кожне зайве оновлення анімації або ШІ-розрахунок мають значення.
Завдяки агресивній оптимізації симуляції NPC при збереженні візуальної щільності команда змогла залишити великі міста правдоподібними без втрати продуктивності.
Ефективне створення живих світів
Для команди Tech-5 виклик ніколи не полягав просто в тому, щоб “додати більше NPC”.
Справжній інженерний виклик був у вирішенні:
- які NPC взагалі потребують симуляції
- коли саме вони повинні споживати ресурси
- та як зберегти immersion, динамічно зменшуючи CPU-навантаження у фоновому режимі
Фінальна система дозволяє Corsairs Legacy підтримувати великі та живі карибські міста, залишаючись масштабованою для широкого спектра конфігурацій заліза.

















