Day.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker

RM 95
RM 2000/2003
RM XP
RM VX/VX Ace
RM MV/MZ

Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

Sorties: Star Trek: Glorious Wolf - (...) / Sorties: Dread Mac Farlane - episode 3 / News: Plein d'images cools créées par (...) / Sorties: Star Trek: Glorious Wolf - (...) / Jeux: Final Fantasy 2.0 / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

485 connectés actuellement

29189189 visiteurs
depuis l'ouverture

4240 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

Tashiroworld

Lunae - le bazar d'Emz0

Hellsoft

Zarok

Tous nos partenaires

Devenir
partenaire



forums

Index du forum > Jeux en développement > Démo technique d'une génération procédural de monde


Memoria Vetusta - posté le 19/11/2016 à 08:38:24 (17 messages postés)

❤ 0

GROS EDIT:
Bon , pendant toute la présentation je parle d'event tout ça ... C'est compliqué , les event sont ... 100 fois plus lent que les calculs en script je dirai :/ le projet n'est pas mort , loin de là , la seule différence c'est que j'apprend a scripter x) , je vais garder le sujet tel quel pour que vous puissiez voir la progréssion mais à partir de maintenant on va full script .



Salut à tous ^^

Ce n'est pas vraiment un projet de jeu (quoique) , mais je suis en train de commencer à bosser sur une génération procédural de monde (en event). Pour ceux qui ne savent pas ce que c'est c'est un algorithme qui va créer pour vous une map . Plusieurs techniques existent mais le but n'est absolument pas de placer de manière totalement aléatoire des tiles , on se retrouverai avec un résultat chaotique au possible.
Voici un tutoriel qui utilise un automate cellulaire (pour ceux qui connaissent le jeu de la vie) pour créer un monde cool ^^ , vous pouvez même le tester en direct . Cette méthode est l'une de mes préférés car elle est facile au niveau opératoire (on a juste besoin d'opération de base + - * /) mais ce n'est pas celle que je vais utiliser.
https://gamedevelopment.tutsplus.com/tutorials/generate-random-cave-levels-using-cellular-automata--gamedev-9664
Je fais ce post pour aider ceux qui s'intéressent au sujet et pour etre aider si jamais je suis bloqué , savoir votre avis quoi ^^
Q&A:
Pourquoi faire ça en event ??
J'adore ça ^^ j'adore faire des challenges en event , et aussi je ne sais pas scripter et j'ai la flemme d'apprendre :p , enfin bref y'en a qui trippent sur des map , moi c'est sur les système en event , je les trouves plus ouvert et puis j'aime bien ^^.J'utiliserai cependant quelques commandes de script parce que sinon c'est juste impossible

On peut placer des tiles en event ?
oui grace à la commande suivante:

Portion de code : Tout sélectionner

1
$game_map.data[x,y,couche] = TileID



Comment va tu stocker toute les informations lorsque tu crée ta map ?
La map faisant 375*375 , j'aurai donc besoin de 140625 variables.... nan je rigole ^^ , le stockage va se faire dans des "array" des sortes de tableaux , en effet peu de gens savent qu'on peut qu'on peut créer assez facilement des array avec les variables de base de rpg maker . En gros grace à ça on stock plusieurs valeurs en une variables et chacune de ses valeurs à un petit numéro pour les retrouver , un peu comme dans une bibliothèque quoi .

Est tu confronté à des limitations techniques
Oui , la 1ere est un pas pratique mais ça va : le débuggage de variables ne permet pas d'influer sur des array et quand celle ci sont trop grandes , il crash car il n'arrive pas à les représenter (en même temps je les comprends) donc pas de debugage pour bibi ^^' , autre problème , la 1ere technique que je vous ai présenté est beaucoup trop longue : la raison est que cet algorithme check chaque case pour faire des opérations , et rpgm n'est pas très rapide pour faire ça , il en fais peut etre une bonne 60aine par seconde ce qui est rapide mais quand il y en a 140000 a tester ... voila quoi . Je vais donc essayer de créer un algorithme , j'ai plusieurs iddée , mais le but principal et de ne pas tester toute les cases . J'ai une iddée qu'il faudra encore tester.

Quelle est cette solution ?
La principal technique pour faire des monde cohérent et de faire une forme aléatoire avec des gradiant (voir bruit de perlin) , pour cela j'ai imaginé une technique en utilisant paint ^^ , j'imagine des cercles de gradiant d'altitude de taille et de position aléatoire sur la map en faisant en sorte qu'il aient plus de chance de tomber près du centre qu'autre chose . J'ai testé à la main sur paint , le bleu représente l'eau et le vert représente l'altitude (plus il est foncé , plus c'est haut) ça semble marcher mais il me faudra une confirmation .
image (réalisé sans trucage)

Voila la petite présentation plus ou moins à l'arrache d'un projet que je vais essayer de finir ^^ , espérons que sa soit tutorielisable (n'empeche même si j'arrive à le finir , je sent que je vais pleurer du sang pour en faire un tuto :sriden ) ^^ c'est un peu hors sujet car je dois etre le seul mec de l'univers qui utilise rpgm pour des démos techniques :goutte cherchez pas ça n'a aucun sens x)


Compte rendu de developement:
1)(19/11/06 à19h) Salut a tous , dans cette rubrique je vais faire des petits compte rendu pas du tout travaillé sur comment ce passe l'avancé .
J'ai décidé de me lancer dans la technique des rond pour faire ma génération , là je suis en train de créer une méga matrice de 60 par 60 (à la main snif) , en gros le but va etre d'additionner cette matrice à la matrice de la map mais dans des points précis (en fait je dis matrice mais c'est plus des array , enfin le mot est joli donc ^^) , je pense que sa devrai pas trop poser de prob mais pour le moment j'ai aucune iddée du temps de calcul que cela prend ... Seul l'avenir nous le dira .
image les différentes couleurs représentent une augmentation d'altitude , ce qui va nous permettre d'avoir une donnée sur la hauteir dans notre map :youpi

J'ai décidé de ne pas les placer totalement aléatoirement , mon but est qu'il y en ai le plus possible vers le milieu et le moins possible sur les bords (c'est une ile après tout ^^) , j'ai donc imaginé une fonction qui prend un nombre entre 0 et 1000 aléatoirement et qui transforme le tout en coordonné de 0 a 374 de façon non linéaire :
image
Le 1er dessin est un schéma , quand on y réfléchis un peu , ça ressemble beaucoup à une fonction polynome du 3e degré , un petit modèle avec des valeurs discrète au tableur puis une regression linéaire selon le modèle polynome3 permet d'avoir notre gentille fonction ^^ , espérons que les float ne nous posent pas problème.


Ergg - posté le 19/11/2016 à 10:05:55 (192 messages postés)

❤ 0

Tilalilaloum

C'est extrêmement intéressant ! On sent les limitations des events pour le coup là ! Je suis curieux de voir ce que tu peux réussir à faire. =)


Konnie - posté le 19/11/2016 à 10:13:40 (3982 messages postés)

❤ 0

Au temps avec du code c'est pas très compliqué au temps avec les events de rpg maker ça peut être un sacré challenge. Bonne chance à toi.

Au début je croyais que tu faisais un remake de flubber


Memoria Vetusta - posté le 19/11/2016 à 19:09:43 (17 messages postés)

❤ 0

J'ai décidé de me lancer dans la technique des rond pour faire ma génération , là je suis en train de créer une méga matrice de 60 par 60 (à la main snif) , en gros le but va etre d'additionner cette matrice à la matrice de la map mais dans des points précis (en fait je dis matrice mais c'est plus des array , enfin le mot est joli donc ^^) , je pense que sa devrai pas trop poser de prob mais pour le moment j'ai aucune iddée du temps de calcul que cela prend ... Seul l'avenir nous le dira .
image les différentes couleurs représentent une augmentation d'altitude , ce qui va nous permettre d'avoir une donnée sur la hauteir dans notre map :youpi

J'ai décidé de ne pas les placer totalement aléatoirement , mon but est qu'il y en ai le plus possible vers le milieu et le moins possible sur les bords (c'est une ile après tout ^^) , j'ai donc imaginé une fonction qui prend un nombre entre 0 et 1000 aléatoirement et qui transforme le tout en coordonné de 0 a 374 de façon non linéaire :
image
Le 1er dessin est un schéma , quand on y réfléchis un peu , ça ressemble beaucoup à une fonction polynome du 3e degré , un petit modèle avec des valeurs discrète au tableur puis une regression linéaire selon le modèle polynome3 permet d'avoir notre gentille fonction ^^ , espérons que les float ne nous posent pas problème.


Karreg - posté le 20/11/2016 à 21:44:45 (1250 messages postés)

❤ 0

Mega stylé !
Bonne chance pour la suite

Mon projet, Mes bricolages


Memoria Vetusta - posté le 25/11/2016 à 17:54:10 (17 messages postés)

❤ 0

Salut les gens ^^
Grosse update , j'ai réussi a créer une génération de monde plus ou moins cohérente , ce n'est pas fini bien sur mais ça avance bien :) , pour l'instant je représente la map avec des tile , pas des autotiles , j'ai encore un peu de mal a faire ça , à voir

image

PS : j'arrive pas à faire des up :/


Konnie - posté le 25/11/2016 à 17:57:42 (3982 messages postés)

❤ 0

faut cliquer sur le bouton up ;)

C'est classe en tout cas!


Memoria Vetusta - posté le 09/01/2017 à 11:11:58 (17 messages postés)

❤ 0

Salut à tous , et non je ne suis pas mort :biere
J'ai enfin réussi a rajouter les autotiles , pfiou :) , c'était dur ^^
Là les différents niveaux sont défini par des tiles , mais il va maintenant etre temps de rajouter du relief , j'espère que ça va bien se passer ^^
je vous tient au courant ;)
image


Verehn - posté le 10/01/2017 à 23:14:11 (9054 messages postés) - honor

❤ 0

Vhehrhehn

Hâte de voir ce que ça donnera avec les reliefs. Je suppose que ce sera une autre paire de manches vu qu'ils n'ont pas la même hauteur de tous les côtés en perspective cavalière type RM.

Eldrao ~ PakuPaku ~ Winged Light ~ Ruin ~ Ma galerie ~ LTDAD ~ Don de graphismes plateforme 2D


Captain Ginyu - posté le 13/01/2017 à 22:44:44 (316 messages postés)

❤ 0

J'ai hâte de voir jusqu'où tu peux aller aussi ! :sourire2

Un site d'histoire : http://www.lovapourrier.com/


Memoria Vetusta - posté le 14/01/2017 à 18:18:33 (17 messages postés)

❤ 0

en réalité le relief est assez simpliste (du moins pour l'instant je n'ai ps eu de problème ) , j'ai créé des nouveaux autotiles pour les murs (ils éxistaient déja mais il fallais les transformer pour les rendre utilisable par le système) après le problème (qui n'est n'est pas vraiment un , disons qu'on peut s'en contenter) c'est que le relief est en "escalier" pas de fallaise , pas de canyon brutal , c'est un peu dommage mais ça simplifie énormément le terrain , à voir dans le futur.


emz0 - posté le 02/05/2017 à 22:41:52 (288 messages postés)

❤ 0

Gnothi seauton, t'as pas fini...

Méga challenge ! Je suis aussi curieux de voir jusqu'où tu peux aller... C'est un des trucs qui m'intéressent le plus dans le making : pousser les limites du logiciel et faire des trucs pour lesquels il n'est pas du tout prévu. :)

ground0reloaded.com - télécharger tous les épisodes diffusés sur dl.ground0reloaded.com - et la dernière version publiée sur last.ground0reloaded.com ou consultez le wiki | Hydrox-inc.com - Pour une nouvelle ère...


winterskill - posté le 04/05/2017 à 18:46:09 (927 messages postés)

❤ 0

Empereur des bons gros meuh

genre faire un 3ds? :D

très intéressant, je suis attentivement ce projet! :batm

"pommes de rainette et pommes d'API, API API Rest-e" | "A combattre sans périls, on triomphe sans gloire" - le cid ; (oui mais on gagne quand même non?...) | à soutenir absolument : https://www.kickstarter.com/projects/1264023666/bushido-the-way-of-men

Index du forum > Jeux en développement > Démo technique d'une génération procédural de monde

repondre up

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe - Mentions légales

Plan du site

Communauté: Accueil | Forum | Chat | Commentaires | News | Flash-news | Screen de la semaine | Sorties | Tests | Gaming-Live | Interviews | Galerie | OST | Blogs | Recherche
Apprendre: Visite guidée | RPG Maker 95 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker MV | Tutoriels | Guides | Making-of
Télécharger: Programmes | Scripts/Plugins | Ressources graphiques / sonores | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Au hasard | Notre sélection | Sélection des membres | Tous les jeux | Jeux complets | Le cimetière | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Proposer
Ressources RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
Ressources RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
Ressources RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
Ressources RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis
Archives: Palmarès | L'Annuaire | Livre d'or | Le Wiki | Divers