Процедурна генерація, Starbound Вікі, FANDOM powered by Wikia

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

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

Однак це стосується не лише. Високо-технологічні скрині мають випадкову технологію, в деяких скринях також можна знайти випадкові для вашого світу предмети. І точно унікальні монстри, корабель та інші предмети/об'єкти заздалегідь створені людьми.

Розглянемо, з чого генеруються

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

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

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

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

Розташування блоків розглянемо з прикладу бруду:

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

Різні планети мають різне освітлення. На різних планетах одні й самі природні блоки фарбуються по-різному (це забарвлення залишається й у інвентарі). Частина будівельних блоків можуть офарблюватися фарбопультом. Різні кольори таких блоків заздалегідьстворені розробниками. зброя, обладунки, ніпи та інше у файлах мають одне забарвлення, кольори якого програмно замінюються за заздалегідь написаними варіантами.

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

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

База будь-якого гуманоїда складається з тіла з ногами, голови з очима, передньої та задньої рук.

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

Чи не унікальні монстри збираються з різних частин. Як правило до них відноситься тіло, голова, кінцівки (переднього та заднього фону), хвіст. Для кожного типу монстрів є власний набір видів різних частин. Від обраної частини тіла залежить переміщення, поведінка при атакі, і власне те, як завдається шкоди. Монстр також може "плюватися" певними "снарядами".

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

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

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

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