This shows you the differences between two versions of the page.
gp:cursuri:01 [2025/02/03 19:22] maria_anca.balutoiu |
gp:cursuri:01 [2025/02/03 21:29] (current) maria_anca.balutoiu [Scurt Istoric al Generării Procedurale] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== Cursul 01. Introducere în generare procedurală ==== | + | ===== Cursul 01. Introducere în generare procedurală ===== |
- | <hidden>What is Procedural Generation? | + | ==== Ce este Generarea Procedurală? ==== |
- | Definition: | + | 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. |
- | The algorithmic creation of content instead of hand-crafting everything. | + | |
- | Often combines randomness with rules to produce structured content. | + | |
- | Where is PG used? | + | |
- | Games: Levels, terrain, textures, AI behavior, loot systems. | + | |
- | Film & Art: Procedural textures (CGI), fractals in digital art. | + | |
- | Simulations: Weather, population growth, city planning. | + | |
- | Why Use Procedural Generation? | + | |
- | ✅ Scalability – Enables infinite worlds. | + | |
- | ✅ Replayability – Keeps experiences fresh. | + | |
- | ✅ Automation – Reduces manual design effort. | + | |
- | ✅ Emergence – Creates unexpected, unique results. | + | |
- | ❌ Challenges – Less designer control, debugging difficulty, ensuring playability. | + | |
- | Examples of Procedural Generation in Games | + | |
- | Show visuals and gameplay clips (if possible) of famous examples: | + | |
- | Minecraft – Infinite world generation using noise functions. | + | Generarea procedurală se utilizează în domenii precum: |
- | No Man’s Sky – Planet, creature, and biome generation. | + | * Jocuri: Generarea nivelurilor, terenului, texturilor, AI-ului, sistemelor de loot |
- | Spelunky – Playable procedural level design. | + | * Film, Design & Artă: Texturi procedurale (CGI), fractali în arta digitală |
- | Dwarf Fortress – Procedurally generated histories and worlds. | + | * Simulări: Climat, creșterea populației, planificare urbană |
- | Diablo series – Randomized dungeons and loot. | + | |
- | The Binding of Isaac – Procedural item and dungeon generation. | + | |
+ | 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 | ||
- | Why Use Procedural Generation? (20-30 min) | + | ==== De ce folosim Generare Procedurală ==== |
- | Advantages | + | === Avantaje === |
- | Scalability & Infinite Content – Can create vast worlds without manual effort. | + | * Scalabilitate și conținut infinit – Poate crea lumi vaste fără efort manual |
- | Replayability – Ensures fresh experiences with every playthrough. | + | * Rejucabilitate – Asigură experiențe proaspete cu fiecare joc |
- | Automated Content Creation – Reduces workload for artists and designers. | + | * Creare automată de conținut – Reduce volumul de lucru pentru artiști și designeri |
- | Surprise & Emergence – Allows unexpected but coherent gameplay. | + | * Surprize și imersiune – Permite un joc neașteptat, dar coerent |
- | Challenges | + | |
- | Lack of Control – Harder to fine-tune results for quality. | + | |
- | Playability Issues – Not all generated content is fun or balanced. | + | |
- | Debugging Difficulties – Reproducibility can be a challenge. | + | |
- | Development Complexity – Requires strong algorithmic understanding. | + | |
+ | === 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! | ||
- | 2. The History of Procedural Generation (30 min) | + | === Anii '90 și Începuturile Anilor 2000 === |
- | Early Days (1950s–1980s): Birth of Procedural Content | + | * Texturi și lumi procedurale: |
- | Limited Memory, Big Ideas: | + | * Jocuri precum Daggerfall (1996) au avut peste 750.000 NPCs și locații |
- | Early computers couldn’t store large, hand-crafted worlds. | + | * Diablo (1996) - Primul dungeon generat procedural cu loot aleator |
- | PG was used to create large environments with small algorithms. | + | * Jocuri: |
- | Notable Innovations: | + | * Daggerfall (1996) – Unul dintre cele mai mari jocuri open world generat complet procedural |
- | Fractals (Benoît Mandelbrot, 1970s): Basis for procedural terrain. | + | * Diablo (1996) |
- | Perlin Noise (Ken Perlin, 1983): Used for realistic textures and landscapes. | + | |
- | Classic Games Using PG: | + | |
- | Rogue (1980) – First procedural dungeon generator → inspired roguelikes. | + | |
- | Elite (1984) – 8 galaxies, 256 planets each stored in 22KB! | + | |
- | The 1990s & Early 2000s: Expanding PG in Games | + | |
- | Procedural Textures & Worlds: | + | |
- | Games like Daggerfall (1996) had 750,000+ NPCs and locations using PG. | + | |
- | Diablo (1996): First procedural dungeon generator with random loot. | + | |
- | Key Advancements: | + | |
- | Daggerfall (1996) – One of the largest open worlds, all procedurally generated. | + | |
- | Diablo (1996) – Randomized dungeons & loot, increasing replayability. | + | |
- | Modern Era (2010s–Today): Big Worlds & AI-Assisted PG | + | |
- | Voxel-Based Worlds: | + | |
- | Minecraft (2011): Uses Perlin Noise to generate infinite terrain. | + | |
- | AI & Machine Learning in PG: | + | |
- | GANs (Generative Adversarial Networks) → Procedural textures, dialogue. | + | |
- | Hybrid Approaches: | + | |
- | Many modern games mix procedural generation with handcrafted content. | + | |
- | Modern Examples: | + | |
- | Minecraft (2011) – Infinite procedural terrain. | + | |
- | No Man’s Sky (2016) – 18 quintillion planets, generated from mathematical rules. | + | |
- | Dwarf Fortress (2006–Present) – Procedural history, civilizations, and world-building. | + | |
- | Discussion: | + | |
- | What procedural game impressed you the most? | + | === Era Modernă (2010 - Prezent) === |
- | Can procedural generation replace manual design? Why or why not? | + | * Voxel-Based Worlds |
- | + | * Minecraft (2011) - Folosește Perlin noise pentru a genera teren infinit | |
- | + | * AI & Machine Learning | |
- | Key Procedural Generation Techniques (20 min) | + | * GANs (Generative Adversarial Networks) - Texturi procedurale, generare de dialog |
- | (Briefly introduce; detailed coverage in later lectures.) | + | * Abordări hibride |
- | + | * Multe jocuri moderne compbină generarea procedurală cu conținutul generat manual | |
- | (a) Randomness & Noise | + | * Jocuri: |
- | Pseudo-Random Number Generators (PRNGs) | + | * Minecraft (2011) – Teren infinit generat procedural |
- | Perlin & Simplex Noise → Used in Minecraft terrain. | + | * No Man’s Sky (2016) – 18 quintillioane de planete generate prin reguli matematice |
- | (b) Rule-Based Systems | + | * Dwarf Fortress (2006–Present) – Povești, civilizații și lumi generate procedural |
- | L-Systems → Procedural trees, plants. | + | |
- | Grammar-Based Level Generation → Used in roguelike games. | + | |
- | (c) Fractals & Recursive Algorithms | + | |
- | Generates natural-looking landscapes, coastlines, and mountains. | + | |
- | (d) Cellular Automata | + | |
- | Used in cave/dungeon generation, simulating life-like patterns. | + | |
- | (e) Machine Learning in Procedural Generation | + | |
- | AI-assisted generation (GANs, Neural Networks).</hidden> | + | |
+ | ==== 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) | ||