петак, 26 априла, 2024
Забавне стране

Процедурално генерисање садржаја у видео играма

Аутор: Стефан Стојановић

Процедурално генерисање садржаја у видео-играма није нов концепт. Никако. У ствари, један је од старијих. У славно, носталгично доба Commodore-a 64 и Elite-а који је на дискету спаковао осам галаксија, процедурално генерисање је било не само норма, већ и једини начин да се играчима достави било каква значајна количина садржаја. Неколико деценија и неколико експлозија процесорске и меморијске снаге касније, ограничење је посталo људска снага. Како попунити Blu-ray са high definition садржајем на који су се, сад већ помало размажени, играчи тако лако навикли. Наравно увијек постоји опробани капиталистички систем буџета од неколико десетина милиона долара који отклања већину проблема као што су Rockstar-ов Grand Theft Auto серијал, Bethesda-ин The Elder Scrolls. Примјера успјеха без процедуралног генерисања не недостаје, али шта ако којим случајем немате бруто друштвени производ омање државе на располагању за улагање? Сви, од гиганата индустрије до индијских програмера се полако враћају древној црној магији, процедуралном генерисању.

Иако дијелом заборављено од стране већине у индустрији, процедурално генерисање се развијало и сазријевало.

Подстакнути натјецањима настали су пројекти као што је .kkrieger из 2004. године од стране њемачког демо тима .theprodukkt. Они су на 96 килобајта смјестили укупан кôд потребан за видео игру која је визуелно парирала вршњацима. Практично, сав садржај у .kkrieger-у процедурално је генерисан. Текстуре се чувају на основу историје стварања која се прослеђује генератору текстура. Сви wireframe-ови се конструишу из сета базичних облика, који се затим деформишу у жељене облике. За аудио је задужен V2 синтисајзер, ком се прослеђује ток MIDI података, на основу ког у реалном времену генерише музику и звук. Без процедуралног генерисања .kkrieger би заузимао отприлике две до три стотине мегабајта. Све у свему, импресиван je технички демонстратор. И што је вјероватно важније, потпуно је open source. Изворни кôд финалног производа, као и алата кориштених у његовом стварању, може се наћи и преузети на https://github.com/farbrausch/fr_public .

Овакви екстремни примјери наглашавају предности процедуралног генерисања. Уз већ споменуту уштеду радних сати и меморијског простора, ту је и чињеница да отклања понављање текстура, које може врло ефикасно да поквари изглед сваког врхунски освјетљеног и осјенченог ремек-дјела. Чињеница да користи више процесорске снаге него чисто учитавање садржаја, не представља проблем, јер је процесорска снага тренутно у суфициту, док је меморија, поготово са ширењем интернет дистрибуције, у дефициту.

Поред ових сасвим логичних и економски мотивисаних примјена, процедурално генерисање има и другу, креативну страну. Valve, народни херој међу компанијама, развио је напредни A.I. Director. A.I. режисер, на основу тренутног стања играча, генерише или уклања објекте у нивоу. Главни адут Gearbox-овог Borderlands серијала је процедурално генерисање оружја и опреме. Феномен Minecraft и његови сад већ многобројни клонови обећавају практично неограничена пространства за истраживање.

У оваквим примјерима вјероватно и лежи, барем дијелом, будућност процедуралног генерисања и видео игара уопште. Креативни и иновативни начини игре се све више цијене. Тачније речено одувијек су се цијенили, али су огромни буџети који су дуго времена били неопходни, а који су са собом повлачили висок ризик и корпоративну инерцију, гушили иновацију. Нови трендови мањих игара, crowdfunding-а, независних развојних тимова и ретро стила, стварају услове повољне за иновацију чији је вјероватно најјачи алат процедурално генерисање садржаја.