This shows you the differences between two versions of the page.
gp:cursuri:01 [2024/10/04 13:59] 127.0.0.1 external edit |
gp:cursuri:01 [2025/02/03 21:29] (current) maria_anca.balutoiu [Scurt Istoric al Generării Procedurale] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== Cursul 01. ==== | + | ===== Cursul 01. Introducere în generare procedurală ===== |
+ | |||
+ | ==== Ce este Generarea Procedurală? ==== | ||
+ | Generarea procedurală reprezintă crearea algoritmică de conținut în loc de proiectare manuală. Este un proces care combină randomness cu reguli pentru a produce conținut structurat. | ||
+ | |||
+ | Generarea procedurală se utilizează în domenii precum: | ||
+ | * Jocuri: Generarea nivelurilor, terenului, texturilor, AI-ului, sistemelor de loot | ||
+ | * Film, Design & Artă: Texturi procedurale (CGI), fractali în arta digitală | ||
+ | * Simulări: Climat, creșterea populației, planificare urbană | ||
+ | |||
+ | Exemple de jocuri care se bazează pe generarea procedurală: | ||
+ | * Minecraft – Generare infinită a lumii folosind funcții de zgomot | ||
+ | * No Man’s Sky – Generare de planete, creaturi șiîntregi biomuri | ||
+ | * Spelunky – Level design generat procedural | ||
+ | * Dwarf Fortress – Povești și lumi denerate procedural | ||
+ | * Seria Diablo – Dungeons și loot randomizat | ||
+ | * The Binding of Isaac – Generare procedurală de items și dungeons | ||
+ | |||
+ | ==== De ce folosim Generare Procedurală ==== | ||
+ | === Avantaje === | ||
+ | * Scalabilitate și conținut infinit – Poate crea lumi vaste fără efort manual | ||
+ | * Rejucabilitate – Asigură experiențe proaspete cu fiecare joc | ||
+ | * Creare automată de conținut – Reduce volumul de lucru pentru artiști și designeri | ||
+ | * Surprize și imersiune – Permite un joc neașteptat, dar coerent | ||
+ | |||
+ | === Provocări === | ||
+ | * Lipsa controlului – Rezultate mai greu de rafinat pentru a crește calitatea | ||
+ | * Probleme în gameplay – Nu tot conținutul generat este distractiv sau echilibrat | ||
+ | * Dificultăți de debugging – Reproductibilitatea bug-urilpor poate fi o provocare | ||
+ | * Complexitatea dezvoltării – Necesită înțelegere algoritmică dezvoltată | ||
+ | |||
+ | ==== Scurt Istoric al Generării Procedurale ==== | ||
+ | === Early Days (1950–1980) === | ||
+ | * Memorie limitată, idei mari: | ||
+ | * Calculatoarele din această perioadă nu pot stoca lumi mari, realizate manual | ||
+ | * Generarea procedurală a fost folosită pentru a crea lumi mari cu algoritmi de mici dimensiuni | ||
+ | * Inovații notabile: | ||
+ | * Fractali (Benoît Mandelbrot, 1970): Baza pentru teren procedural | ||
+ | * Perlin Noise (Ken Perlin, 1983): Folosit pentru texturi și peisaje realiste. | ||
+ | * Jocuri: | ||
+ | * Rogue (1980) – Primul generator de dungeons procedurale; de aici a pornit genul roguelike | ||
+ | * Elite (1984) – 8 galaxii, 256 de planete fiecare stocate în 22KB! | ||
+ | |||
+ | === Anii '90 și Începuturile Anilor 2000 === | ||
+ | * Texturi și lumi procedurale: | ||
+ | * Jocuri precum Daggerfall (1996) au avut peste 750.000 NPCs și locații | ||
+ | * Diablo (1996) - Primul dungeon generat procedural cu loot aleator | ||
+ | * Jocuri: | ||
+ | * Daggerfall (1996) – Unul dintre cele mai mari jocuri open world generat complet procedural | ||
+ | * Diablo (1996) | ||
+ | |||
+ | === Era Modernă (2010 - Prezent) === | ||
+ | * Voxel-Based Worlds | ||
+ | * Minecraft (2011) - Folosește Perlin noise pentru a genera teren infinit | ||
+ | * AI & Machine Learning | ||
+ | * GANs (Generative Adversarial Networks) - Texturi procedurale, generare de dialog | ||
+ | * Abordări hibride | ||
+ | * Multe jocuri moderne compbină generarea procedurală cu conținutul generat manual | ||
+ | * Jocuri: | ||
+ | * Minecraft (2011) – Teren infinit generat procedural | ||
+ | * No Man’s Sky (2016) – 18 quintillioane de planete generate prin reguli matematice | ||
+ | * Dwarf Fortress (2006–Present) – Povești, civilizații și lumi generate procedural | ||
+ | |||
+ | ==== Tehnici de Generare Procedurală ==== | ||
+ | * Randomness & Zgomot | ||
+ | * Pseudo-Random Number Generators (PRNGs) | ||
+ | * Perlin & Simplex Noise (generare de teren) | ||
+ | * Sisteme bazate pe Reguli | ||
+ | * L-Systems (copaci, plante generate procedural) | ||
+ | * Grammar-Based Level Generation (jocuri roguelike) | ||
+ | * Fractali & Algoritmi Recursivi | ||
+ | * Folosiți în generarea de peisaje, linii de coastă și munți | ||
+ | * Cellular Automata | ||
+ | * Folosiți în generarea de dungeons, care simulează patternuri ce imită viața reală | ||
+ | * Machine Learning | ||
+ | * Generare bazată pe AI (GANs, rețele neurale) | ||