DnD Pasauļu Ģenerēšana
DnD jeb Dungeons & Dragons ir ('tabletop') RPG galda spēle, kas ir spēlējama, principā, ar papīra lapas un zīmuļa palīdzību. Liela sagatavošanās spēlei notiek vēl ilgi pirms tās sākuma, kad spēles vadītājs ('Dungeon Master DM') sagatavo spēles karti un izdomā spēles scenāriju, bet tās dalībnieki izveido savu personāžu. Šīs darbības notiek atbilstoši DnD spēles noteikumiem. Pati spēle notiek sarunājoties, t.i., skaļi paziņojot sava personāža darbības, uz ko DM atbild ar pasaules reakciju - dažādu spēles elementu mijiedarbību ar personāžu atbilstoši iepriekš sagatavotajam scenārijam. Nejaušības elementu spēles gaitā ievieš metamie kauliņi ar dažādu skaldņu skaitu.
Tātad, lai varētu spēlēt, ir jāiegulda liels sagatavošanās darbs. Mēs pētīsim iespējas šo sagatavošanās darbu automatizēt.
Pirmkārt, jānoskaidro, kas ir jau izdarīts tieši DnD jomā:
- donjon
- Redit resurss
- ...
Otrkārt, jānoskaidro, kas ir izdarīts pasauļu ģenerēšanas jomā spēlēm vispār:
- Joris Dormans darbi:
- Apakšnodaļa PCG grāmatā
- Designing Procedurally Generated Levels
- By David Adams: Automatic Generation of Dungeons for Computer Games
- University of Derby, By Becky Lavender: The Zelda Dungeon Generator: Adopting Generative Grammars to Create Levels for Action-Adventure Games
- Generating Procedural Dungeons in Galak Z, tiek pārunāti dažādi algoritmi to plusi un mīnusi
Jautājumi, iespējamās grūtības:
- Vai veicam 1 ģenerēšanu visai pasaulei un dungeoniem vai tomēr veicam atsevišķu generēšanu šīm lietām ?
- Vai ģenerējot karti arī automātiski pievienojam arī briesmoņus un lamatas ?
- Kvadrātu vai seštūru karti ? Vai abus (pēc izvēles) ?
- "Formu" sakritība starp ēkas stāviem (piemēram, 1. stāvs 10x10 laukums, bet otrajā 100x100, iespeājams ir šajās pasaulēs, bet nav īpaši ticami)
- Saistība ar pilsētu ģenerešanā, vajadzēs izdomāt noteikumus (piemēram, pils neatradīsies blakus bāram...). Dažādu veidu pilsētām un stiliem savi "noteikumi"
- Vai attēlojam tādus objektus kā galdus, letes, gultas... ?
- Dažādu dabas objektu attēlošana kartēs (meži, vulkāni, tundra, tuksneši, džungļi, kalni, ... -visticamāk katram savi noteikumi)
Mērķi:
- Izveidot programmu, kas ļautu uzģenerēt doto karti
- Karti var modificēt (gan manuāli, gan arī izvēloties darbības apgabalu kartē un izveidojot savu stāstu, šis kartes apgabals tiktu "pārakstīts")
- Jāvar dalīties ar savu stāstu (jāvar uzģenerēt doto karti tādu pašu ja ir nepieciešams)
- Izmantojot 1 stāstu var uzgenerēt dažādas kartes, kuras seko šī stāsta scenārijam
Ceturtkārt, jāatzīmē jebkāda interesanta lieta, ko sastapsim:
- TinyKeep spēles kartes ģenerātors
- Īpatnējs kartes ģenerātors, var mainīt tikai izmēru
- Kartes ģenerātors, ir pieejami pāris parametri pēc kuriem ģenerēt karti
- Kartes ģenerātors, tiek izmantoti seed, tādēļ var izveidot to pašu karti atkārtoti. Izstabas ar "kontekstu"
- Kartes ģenerātors, beta stadija, dažādi parametri
- DunGen karšu ģenerātors prieks Unity engine
- Pieejami dažādi saiti, gan uz karšu ģenerēšanu, gan uz "briesmoņu" datu bāzi
- Graph Grammar and Voronoi based Level Generation for a Roguelike - Work in Progress. Rakstam ir pievienots links uz video, kur tiek demonstrēts darbības princips (vismaz daļa)