Skip to content

Rennsen/Advanced-Procedural-Generation-Simulation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

English version


Advanced-Procedural-Generation-Simulation

Overview

The Advanced Procedural Generation Simulation project is an exploration of procedural content generation techniques within the context of simulating natural environments. This project aims to generate virtual worlds consisting of islands, water sources, landmasses, and endless world exploration, all created procedurally through code. By leveraging procedural generation, the project can generate unique and diverse worlds with each execution, providing endless possibilities for exploration and study. This project is a more complex and improved version of the first published Procedural Generation Simulation

Features

  • Random World Generation: The project generates virtual worlds randomly using procedural algorithms, resulting in unique landscapes with each execution.
  • Water Sources: Bodies of water such as oceans, lakes, and rivers are dynamically generated, contributing to the realism of the simulated environments.
  • Landmass Generation: The project creates improved landmasses, forming the foundation for the terrain and landscape with the addition of hills, rocky mountains, snowy peaks...
  • Endless World: The world is generated endlessly around the player by introducing chunk generations.
  • Player Interaction: Users can navigate and explore the generated worlds using a player character, allowing for immersive experiences within the virtual environments.
  • Complete Collisions: Added a complete collision system allowinf the player to fully interact with the generated world (jump collisions, climbing, sliding on steep surfaces...)

Technologies Used

The Procedural Generation Simulation project is built using the following technologies:

  • Unity: The project is developed using the Unity game engine, providing a robust framework for creating interactive 3D environments.
  • C#: The primary programming language used for scripting and implementing procedural generation algorithms within Unity.
  • Perlin Noise: Perlin noise algorithms are utilized for generating terrain features such as elevation, creating natural-looking landscapes.
  • Random Number Generation: Random number generation techniques are employed to introduce variability and randomness into the world generation process.

Getting Started

To run the Advanced Procedural Generation Simulation project locally, follow these steps:

  1. Ensure you have Unity installed on your system. You can download Unity from the official website: Unity Download.
  2. Clone the project repository from GitHub to your local machine.
  3. Open the project in Unity by navigating to the project directory and opening the main Unity scene file.
  4. Once the project is open in Unity, you can build and run the simulation to explore the procedurally generated worlds.

Future Enhancements

While the Advanced Procedural Generation Simulation project provides a solid foundation for exploring procedural content generation, there are several areas for future enhancement, including:

  • Advanced Terrain Features: Introduce additional terrain features such as caves, cliffs, and valleys to enhance the realism and diversity of the landscapes.
  • Dynamic Weather System: Implement a dynamic weather system to simulate changing weather conditions such as rain, fog, and storms, further enhancing the immersive experience.
  • Biome Variation: Incorporate biome variation to generate different types of environments, including forests, deserts, and snowy regions, based on geographical characteristics and climate patterns.
  • Interactive Elements: Add interactive elements such as wildlife, NPCs, and quest systems to create engaging gameplay experiences within the generated worlds.

Contributing

Contributions to the Advanced Procedural Generation Simulation project are welcome! If you have ideas for new features, improvements, or bug fixes, feel free to submit pull requests or open issues on the project repository.

License

The Advanced Procedural Generation Simulation project is licensed under the MIT License, allowing for free use, modification, and distribution of the source code. Refer to the LICENSE file for more information.

Acknowledgements

The Advanced Procedural Generation Simulation project draws inspiration from various sources, including research papers, tutorials, and open-source projects related to procedural content generation. Special thanks to the developers and contributors who have shared their knowledge and expertise in this field.

Contact

For inquiries or feedback regarding the Advanced Procedural Generation Simulation project, please contact Rayan Derradji (Rennsen) at nr_derradji@esi.dz. For more of my work, check here.


Version Francaise


Simulation de Génération Procédurale Avancée

Aperçu

Le projet Simulation de Génération Procédurale Avancée explore les techniques de génération de contenu procédural dans le contexte de la simulation d'environnements naturels. Ce projet vise à créer des mondes virtuels composés d'îles, de sources d'eau, de masses terrestres et d'une exploration infinie, le tout généré de manière procédurale à travers du code. En exploitant la génération procédurale, le projet peut générer des mondes uniques et diversifiés à chaque exécution, offrant ainsi des possibilités infinies d'exploration et d'étude. Ce projet est une version plus complexe et améliorée de la première version publiée de la Simulation de Génération Procédurale.

Fonctionnalités

  • Génération Aléatoire de Mondes: Le projet génère des mondes virtuels de manière aléatoire en utilisant des algorithmes procéduraux, ce qui résulte en des paysages uniques à chaque exécution.
  • Sources d'Eau: Des étendues d'eau telles que les océans, les lacs et les rivières sont générées dynamiquement, contribuant au réalisme des environnements simulés.
  • Génération de Masses Terrestres: Le projet crée des masses terrestres améliorées, formant la base du terrain et du paysage avec l'ajout de collines, de montagnes rocheuses, de sommets enneigés...
  • Monde Infini: Le monde est généré de manière infinie autour du joueur en introduisant des générations de "chunks".
  • Interaction avec le Joueur: Les utilisateurs peuvent naviguer et explorer les mondes générés en utilisant un personnage joueur, permettant des expériences immersives au sein des environnements virtuels.
  • Collisions Complètes: Ajout d'un système de collision complet permettant au joueur d'interagir pleinement avec le monde généré (collisions lors des sauts, escalade, glissade sur les surfaces pentues...).

Technologies Utilisées

Le projet Simulation de Génération Procédurale Avancée est développé en utilisant les technologies suivantes:

  • Unity: Le projet est développé en utilisant le moteur de jeu Unity, offrant un cadre robuste pour la création d'environnements 3D interactifs.
  • C#: Le langage de programmation principal utilisé pour le scripting et l'implémentation d'algorithmes de génération procédurale au sein d'Unity.
  • Bruit de Perlin: Des algorithmes de bruit de Perlin sont utilisés pour générer des caractéristiques de terrain telles que l'élévation, créant des paysages naturels.
  • Génération de Nombres Aléatoires: Des techniques de génération de nombres aléatoires sont utilisées pour introduire de la variabilité et de l'aléatoire dans le processus de génération de monde.

Pour Commencer

Pour exécuter localement le projet Simulation de Génération Procédurale Avancée, suivez ces étapes:

  1. Assurez-vous d'avoir Unity installé sur votre système. Vous pouvez télécharger Unity depuis le site officiel: Téléchargement Unity.
  2. Clonez le dépôt du projet depuis GitHub sur votre machine locale.
  3. Ouvrez le projet dans Unity en naviguant vers le répertoire du projet et en ouvrant le fichier de scène principal Unity.
  4. Une fois le projet ouvert dans Unity, vous pouvez construire et exécuter la simulation pour explorer les mondes générés de manière procédurale.

Améliorations Futures

Bien que le projet Simulation de Génération Procédurale Avancée offre une base solide pour explorer la génération de contenu procédural, il existe plusieurs domaines pour des améliorations futures, notamment:

  • Caractéristiques Avancées du Terrain: Introduire des caractéristiques de terrain supplémentaires telles que des grottes, des falaises et des vallées pour améliorer le réalisme et la diversité des paysages.
  • Système Météorologique Dynamique: Mettre en place un système météorologique dynamique pour simuler des conditions météorologiques changeantes telles que la pluie, le brouillard et les tempêtes, améliorant ainsi l'expérience immersive.
  • Variation des Biomes: Incorporer une variation des biomes pour générer différents types d'environnements, y compris des forêts, des déserts et des régions enneigées, en fonction des caractéristiques géographiques et des schémas climatiques.
  • Éléments Interactifs: Ajouter des éléments interactifs tels que la faune, les PNJ et les systèmes de quêtes pour créer des expériences de jeu engageantes au sein des mondes générés.

Contribuer

Les contributions au projet Simulation de Génération Procédurale Avancée sont les bienvenues ! Si vous avez des idées pour de nouvelles fonctionnalités, des améliorations ou des corrections de bogues, n'hésitez pas à soumettre des pull requests ou à ouvrir des problèmes sur le dépôt du projet.

Licence

Le projet Simulation de Génération Procédurale Avancée est sous licence MIT License, permettant une utilisation, une modification et une distribution gratuites du code source. Consultez le fichier LICENSE pour plus d'informations.

Remerciements

Le projet Simulation de Génération Procédurale Avancée s'inspire de diverses sources, y compris des articles de recherche, des tutoriels et des projets open source liés à la génération de contenu procédural. Un grand merci aux développeurs et contributeurs qui ont partagé leur connaissance et leur expertise dans ce domaine.

Contact

Pour des questions ou des retours concernant le projet Simulation de Génération Procédurale Avancée, veuillez contacter Rayan Derradji (Rennsen) à nr_derradji@esi.dz. Pour voir plus de mes projets, visitez mon portfolio.


About

Advanced 3D procedural generation simulation using Unity game engine

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published