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) | ||