AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment : -50%
-50% Baskets Nike Air Huarache
Voir le deal
64.99 €

 

 semi-fractale : arbre aléatoire

Aller en bas 
+7
glcraft
red-error
marty
nicoulas
Chlorodatafile
onilink_
M@d_Doc
11 participants
Aller à la page : 1, 2  Suivant
AuteurMessage
M@d_Doc
Modérateur
M@d_Doc


Messages : 6600
Localisation : 47°44'8.04
Projet Actuel : aucun

semi-fractale : arbre aléatoire Empty
MessageSujet: semi-fractale : arbre aléatoire   semi-fractale : arbre aléatoire EmptyJeu 1 Juil 2010 - 22:43

Bon, quitte à faire des trucs inutiles, je les partage.

J'ai appelé ça de la semi-fractale, car ça reprend le principe de suite avec homothétie, mais sans réelle formule mathématique derrière.
Bref, juste un petit truc fait en 10 minutes :p

Voilà tout d'abord un aperçu, même si c'est facilement modifiable et/ou améliorable.
semi-fractale : arbre aléatoire Arbre1semi-fractale : arbre aléatoire Arbre2
Spoiler:


-----------------CODE---------
script à appeler au début de la room :
Code:

/*


*/
//rapport longueur/largeur des branches
global.length=4

//nbre de generations à 1 de largeur
global.mgen=3

//variation d'angle
global.mangle=80

Après, il faut faire un objet qui controle la creation d'arbre, en plaçant simplement une branche là où il faut commencer. L'arbre va simplement pousser car la branche ets grosse. Tant qu'une branche n'est pas fine, elle continue de pousser.
Bref, faire un objet "controller" avec ça dans step :
Code:

with(instance_create(mouse_x,mouse_y,obj_branche))
{
dir=90
width=40+random(15)
}

Puis faire un objet obj_branche, comme suit :
create :
Code:
alarm[0]=1

Alarm0 :
Code:

//x+lengthdir_x(width*global.length,dir),y+lengthdir_y(width*global.length,dir)
if !variable_local_exists('gen')
{
gen=0
}
else
{
gen+=1
}
if gen=0 && width<=1
{
gen=1
}

if  gen<=global.mgen
{
    _a=random(100)
   
    with(instance_create(x+lengthdir_x(width*global.length+4,dir),y+lengthdir_y(width*global.length+4,dir),obj_branche))
    {
        dir=other.dir+random(global.mangle)-global.mangle/2
        width=max(1,other.width*(other._a)/100)
       
        if other.gen!=0
        {
            gen=other.gen
        }
    }
   
   
    with(instance_create(x+lengthdir_x(width*global.length+4,dir),y+lengthdir_y(width*global.length+4,dir),obj_branche))
    {
        dir=other.dir+random(global.mangle)-global.mangle/2
        width=max(1,other.width*(100-other._a)/100)
       
        if other.gen!=0
        {
            gen=other.gen
        }
    }

}

Draw :
Code:

draw_set_color(width*255)
draw_line_width(x,y,x+lengthdir_x(width*global.length+4,dir),y+lengthdir_y(width*global.length+4,dir),max(1,width))

Il suffit alors de mettre l'objet controller dans la room, d'appeller le premier script dans cette dernière, et de cliquer quelquepart! (prévoir une room assez grande et haute)

_________________
semi-fractale : arbre aléatoire Control_commentTous les icones de gm utilisables sur le cbna ICI semi-fractale : arbre aléatoire Main1_change_sprite
Revenir en haut Aller en bas
http://www.lecbna.org
onilink_
Modérateur
onilink_


Messages : 9178
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

semi-fractale : arbre aléatoire Empty
MessageSujet: Re: semi-fractale : arbre aléatoire   semi-fractale : arbre aléatoire EmptyJeu 1 Juil 2010 - 22:50

ohohoh m@d, bienvenu au club pour les truc inutiles xD
Sinon pas mal, bien qu'il y ai des problemes au niveau des couleurs, et surtout aux jointures =p

_________________
semi-fractale : arbre aléatoire Runningpotato1semi-fractale : arbre aléatoire TvF6GED semi-fractale : arbre aléatoire MdetltS
Revenir en haut Aller en bas
M@d_Doc
Modérateur
M@d_Doc


Messages : 6600
Localisation : 47°44'8.04
Projet Actuel : aucun

semi-fractale : arbre aléatoire Empty
MessageSujet: Re: semi-fractale : arbre aléatoire   semi-fractale : arbre aléatoire EmptyJeu 1 Juil 2010 - 22:52

ouais, j'ai pas travaillé les jointures, la flemme de dessiner des triangles :p

Pour les couleurs, j'ai vraiment fait ça en 2 secondes, et puis on a qu'à dire que c'est... euh... un style graphique :p

_________________
semi-fractale : arbre aléatoire Control_commentTous les icones de gm utilisables sur le cbna ICI semi-fractale : arbre aléatoire Main1_change_sprite
Revenir en haut Aller en bas
http://www.lecbna.org
Chlorodatafile
Utilisateur confirmé: Rang *****
Chlorodatafile


Messages : 2929
Localisation : Belfort
Projet Actuel :
Paralights

semi-fractale : arbre aléatoire Empty
MessageSujet: Re: semi-fractale : arbre aléatoire   semi-fractale : arbre aléatoire EmptyVen 2 Juil 2010 - 8:00

ouah ... c'est magnifique ! génial pour créer un fond pour un décor de jeu coeur
Revenir en haut Aller en bas
http://chlorodatafile.tumblr.com/
nicoulas
*Excellent utilisateur*
nicoulas


Messages : 6030
Localisation : Dordogne
Projet Actuel : Croustaface Tower Defense semi-fractale : arbre aléatoire Panicpr9

semi-fractale : arbre aléatoire Empty
MessageSujet: Re: semi-fractale : arbre aléatoire   semi-fractale : arbre aléatoire EmptyVen 2 Juil 2010 - 10:42

Ahah ça peut être cool pour générer un monde aléatoire dans un jeu à chaque fois que le joueur débute une nouvelle partie Very Happy

Par contre, tu devrais vraiment rajouter les jointures et aussi mettre un exemple
Revenir en haut Aller en bas
http://blithe.nd.free.fr/
M@d_Doc
Modérateur
M@d_Doc


Messages : 6600
Localisation : 47°44'8.04
Projet Actuel : aucun

semi-fractale : arbre aléatoire Empty
MessageSujet: Re: semi-fractale : arbre aléatoire   semi-fractale : arbre aléatoire EmptyVen 2 Juil 2010 - 10:47

le problème de l'exemple, c'est que je suis sous gm8, c'est pour ça que j'ai tout écrit à la place :p

_________________
semi-fractale : arbre aléatoire Control_commentTous les icones de gm utilisables sur le cbna ICI semi-fractale : arbre aléatoire Main1_change_sprite
Revenir en haut Aller en bas
http://www.lecbna.org
marty
Utilisateur confirmé: Rang ***
marty


Messages : 697
Projet Actuel : laby-ereinte !

semi-fractale : arbre aléatoire Empty
MessageSujet: Re: semi-fractale : arbre aléatoire   semi-fractale : arbre aléatoire EmptyVen 2 Juil 2010 - 16:22

je trouve vos idées extra,si j'étais pas aussi nase je compilerais tout ça dans un projet estampillé cbna!
y a du potentiel a chaque page que je lis!
bref continue et rien n'est inutile tant que ça fait rêver!
Revenir en haut Aller en bas
Invité
Invité




semi-fractale : arbre aléatoire Empty
MessageSujet: Re: semi-fractale : arbre aléatoire   semi-fractale : arbre aléatoire EmptyVen 2 Juil 2010 - 17:51

ça serait cool d'améliorer les jointures etc pour faire un générateur d'armre vraiment performant
Revenir en haut Aller en bas
Invité
Invité




semi-fractale : arbre aléatoire Empty
MessageSujet: Re: semi-fractale : arbre aléatoire   semi-fractale : arbre aléatoire EmptyVen 2 Juil 2010 - 18:09

wow impressionant les algues rouges
Revenir en haut Aller en bas
red-error
Utilisateur confirmé: Rang ****
red-error


Messages : 1015
Projet Actuel : semi-fractale : arbre aléatoire Bas-machoire2000

semi-fractale : arbre aléatoire Empty
MessageSujet: Re: semi-fractale : arbre aléatoire   semi-fractale : arbre aléatoire EmptyVen 2 Juil 2010 - 21:49

coeur J'aime bien.
Revenir en haut Aller en bas
glcraft
Utilisateur confirmé: Rang *****
glcraft


Messages : 1698
Localisation : Entre l'Espagne, l'Italie, la Suisse, L'allemagne et le RU :P
Projet Actuel : Jeu de survie avancé
||--------

semi-fractale : arbre aléatoire Empty
MessageSujet: Re: semi-fractale : arbre aléatoire   semi-fractale : arbre aléatoire EmptySam 3 Juil 2010 - 12:22

si ca derange personne, je vais essayer d'améliorer les jointures car avec des mayers jointures, ce serait encore plus magnifique que maintenant, surtout que la juste sans les jointures c'est deja joli, mais alors avec...
Revenir en haut Aller en bas
http://gameblog49.skyblog.com/
M@d_Doc
Modérateur
M@d_Doc


Messages : 6600
Localisation : 47°44'8.04
Projet Actuel : aucun

semi-fractale : arbre aléatoire Empty
MessageSujet: Re: semi-fractale : arbre aléatoire   semi-fractale : arbre aléatoire EmptySam 3 Juil 2010 - 12:39

pour t'aider :
les branches sont dessinées avec un draw_line_width.
Les deux extrémités sont :

(x,y) et
(x+lengthdir_x(width*global.length+4,dir) , y+lengthdir_y(width*global.length+4,dir),max(1,width))

_________________
semi-fractale : arbre aléatoire Control_commentTous les icones de gm utilisables sur le cbna ICI semi-fractale : arbre aléatoire Main1_change_sprite
Revenir en haut Aller en bas
http://www.lecbna.org
Topaze22
*Excellent utilisateur*
Topaze22


Messages : 6213
Localisation : Sur la Lune
Projet Actuel : Projet HELLO/TOPAZE22 Mario Bros World

semi-fractale : arbre aléatoire Empty
MessageSujet: Re: semi-fractale : arbre aléatoire   semi-fractale : arbre aléatoire EmptyMer 14 Juil 2010 - 11:46

robotic76 a écrit:
ça serait cool d'améliorer les jointures etc pour faire un générateur d'armre vraiment performant
Je plussoie.

Et il faudrait que JUSTE APRES le premier rectangle, il se forme plus de branche dans différentes directions pour que ton arbre ressemble moins à un truc droit.



Sinon, BAST avait déjà fait un système déjà magnifique dans le genre.

_________________
Topique pour le Projet Hello Mario en préparation.
Sorti du topique lorsque la première démo sera disponible.
semi-fractale : arbre aléatoire Projet13
Revenir en haut Aller en bas
Bast
Administrateur
Bast


Messages : 20019
Localisation : Alsace

semi-fractale : arbre aléatoire Empty
MessageSujet: Re: semi-fractale : arbre aléatoire   semi-fractale : arbre aléatoire EmptyMer 14 Juil 2010 - 20:18

Topaze22 a écrit:
Sinon, BAST avait déjà fait un système déjà magnifique dans le genre.
Non pas vraiment, je crois que je vois de quoi tu parles mais c'est un vieux truc que j'avais conçu avec GM5 à l'époque où je venais de débuter sous GM. Rien à voir avec les fractales de onilink et M@d_Doc.

_________________
semi-fractale : arbre aléatoire Sigico10
Revenir en haut Aller en bas
http://www.lecbna.org/
marty
Utilisateur confirmé: Rang ***
marty


Messages : 697
Projet Actuel : laby-ereinte !

semi-fractale : arbre aléatoire Empty
MessageSujet: Re: semi-fractale : arbre aléatoire   semi-fractale : arbre aléatoire EmptyVen 11 Mar 2011 - 22:23

salut un petit coup de main svp,j'ai fait un petit programme pour générer un "arbre" aléatoire
évidement en d&d avec plusieurs objets et j'aimerai qu'il soit "compilé" en un seul objet pour avoir la possibilité de l'utiliser plusieurs foi dans la même room et je n'y arrive pas !
si une bonne âme passe par là

le gmk: http://www.yoyogames.com/games/167274-genplant

merci
semi-fractale : arbre aléatoire Genpla10
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9178
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

semi-fractale : arbre aléatoire Empty
MessageSujet: Re: semi-fractale : arbre aléatoire   semi-fractale : arbre aléatoire EmptyVen 11 Mar 2011 - 22:29

euh en d&d tu risque d'avoir du mal... surtout en un seul objet.
Le problème c'est que pour les fractales, faut utiliser de la récursivité, donc faut au moins savoir taper un peu de code gml.
Bref si jamais un peu de code te dérange pas demain je pourrais te faire un exemple.

_________________
semi-fractale : arbre aléatoire Runningpotato1semi-fractale : arbre aléatoire TvF6GED semi-fractale : arbre aléatoire MdetltS
Revenir en haut Aller en bas
marty
Utilisateur confirmé: Rang ***
marty


Messages : 697
Projet Actuel : laby-ereinte !

semi-fractale : arbre aléatoire Empty
MessageSujet: Re: semi-fractale : arbre aléatoire   semi-fractale : arbre aléatoire EmptyVen 11 Mar 2011 - 23:47

merci onilink en fait je n'y comprend pas grand chose aux gml et fractale la j'utilise plusieurs objets que j'assemble pour faire un arbre différent à chaque lancement de room
mais je suis ok pour un script car là d&d ne me permet pas de "multiplier" les arbres comme je veux!

cela me permettra d'apprendre le gml! happy1

ps:est il possible de bien identifier les 4 éléments composant l'arbre dans ce script?
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9178
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

semi-fractale : arbre aléatoire Empty
MessageSujet: Re: semi-fractale : arbre aléatoire   semi-fractale : arbre aléatoire EmptyVen 11 Mar 2011 - 23:53

Tu veux que ton arbre soit composé de plusieurs objets ?
En tout cas oui on peut identifié les éléments, mais c'est plus ou moins dur selon comment on procédé.

_________________
semi-fractale : arbre aléatoire Runningpotato1semi-fractale : arbre aléatoire TvF6GED semi-fractale : arbre aléatoire MdetltS
Revenir en haut Aller en bas
marty
Utilisateur confirmé: Rang ***
marty


Messages : 697
Projet Actuel : laby-ereinte !

semi-fractale : arbre aléatoire Empty
MessageSujet: Re: semi-fractale : arbre aléatoire   semi-fractale : arbre aléatoire EmptySam 12 Mar 2011 - 14:58

en fait les quatre éléments sont: feuilles,tronc,plante,et arbre qui est un assemblage du tout

pourquoi?car c'est plus facile de modifier ces éléments indépendaments afin de multiplier les formes aléatoires (par exemple je peux changer la forme des feuilles,la couleur du tronc,..)

as tu téléchargé mon gmk?
car tu va vite comprendre ma cuisine et ce que j'aimerais en faire,c'est a dire un objet unique qui rassemble ces quatre objets en un seul ce qui me permettrais d'en afficher plusieurs dans la même room ce qui est impossible avec ma façon de procéder
merçi

Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9178
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

semi-fractale : arbre aléatoire Empty
MessageSujet: Re: semi-fractale : arbre aléatoire   semi-fractale : arbre aléatoire EmptySam 12 Mar 2011 - 15:44

je vois, mais tout peut tenir en un seul objet.
Je te code un exemple dans l'aprem.

_________________
semi-fractale : arbre aléatoire Runningpotato1semi-fractale : arbre aléatoire TvF6GED semi-fractale : arbre aléatoire MdetltS
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9178
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

semi-fractale : arbre aléatoire Empty
MessageSujet: Re: semi-fractale : arbre aléatoire   semi-fractale : arbre aléatoire EmptySam 12 Mar 2011 - 17:42

Voila un petit exemple bien commenté.

http://www.host-a.net/u/onilink_/fractale_random.gm6


Bien sur ce n'est qu'une base, mais si tu la comprend tu pourras faire de très beaux arbres.
Si tu comprend pas dit le, je répondrais a tes questions. Et si tu veux un plus bel arbre je pourrais aussi le faire,
mais ça te volerais la vedette lol

_________________
semi-fractale : arbre aléatoire Runningpotato1semi-fractale : arbre aléatoire TvF6GED semi-fractale : arbre aléatoire MdetltS
Revenir en haut Aller en bas
marty
Utilisateur confirmé: Rang ***
marty


Messages : 697
Projet Actuel : laby-ereinte !

semi-fractale : arbre aléatoire Empty
MessageSujet: Re: semi-fractale : arbre aléatoire   semi-fractale : arbre aléatoire EmptySam 12 Mar 2011 - 23:27

merci onilink superbe script!
bon j'avoue il faut que je l'étudie pour bien comprendre mais j'ai compris l'idée directrice
clinoeuil

[img]semi-fractale : arbre aléatoire Onitre10[/img]

petite question le script comporte 4 variables appelées argument qui sont identifiés dans le script même xx=argument1 ...
mais l'argument 0 ou est il configuré car c'est inter_max (Cool comment le sait il?

à la place d'un draw_line tu voyais quoi un sprite par exemple?
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9178
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

semi-fractale : arbre aléatoire Empty
MessageSujet: Re: semi-fractale : arbre aléatoire   semi-fractale : arbre aléatoire EmptyDim 13 Mar 2011 - 10:22

Ben en fait une fonction ça a des paramètres tu est d'accord ?
Par exemple la fonction racine carré, elle a un paramètre que l'on noteras x.
Ben quand tu ecrit un script sous GM, pour récupérer les paramètres il faut écrire argument0, argument1 , etc.
argument0 récupèreras la première valeur en paramètre, argument1 le second, etc.
Bon c'est pas super mais c'est gm...

Sinon je pensais mettre des primitives a la places des lignes, mais des sprites conviendraient aussi,
faut juste que tu réussisse a déterminer le scaling que tu doit leur appliquer.

_________________
semi-fractale : arbre aléatoire Runningpotato1semi-fractale : arbre aléatoire TvF6GED semi-fractale : arbre aléatoire MdetltS
Revenir en haut Aller en bas
marty
Utilisateur confirmé: Rang ***
marty


Messages : 697
Projet Actuel : laby-ereinte !

semi-fractale : arbre aléatoire Empty
MessageSujet: Re: semi-fractale : arbre aléatoire   semi-fractale : arbre aléatoire EmptyLun 14 Mar 2011 - 22:18

salut onilink sur le script je ne comprend pas une chose :
quand le compteur parvient à zéro c'est a dire que le nombre de division de branches est complet
if (argument0=0) return 0 signifie la fin du script et tout ce qui suit .
le draw_line est en fin de script pourquoi l'arbre reste affiché?
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9178
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

semi-fractale : arbre aléatoire Empty
MessageSujet: Re: semi-fractale : arbre aléatoire   semi-fractale : arbre aléatoire EmptyLun 14 Mar 2011 - 22:25

Oui c'est bien pour terminer les appels récursifs.
Si tout s'affiche c'est que ce sont les draw_line des autres itérations qui sont affichés, et pas pour la dernière (d'ailleurs a la dernière y a aucun calcul, c'est juste l'arret)

_________________
semi-fractale : arbre aléatoire Runningpotato1semi-fractale : arbre aléatoire TvF6GED semi-fractale : arbre aléatoire MdetltS
Revenir en haut Aller en bas
marty
Utilisateur confirmé: Rang ***
marty


Messages : 697
Projet Actuel : laby-ereinte !

semi-fractale : arbre aléatoire Empty
MessageSujet: Re: semi-fractale : arbre aléatoire   semi-fractale : arbre aléatoire EmptyLun 14 Mar 2011 - 22:32

ok merci happy1
edit:

salut onilink je suis toujours sur le script que je voulais adapter à mon idée mais il y a plusieurs
point de détail que je ne maîtrise pas!

est il possible de réaliser la même chose avec la fonction code et non en script,car là l'ordi fait plusieurs chose en même temps et je n'arrive pas à suivre,j'ai une toute petite approche de la programmation en basic où on utilise une instruction a la suite que l'on répète le cas échéant.

la mon script redessine mon"arbre" constamment en changeant les angles,je n'arrive pas enregistrer les variables angles car il faut les déclarer à l'avance !

merçi





Revenir en haut Aller en bas
marty
Utilisateur confirmé: Rang ***
marty


Messages : 697
Projet Actuel : laby-ereinte !

semi-fractale : arbre aléatoire Empty
MessageSujet: Re: semi-fractale : arbre aléatoire   semi-fractale : arbre aléatoire EmptySam 19 Mar 2011 - 16:09

salut onilink bon je suis arrivé a ce que je cherchais!
bon c'est pas optimum je ne comprend pas ces foutus script mais le résultat est correct!
donc merci pour tes conseils clinoeuil
[img]semi-fractale : arbre aléatoire Arbre10[/img]
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9178
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

semi-fractale : arbre aléatoire Empty
MessageSujet: Re: semi-fractale : arbre aléatoire   semi-fractale : arbre aléatoire EmptySam 19 Mar 2011 - 16:21

ah ben le résultat est très joli.
Ça te donne pas envie de te mettre vraiment au gml tout ça ?
Tu t'imagine même pas le contrôle que tu auras comparé au d&d !

En tout cas si t'as des questions n'hésite pas a me mp :p

_________________
semi-fractale : arbre aléatoire Runningpotato1semi-fractale : arbre aléatoire TvF6GED semi-fractale : arbre aléatoire MdetltS
Revenir en haut Aller en bas
DeinDall
Utilisateur confirmé: Rang ****
DeinDall


Messages : 858
Localisation : Quimper

semi-fractale : arbre aléatoire Empty
MessageSujet: Re: semi-fractale : arbre aléatoire   semi-fractale : arbre aléatoire EmptySam 19 Mar 2011 - 17:36

bon, allé :
semi-fractale : arbre aléatoire Snap_t10
Code:
draw_line_width(xx, yy, xend, yend, argument0)
heheh

_________________
.
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9178
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

semi-fractale : arbre aléatoire Empty
MessageSujet: Re: semi-fractale : arbre aléatoire   semi-fractale : arbre aléatoire EmptySam 19 Mar 2011 - 19:05

Reste a faire un ptit fonction draw_flower et c'est parfait :p


Ahaha j'ai réussi a convertir pleins de personnes au fractales Yum!

_________________
semi-fractale : arbre aléatoire Runningpotato1semi-fractale : arbre aléatoire TvF6GED semi-fractale : arbre aléatoire MdetltS
Revenir en haut Aller en bas
Contenu sponsorisé





semi-fractale : arbre aléatoire Empty
MessageSujet: Re: semi-fractale : arbre aléatoire   semi-fractale : arbre aléatoire Empty

Revenir en haut Aller en bas
 
semi-fractale : arbre aléatoire
Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Scripts GML-
Sauter vers: