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)
gp/cursuri/01.txt · Last modified: 2025/02/03 21:29 by maria_anca.balutoiu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0