Промоделювати Трурль витоки цивілізації, тесанням кременю і виготовленням шкур, ящурів і потопи, чотириногих і хвостатих, потім, нарешті, прабледнотіка, який народив бледнотіка, від якого пішла машина, і так летіли еони і тисячоліття в шумі електричних розрядів і струмів; а коли моделює машина ставала тісною для наступної епохи, Трурль майстрував до неї приставку, поки з цих прибудов не утворилося щось на кшталт містечка з переплутаних проводів і ламп, в мішанині яких сам чорт зламав би собі ногу.
С. Лем, «Сім подорожей Трурля і Кляпавція»
Я маленька лупата комашка, плаваюча в доісторичному океані серед мільйонів інших комашок. Подорож по космосу верхом на метеориті було не з легких, але і в первісному бульйоні не варто розслабляти ложноножки - з'їдять і навіть імені не запитають.
Вечір перестає бути томним. Пора линяти.
Океан - величезна і небезпечне місце для істот, які вдесятьох легко сховаються за шматком планктону. Я навіть не знаю, де тут верх і низ, але одне відомо точно: мене чекає велике майбутнє. Коли я відрощу собі ніжки і виповз на берег, мені відкриється чудовий новий світ з зеленими пагорбами, високими деревами і новими знайомими. Потім ми розведемо вогонь, побудуємо будиночки і будемо вечорами співати «Вигин жовтого бубна». Згодом вся ця планета стане нашою, а там і до космосу справа дійде. Супутники будуть борознити орбітальні простори, і міжзоряні кораблі кинуться крізь нескінченний простір туди, куди ще не ступала.
Ай! Прибери від мене свої жвальца! Кусальца і хватальца свої зверни в трубочку - вистачить вже ганятися за мною, знайди собі здобич легше! Неподобство, я, майбутній владика зірок і підкорювач галактики, змушений тікати від якогось рачка. Геть, а то вкушу!
Всім тілом, всім серцем, всією свідомістю - слухайте Революцію.
А. Блок, «Інтелігенція і революція»
Розробники ігор затівають перевороти в жанрах в середньому раз на рік. Щось путнє виходить в світ раз в декілька років, а публіка оцінює старання гідно і того рідше. Але такий шлях дизайнерів-мрійників - і хто, як не вони, підтримує в нас віру в ігрові чудеса серед царства нескінченних наслідувань, продовжень та ігор за ліцензіями.
Земля, прощай! В добрий шлях!
Пам'ятається, наше століття почався з божевільних творінь Пітера Моліна. Легендарний дизайнер бився то в божественні симулятори, то в рольові казки, то в «іграшковий» кінематограф - з успіхом, треба сказати, вельми змінним (в боготрон не завезли ігровий процес, Fable обрізали так, що нічого не виросло, а відмінний симулятор голлівудської студії просто не надихнув гравців).
Спеціаліст з комп'ютерних пісочницях, віртуальним ляльковим будиночків і симуляції біосфери планет, Уїлл Райт замахнувся на те, щоб об'єднати кілька симуляторів в один, провівши створену гравцем з нуля інопланетну расу через всі стадії розвитку - від амеб і тварин зграй до танків і зорельотів. Sim Everything - так мала називатися гра, але хтось із розробників студії Maxis запропонував робоча назва Spore. і воно приклеїлося.
Маленькі живі вертолетік - лише один із проявів божевільної фантазії творців істот.
Витівка була настільки смілива, що Spore з ходу завоювала кілька нагород на престижних конвентах, а публіка окропом кипіла, бачачи, яких диких монстриков клепає Уїлл Райт з комплекту запчастин. Навіть кілька переносів релізу не остудили запал гравців - гра заволоділа серцями і умами, а ми в ЛКИ припустили, що успіх їй гарантований, навіть якщо в ній не буде нічого, крім конструктора істот. Немов почувши наші слова, розробники випустили в середині літа конструктор окремо, і мільйони звірів заселили сторінки «Спорепедіі».
Тут треба сказати, що Уїлл Райт не втомлювався нагадувати про процедурному походження всесвіту Spore - він підносив хвалу трудівникам демосцени, уміщається цілі гри і машініми в кілька кілобайт коду, і обіцяв, що ДНК-паспорт кожної ігрової зверюги вміститься в пару тисяч знаків.
Тільки з виходом конструктора звірів ми дізналися зловісний сенс його слів, і волосся заворушилися у нас на головах: кожен звірюка був захований в. власної зображенні розміром в 128x128 пікселів. На малюнку - портрет в три чверті, але в останньому бите кожного колірного каналу кожного пікселя був методом стеганографії (прихованої тайнопису) зашифрований весь звір - від іклів до кінчика хвоста. Жах. Жах.
Якщо розробники пішли на такий крок, чого чекати від них у самій грі? Приблизно тих же чудес компактності і строгих математичних правил, але в масштабах космосу.
Процедури, процедури, а я маленький такий
Що таке процедурна генерація ігрового наповнення? Відповісти на це питання можна по-різному. Хтось згадає створені «на льоту» підземелля з відомої серії Diablo - розумна машина склеює їх з готових шматочків: ось вам і наповнення, ось і процедури. Розробники Blizzard. до речі, не були першими, хто ввів в рольову гру «випадкові» підземелля. Цей принцип існував давно, і за два роки до першого Diablo ми бродили по підземеллях затоки Іліак в грі The Elder Scrolls II: Daggerfall.
Хтось згадає про графічному буяння демосцени, де божевільні художники (це не я сказав, це Вілл Райт так про них відгукнувся) заштовхують в лічені кілобайти коду механізми створення текстур, моделей, анімації і навіть музику. Те, що вони творять, може бути визнано дивом: наприклад, гра .kkrieger - це самий натуральний бойовик від першої особи з графікою, порівнянної з Doom III. Важить .kkrieger всього дев'яносто шість кілобайт. «Старики», звичайно ж, приведуть в приклад серію Elite. де космічний корабель гравця літав по гігантської всесвіту з десятками тисяч зірок і планет - всі вони були згенеровані за математичними правилами.
Насправді поняття процедурної генерації набагато ширше. Наприклад, ефект частинок в іграх - це теж процедура (анімація адже не прописана заздалегідь, а обчислюється на ходу). Процедурної можна назвати і лялькову анімацію - вона теж не закладена в гру, а розраховується на ходу.
Останнім часом процедури стають все більш популярні як спосіб скинути на комп'ютер задачу створення наповнення. Вони застосовуються там, де потрібно згенерувати пейзаж (програма Terragen) або розставити рослинність (генератор рослинності SpeedTree). За допомогою математики генеруються текстури каменів і хмар на небі - і взагалі всього, що створюється природою.
Природа взагалі обожнює процедурну генерацію, адже вона придумана не розумними програмістами, а самим життям: адже що таке спору, що не шматочок ДНК з інструкціями по його «розпакуванні» в рослину?
В Spore створюється процедурними способами майже все наповнення. Істоти записуються не у вигляді моделей і текстур, а в формі лаконічного «ДНК-паспорта», де в кілька тисяч бітів вміщаються правила створення звіра з наявного під рукою комплекту запчастин. Анімація тварин створюється на ходу - гра бере готові шаблони і адаптує їх до кожного звіра, враховуючи всі його дивацтва. Навряд чи варто говорити про те, що ці ж правила діють і стосовно рослин, будівель і навіть техніки - їх навіть простіше записати у вигляді рівнянь, так як не треба мучитися з анімацією.
Поверхня планет теж генерується грою - якщо температура висока, океани перетворюються в лаву, а коли планета замерзає, в океанах з'являються айсберги, а атмосфера випадає снігом. При тераформуванні планета змінюється на очах: розтікаються моря, змінює колір грунт, згладжуються гори.
Навіть музика в грі підпорядкована суворим математичним правилам. У фазі цивілізації можна навіть придумати гімн свого народу, покопавшись з настройками і попросивши гру згенерувати простенький мотивчик.
Результатом процедурних старань розробників стала гігантська всесвіт, яку можна описати мало не декількома байтами. Без такої лаконічності неможливо було б створити енциклопедію Sporepedia. в якій гравці змогли б обмінюватися десятками і сотнями істот просто так, мимохідь.
Уїлл Райт пообіцяв, що процедури змінять майбутнє ігрового контенту. І Spore - кращий тому доказ.
Раптом репродуктор каже:
«В тайгу впав метеорит».
Весь світ схвильований, світ шумить: