petak, 27 decembra, 2024
Zabavne strane

Proceduralno generisanje sadržaja u video igrama

Autor: Stefan Stojanović

Proceduralno generisanje sadržaja u video-igrama nije nov koncept. Nikako. U stvari, jedan je od starijih. U slavno, nostalgično doba Commodore-a 64 i Elite-a koji je na disketu spakovao osam galaksija, proceduralno generisanje je bilo ne samo norma, već i jedini način da se igračima dostavi bilo kakva značajna količina sadržaja. Nekoliko decenija i nekoliko eksplozija procesorske i memorijske snage kasnije, ograničenje je postalo ljudska snaga. Kako popuniti Blu-ray sa high definition sadržajem na koji su se, sad već pomalo razmaženi, igrači tako lako navikli. Naravno uvijek postoji oprobani kapitalistički sistem budžeta od nekoliko desetina miliona dolara koji otklanja većinu problema kao što su Rockstar-ov Grand Theft Auto serijal, Bethesda-in The Elder Scrolls. Primjera uspjeha bez proceduralnog generisanja ne nedostaje, ali šta ako kojim slučajem nemate bruto društveni proizvod omanje države na raspolaganju za ulaganje? Svi, od giganata industrije do indijskih programera se polako vraćaju drevnoj crnoj magiji, proceduralnom generisanju.

Iako dijelom zaboravljeno od strane većine u industriji, proceduralno generisanje se razvijalo i sazrijevalo.

Podstaknuti natjecanjima nastali su projekti kao što je .kkrieger iz 2004. godine od strane njemačkog demo tima .theprodukkt. Oni su na 96 kilobajta smjestili ukupan kôd potreban za video igru koja je vizuelno parirala vršnjacima. Praktično, sav sadržaj u .kkrieger-u proceduralno je generisan. Teksture se čuvaju na osnovu istorije stvaranja koja se prosleđuje generatoru tekstura. Svi wireframe-ovi se konstruišu iz seta bazičnih oblika, koji se zatim deformišu u željene oblike. Za audio je zadužen V2 sintisajzer, kom se prosleđuje tok MIDI podataka, na osnovu kog u realnom vremenu generiše muziku i zvuk. Bez proceduralnog generisanja .kkrieger bi zauzimao otprilike dve do tri stotine megabajta. Sve u svemu, impresivan je tehnički demonstrator. I što je vjerovatno važnije, potpuno je open source. Izvorni kôd finalnog proizvoda, kao i alata korištenih u njegovom stvaranju, može se naći i preuzeti na https://github.com/farbrausch/fr_public .

Ovakvi ekstremni primjeri naglašavaju prednosti proceduralnog generisanja. Uz već spomenutu uštedu radnih sati i memorijskog prostora, tu je i činjenica da otklanja ponavljanje tekstura, koje može vrlo efikasno da pokvari izgled svakog vrhunski osvjetljenog i osjenčenog remek-djela. Činjenica da koristi više procesorske snage nego čisto učitavanje sadržaja, ne predstavlja problem, jer je procesorska snaga trenutno u suficitu, dok je memorija, pogotovo sa širenjem internet distribucije, u deficitu.

Pored ovih sasvim logičnih i ekonomski motivisanih primjena, proceduralno generisanje ima i drugu, kreativnu stranu. Valve, narodni heroj među kompanijama, razvio je napredni A.I. Director. A.I. režiser, na osnovu trenutnog stanja igrača, generiše ili uklanja objekte u nivou. Glavni adut Gearbox-ovog Borderlands serijala je proceduralno generisanje oružja i opreme. Fenomen Minecraft i njegovi sad već mnogobrojni klonovi obećavaju praktično neograničena prostranstva za istraživanje.

U ovakvim primjerima vjerovatno i leži, barem dijelom, budućnost proceduralnog generisanja i video igara uopšte. Kreativni i inovativni načini igre se sve više cijene. Tačnije rečeno oduvijek su se cijenili, ali su ogromni budžeti koji su dugo vremena bili neophodni, a koji su sa sobom povlačili visok rizik i korporativnu inerciju, gušili inovaciju. Novi trendovi manjih igara, crowdfunding-a, nezavisnih razvojnih timova i retro stila, stvaraju uslove povoljne za inovaciju čiji je vjerovatno najjači alat proceduralno generisanje sadržaja.