The God Game

Vođa projekta:

    Tomislav Rakić - thunderzone@gmail.com

Status Projekta:

    U izradi u teškoj alfa fazi. Kod je hostovan na bitbucketu i to na adresi: https://bitbucket.org/Thunderzone/the-god-game. Tamo se nalaze relevantije informacije o trenutnom statusu projekta kao i nahttps://bitbucket.org/Thunderzone/the-god-game/wiki/Home.

Opis Projekta:

    Uvod:

    Cilj je da uspešno završimo jednu ambicioznu i kreativnu igru. Želeo bih da se ne bavimo nijednim konkretnim žanrom već da pokušamo nešto inovativno a u skladu sa našim mogućnostima, pošto najviše oskudevamo 3d umetnicima. Ideje za igru sam dobio posmatrajući trendove na internetu, ljude sve više zanimaju igre otvorenog sveta.

    Trebalo bi da podseća na Black & White ali samo po izgledu, jer neće biti podanika koji smaraju svojom pričom. Glavni aspekt je dinamičan teren, koji je istovremeno i igralište i igračka. Tokom istraživanja ove teme naišao sam i na From Dust koji mnogo podseća na ono što sam ja zamislio. Igra će biti opuštenijeg tipa, mirnog toga, dozvoljavaće igraču kreativnu slobodu.

    Gameplay:

    Odmah moram da napomenem da je razrada gameplaya i dalje veoma otvorena. Tačno izvođenje gameplaya bi dogovorili svi zainteresovani u radu na ovoj igri, a valjalo bi da precizno zacrtamo design document.

    Od igrača se očekuje da se nađe u negostoljubivom svetu koji može da oblikuje po svojoj želji ka stvaranju svog malog zelenog parčeta sveta u ogromnom prostranstvu. (naravno treba stvoriti iluziju da je prostranstvo ogromno i da može da radi šta poželi). Igrač nije omnipotentan bog i mora biti ograničen nekim faktorima i na taj način primoran da skuplja resurse, ali ne u klasičnom smislu gde se resursi predstavljaju brojačem, već prosto gomilanje (gomilam pesak u ćošak pa kad zatreba da se pravi bedem samo rasporedim). Morali bi uvesti neke elemente koji teraju igrača da napreduje, npr elementarne nepogode. Npr monsun, moraš da kopaš kanale da ti se ne poplavi sve, ili npr suša kopaš kanale za navodnjavanje da ti se ne osuši sve.

     Teren će biti izdeljen na ćelije (tileove), ali ne kvadratne, već šestougaone. Ti tileovi će biti graditeljske kockice celog sveta, koje se slažu jedna na drugu. Ovim ćemo olakšati implementaciju mnogih stvari. Npr imamo izvor vode u jednom tileu, proverimo susede, samo je jedan niži, voda teče ka njemu.  Korisnik ne mora znati da je svet izdeljen tako, on će videti samo renderovanu reprezentaciju sveta koja će da sakrije detalje implementacije.

     Postojaće razni tipovi tileova, sa svojim atributima. Dirt, koji napreduje u grass vremenom, glavna odlika plodnost. Sand erodira. Lava gori, lava+water pravi rock, koji je tvrđi. Treba razraditi još tipova relevantnih za gameplay. Svaki tile svojim prisustvom utiče na susede, npr voda čini okolnu zemlju plodnijom. Treba uvesti još faktora koji bi menjali svet na globalnom nivou. Igrač bi trebalo da može da utiče u manjoj ili većoj meri na balans sistema svojim postupcima. Tileovi mogu da se slažu jedni na druge i tako se formira viši ili niži teren. Slaganje tileova različitog tipa treba posebno da se definiše. Time bi mogli da imamo i podzemni teren (kao u Minecraftu sa rudama). Treba uvesti još neka kombinovanja elemenata. Želim da gui bude minimalistički tj da ga nema, samo razni izgledi kursora i na desni klik informacije o terenu. Jedina interakcija sa terenom preko miša, ovom detalju treba posvetiti pažnje, da li može svaki tile da se iščupa, da li uvoditi alate itd.

     Iluziju prostranstva možemo ostvariti nekakvim fog of warom. Teren se proceduralno generiše nešto šire od pojasa crnila, kad igrač dovoljno istraži generiše se još malo dalje. Naravno generator mora da radi smislene stvari a ne samo nasumično da slaže tileove. Ili možemo zaboraviti na ideju prostranstva i samo generisati jedno ostrvce u moru. Ili sistem ostrvaca + fog of war, jer bi tolka voda ograničila neka kretanja.

     Drugi element igre je flora. Trebalo bi predstaviti osnovne tipove: trava, (visoka trava), zbun, drvo. Kaktus je već ekstra. Vegetacija može već postojati, može se pojaviti sponatno kad se stvore uslovi. Biljke imaju neki svoj život, rastu, periodično izbacuju klice na susedne tileove, ako postoje uslovi mogu da niknu nove, znači šire se i utiču na svet (drvo sprečava eroziju). Moram da napomenem da brzina promene nekog dela sveta neće biti srazmerna realnoj, niti skalirana na taj način, već balansirana da gameplay učini zabavnijim i da bi igrač sagledao posledice svojih dela.

     Fauna: isto kao za biljke mogli bi da uvedemo neki spontani nastanak životinja (kad bude dovoljno vode i zelenila) i nekakvu prostu evoluciju (tj to dođe ko nivoi u igri, otključaš tamo neke živuljke), a mogli bi i da ispaljujemo živuljke iz svemirskog broda i da to bude cilj igre, populisati ekosistem i napraviti ga da bude samoodrživ. Životinje rade 4 stvari jedi, jebi, spavaj (repeat), umri i tu trckaraju okolo i čine sve živahnijim. Trebalo bi i da imaju nivo izgladnelosti i teren koji preferiraju.

     Ne moramo simulirati planetu Zemlju, simuliranje nepoznatog sveta može biti zabavno. Ljudima je lakše da intuitivno shvate kako funkcionišu stvari ovde (zemljišta, zebra jede travu, lav jede zebru). To nas kreativno ograničava, a ako uzmemo stranu planetu možemo da pravimo pravila samo da budu zanimljiva (kravopras jede ventriloid, tripisaurus jede kravoprasa i pesak), možemo imati dva sunca, šareno nebo bla bla. Ako modelujemo ponašanja na zemlji, možemo da uzmemo "zelenost" da nam bude prioritet, takvi projekti pale na konkursima (ekologija).

    Tech:

    Iako je za sada gameplay promenljiv, srž igre nije, a srž je endžin koji će se baviti iscrtavanjem i manipulacijom terenom i to je prva stavka koju moramo da odradimo. Veliki cilj mi je da imamo skupove ponovo iskoristivih klasa, tako da mogu reći da ćemo graditi jedan mini game engine uporedo sa rastom projekta. Jezik koji ćemo koristiti je C++. Rendering engine će biti Ogre3D.

   Svako ko je zainteresovan može se priključiti. Slobodno pošaljite mejl na moju adresu ili nam se javite preko mejla na kontakt stranici.