{"id":50554940,"url":"https://github.com/milocartal/rpg-nexus","last_synced_at":"2026-06-04T06:02:32.832Z","repository":{"id":316928121,"uuid":"1065355205","full_name":"milocartal/rpg-nexus","owner":"milocartal","description":"Plateforme de jeu de rôle (RPG) 2D sous Unity, pensée comme un socle modulaire pour jouer dans les univers, personnages et campagnes créés sur RPG-Gestionary (auth, récupération/synchronisation des données, outillage MJ).","archived":false,"fork":false,"pushed_at":"2025-09-27T15:55:58.000Z","size":65,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"develop","last_synced_at":"2025-09-27T17:38:22.217Z","etag":null,"topics":["csharp","rpg","rpg-tool","unity"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/milocartal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-27T14:59:21.000Z","updated_at":"2025-09-27T15:55:11.000Z","dependencies_parsed_at":"2025-09-27T17:38:24.250Z","dependency_job_id":"f64a45a3-01bc-499c-a284-45af25f42d86","html_url":"https://github.com/milocartal/rpg-nexus","commit_stats":null,"previous_names":["milocartal/rpg-nexus"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/milocartal/rpg-nexus","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/milocartal%2Frpg-nexus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/milocartal%2Frpg-nexus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/milocartal%2Frpg-nexus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/milocartal%2Frpg-nexus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/milocartal","download_url":"https://codeload.github.com/milocartal/rpg-nexus/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/milocartal%2Frpg-nexus/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33891733,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-04T02:00:06.755Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csharp","rpg","rpg-tool","unity"],"created_at":"2026-06-04T06:02:29.488Z","updated_at":"2026-06-04T06:02:32.827Z","avatar_url":"https://github.com/milocartal.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# RPG Nexus\n\nPlateforme de jeu de rôle (RPG) 2D sous Unity, pensée comme un socle modulaire pour jouer **dans les univers, personnages et campagnes créés sur RPG-Gestionary** (auth, récupération/synchronisation des données, outillage MJ).\n\n## 🗺️ Contexte \u0026 objectifs (client)\n\n* **Contexte** : le site **RPG-Gestionary** permet de créer univers, personnages et campagnes. Le jeu **RPG Nexus** doit offrir une expérience « plateau » connectée à ces contenus. \n* **Objectif** :\n\n  * Authentifier les utilisateurs avec leurs identifiants RPG-Gestionary.\n  * **Récupérer** univers/PNJ/personnages/sessions autorisés pour l’utilisateur.\n  * **Permettre aux MJ** de créer des **maps** et des **sessions** puis d’animer la partie (dés, fog of war, PNJ/ennemis, états/bonus/malus, inventaire).\n  * **Sauvegarder** l’avancement des campagnes **sur la plateforme**. \n\n## 🎮 Portée V1 (CdC)\n\nFonctionnalités cœur directement alignées sur le besoin client :\n\n* **Authentification** via identifiants RPG-Gestionary *(implémentation exacte à valider avec l’API ; ne jamais stocker de mot de passe en clair)*. \n* **Récupération des données joueur** : univers accessibles, personnages jouables, sessions disponibles. \n* **Rôles \u0026 droits** : différenciation **Joueur** / **MJ** (MJ hérite des droits joueur + outils). \n* **Éditeur de map (MJ)** : création/édition de cartes d’un univers ; **une map peut appartenir à plusieurs sessions**. \n* **Gestion des sessions (MJ)** : création/lancement de sessions dans un univers. \n* **Dés en session** (MJ \u0026 joueurs) avec **modificateurs/attributs paramétrables**. \n* **Fog of War** : verrouillage/déverrouillage de zones par le MJ. \n* **PNJ \u0026 ennemis** : création/contrôle par le MJ en session. \n* **États/effets** sur personnages (bonus/malus) gérés par le MJ. \n* **Inventaire** : gestion par le MJ, **vue en lecture seule côté joueurs**. \n* **Familiers** : gestion côté MJ **ou** joueur selon option définie sur le site. \n* **Sauvegarde/synchronisation** de la progression de la campagne vers RPG-Gestionary. \n\n### Hors-portée V1 (éventuellement plus tard)\n\n* Combat RPG complet, dialogues/quetes, progression de niveau, audio avancé, etc. (anciens objectifs du framework générique).\n\n## 🛠️ Technologies\n\n* **Moteur** : Unity **6000.2.6f1** (Unity 6)\n* **Rendu** : Universal Render Pipeline (URP) **17.2.0**\n* **Input** : Unity Input System **1.14.2**\n* **2D** : Unity 2D Animation **12.0.2**, Sprite Shape, Tilemap \u0026 Extras\n* **Import** : Aseprite Importer, PSD Importer\n* **Outils** : Visual Scripting, Timeline\n\n## 📁 Structure du projet\n\n```\nAssets/\n├── Scenes/\n│   └── SampleScene.unity\n├── Settings/\n│   ├── UniversalRP.asset\n│   ├── Renderer2D.asset\n│   └── Lit2DSceneTemplate.scenetemplate\n├── InputSystem_Actions.inputactions\n└── DefaultVolumeProfile.asset\n```\n\n## 🔐 Authentification \u0026 synchro (avec RPG-Gestionary)\n\n\u003e Implémentation exacte à confirmer avec l’API de RPG-Gestionary (schéma d’auth, type de jeton, endpoints). Le jeu **ne stocke jamais le mot de passe en clair**. \n\n### Variables d’environnement (Unity → Project Settings → Player → Scripting Define Symbols)\n\nCréez un fichier `.env.example` (ou un ScriptableObject `RPGGestionarySettings` selon préférence) :\n\n```\nRPG_API_BASE_URL=\nRPG_CLIENT_ID=\nRPG_CLIENT_SECRET=   # si applicable (éviter côté client si le flux l’exige)\n```\n\n### Flux attendu (proposé)\n\n1. Écran de connexion (identifiants RPG-Gestionary).\n2. Appel API → **jeton** (session).\n3. Hydratation du profil : univers, personnages, sessions autorisés.\n4. Au lancement d’une session : push/pull des données nécessaires (maps, PNJ/ennemis, états, inventaire).\n5. Sauvegarde régulière → plateforme (checkpoints).\n\n## 🧩 Modules principaux\n\n* **Core** : bootstrap, services, gestion des données \u0026 cache.\n* **Auth** : UI + service d’auth.\n* **Sync** : clients API (profils, univers, maps, sessions, inventaire, sauvegardes).\n* **Map Editor (MJ)** : création/édition/assignation aux sessions (multi-sessions support). \n* **Session Runtime** : table virtuelle, initiative (si utile), outils MJ.\n* **Dice Roller** : dX avec modificateurs/attributs paramétrables. \n* **Fog of War** : masquage/révélation par zones. \n* **NPC/Enemies** : gestion entités MJ. \n* **States/Effects** : application/suivi bonus-malus. \n* **Inventory** : CRUD MJ, lecture joueurs. \n* **Save** : synchronisation campagne. \n\n## 🚀 Installation\n\n### Prérequis\n\n* Unity **6000.2.6f1** ou supérieur\n* Git\n\n### Étapes\n\n```bash\ngit clone https://github.com/milocartal/rpg-nexus.git\ncd rpg-nexus\n```\n\n1. Ouvrir dans **Unity Hub** (Unity 6000.2.6f1).\n2. Vérifier l’URP et l’Input System (auto-configurés).\n3. Renseigner les variables d’API (voir plus haut).\n\n## 🎯 Roadmap (V1)\n\n* **Auth \u0026 profil** (base)\n* **Map Editor MJ** (création, multi-sessions)\n* **Sessions** (création/lancement)\n* **Dés** (modificateurs)\n* **Fog of War**\n* **PNJ/Ennemis**\n* **États/bonus/malus**\n* **Inventaire** (gestion MJ, vue joueurs)\n* **Sauvegarde** (push vers plateforme)\n\n\u003e Tous ces items proviennent du CdC client. \n\n## 🔧 Paramètres Unity recommandés\n\n* **Plateforme cible** : PC, Mac \u0026 Linux Standalone\n* **Mode de rendu** : 2D URP\n* **Résolution** : 1920×1080 (adaptable)\n\n## 🧪 Qualité \u0026 tests\n\n* Tests d’intégration API (auth, profil, synchro)\n* Tests de régression sur Fog of War \u0026 inventaire\n* Playtests MJ/Joueurs (comportements session, dés, états)\n\n## 🤝 Contribution\n\n1. Fork\n2. Branche : `feature/\u003cNomFeature\u003e`\n3. Commits : clairs \u0026 atomiques\n4. PR avec description, captures si UI MJ/Joueur\n\n## 📓 Glossaire\n\n* **MJ** : Maître du Jeu (rôle avec outils avancés)\n* **Session** : instance de partie dans un univers\n* **Map** : carte jouable ; peut être liée à plusieurs sessions \n\n## 📝 Licence\n\nMIT — voir [LICENSE](LICENSE)\n\n## 📞 Contact\n\nMilo CARTAL — [@milocartal](https://github.com/milocartal)\nProjet : [https://github.com/milocartal/rpg-nexus](https://github.com/milocartal/rpg-nexus)\n\n## 🙏 Remerciements\n\n* Unity Technologies\n* Communauté Unity\n* Contributeurs \u0026 testeurs\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmilocartal%2Frpg-nexus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmilocartal%2Frpg-nexus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmilocartal%2Frpg-nexus/lists"}