AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le deal à ne pas rater :
Funko POP! Jumbo One Piece Kaido Dragon Form : où l’acheter ?
Voir le deal

 

 petit "rts"

Aller en bas 
+2
Johny Wessmuller
marty
6 participants
Aller à la page : 1, 2  Suivant
AuteurMessage
marty
Utilisateur confirmé: Rang ***
marty


Messages : 697
Projet Actuel : laby-ereinte !

petit "rts" Empty
MessageSujet: petit "rts"   petit "rts" EmptyDim 23 Mai 2010 - 14:24

:p_salut:
je n'arrive pas a faire une chose toute simple

j'ai crée un objet carré (un bâtiment),qui lorsqu'on clique dessus crée un objet(unité) qui doit se diriger vers un drapeau(le drapeau peu êtredéplacé en cliquant dessus avec la souris).

si cet unité s'approche à moins de 100 pixels d'une unité adverse un triangle ou un autre carré, il doit aller à sa rencontre et la détruire,puis revenir vers son drapeau!

mais voilà sa ne marche pas correctement j'ai utilisé diverse fonctions pour arriver à un résultat médiocre

un peu d'aide serait la bien venu,ci dessus mon gmk si quelqu'un a un peu de temps!
http://www.yoyogames.com/games/128675-test-rts

:p_merci:


Dernière édition par marty le Dim 23 Mai 2010 - 18:35, édité 1 fois
Revenir en haut Aller en bas
Johny Wessmuller
Utilisateur confirmé: Rang *



Messages : 233

petit "rts" Empty
MessageSujet: Re: petit "rts"   petit "rts" EmptyDim 23 Mai 2010 - 14:46

Je n'ai pas regardé ton exemple (pas le temps) et je n'ai pas non plus beaucoup réfléchi ni testé ma solution, donc il y a certainement mieux.
Dans le create de l'objet unite
drapeau=1
dans step
if drapeau
{
if point distance(x,y,ennemi.x,ennemi.y)<=100
{//Va vers l'ennemi et mets ce que tu veux
drapeau=0
}
else
{//Va vers le drapeau}
}
else
{//retourne a la base}

_________________
C'est bon je suis passé tu peux mettre résolu
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é
||--------

petit "rts" Empty
MessageSujet: Re: petit "rts"   petit "rts" EmptyDim 23 Mai 2010 - 16:13

moi j'ai vu ca

quote 1 a écrit:

if cible!=0 exit
{
if collision_circle(x,y,100,object11,0,0) cible=1
if collision_circle(x,y,100,object12,0,0) cible=2
}

ça

quote 2 a écrit:
if cible=1 move_towards_point(object11.x,object11.y,1)
if cible=2 move_towards_point(object12.x,object12.y,1)

if cible=0 move_towards_point(object3.x,object3.y,2)

ça

petit "rts" Sans_t10

et la de l'object principal a l'enemie ou il y a other.instance_destroy();cible=0


l'idee n'est pas mauvaise mais le carré ne sais pas quelle est l'object11 ou l'object12 il doit battre (quote 2), si il y a plusieurs objet, ca colle pas

de plus, le colllision_circle du quote 1, si tu met 0 a la precision, c'est comme si tu mettait une ligne, met 10 au moins (mais c'est pas le plus important)

ensuite, dans l'image, met des accolades (dans la librairie "control") sinon quand il n'y a plus d'object11, il passe la condition suivant et execute le script

dernierement, il y a cette erreur, celle de la collision.
quand tu appuie sur le carré, il y a plein d'unité qui se crée :
petit "rts" Screen17
lorsque l'un des ennemies approche, quote 2 se met en marche et les unités vont sur l'un des ennemies comme la le triangle:
petit "rts" Screen18
et lorsque les unités l'ont touché ,il disparait :
petit "rts" Screen19
sauf que ce qu'on ne sais pas, c'est qu'il y a qu'une unité qu'il la touché, les autre croient encore qu'il existe (vu que leurs varialbe cible est toujours egales a 1), donc il continue leur route.
c'est ca l'erreur.
je posterai un exemple un peu plus tard pour corriger ca .
PS : quand tu appuie sur le bâtiment, fait en sorte qu'il crée qu'une unité, pas une infinitépetit "rts" Gnii. change juste l'event "Left Mouse" par "Left Pressed"
Revenir en haut Aller en bas
http://gameblog49.skyblog.com/
Johny Wessmuller
Utilisateur confirmé: Rang *



Messages : 233

petit "rts" Empty
MessageSujet: Re: petit "rts"   petit "rts" EmptyDim 23 Mai 2010 - 16:27

Lu juste une question, je ne suis pas très bon en gml mais ça se dit ça
Citation :
if cible!=0 exit
{
if collision_circle(x,y,100,object11,0,0) cible=1
if collision_circle(x,y,100,object12,0,0) cible=2
}
(outre le fait que l'on peut remplacer cibl!=0 par cibl tout court)
[edit]
Ce que je veux dire c'est ne devrions nous pas plutôt avoir
if cible!=0
{
exit
if collision_circle(x,y,100,object11,0,0) cible=1
if collision_circle(x,y,100,object12,0,0) cible=2
}

_________________
C'est bon je suis passé tu peux mettre résolu
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é
||--------

petit "rts" Empty
MessageSujet: Re: petit "rts"   petit "rts" EmptyDim 23 Mai 2010 - 16:43

Johny Wessmuller a écrit:
Lu juste une question, je ne suis pas très bon en gml mais ça se dit ça
Citation :
if cible!=0 exit
{
if collision_circle(x,y,100,object11,0,0) cible=1
if collision_circle(x,y,100,object12,0,0) cible=2
}
(outre le fait que l'on peut remplacer cibl!=0 par cibl tout court)
[edit]
Ce que je veux dire c'est ne devrions nous pas plutôt avoir
if cible!=0
{
exit
if collision_circle(x,y,100,object11,0,0) cible=1
if collision_circle(x,y,100,object12,0,0) cible=2

}

en fait il a confondu la condition,
mais si tu fait ca, ce qu'il y a en gras ne sera jamais executer, quoi qu'il arrive
ce quil faut faire c'est ca :
if cible=0
{
if
collision_circle(x,y,100,object11,0,0) cible=1
if collision_circle(x,y,100,object12,0,0) cible=2
}
Revenir en haut Aller en bas
http://gameblog49.skyblog.com/
Johny Wessmuller
Utilisateur confirmé: Rang *



Messages : 233

petit "rts" Empty
MessageSujet: Re: petit "rts"   petit "rts" EmptyDim 23 Mai 2010 - 16:56

Oui, c'est vrai, je n'avais prêté attention qu'à la syntaxe rire merci.
if cible=0 //ici il manque un =
{
if //ici tu as oublié de marquer un truc
collision_circle(x,y,100,object11,0,0) cible=1
if collision_circle(x,y,100,object12,0,0) cible=2
}

_________________
C'est bon je suis passé tu peux mettre résolu
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é
||--------

petit "rts" Empty
MessageSujet: Re: petit "rts"   petit "rts" EmptyDim 23 Mai 2010 - 17:27

Johny Wessmuller a écrit:
Oui, c'est vrai, je n'avais prêté attention qu'à la syntaxe rire merci.
if cible=0 //ici il manque un = //pas obliger en GML
{
if /*//ici tu as oublié de marquer un truc //lol j'ai ecrit trop vite*/collision_circle(x,y,100,object11,0,0) cible=1
if collision_circle(x,y,100,object12,0,0) cible=2
}
Revenir en haut Aller en bas
http://gameblog49.skyblog.com/
marty
Utilisateur confirmé: Rang ***
marty


Messages : 697
Projet Actuel : laby-ereinte !

petit "rts" Empty
MessageSujet: Re: petit "rts"   petit "rts" EmptyDim 23 Mai 2010 - 18:34

:p_merci: d'avoir pris le temps de télécharger le gmk,je sais que c'est pénible de mettre le nez dans un code mal foutu!
et pour vos précisions je ne m'en sortait pas!
je vais corriger tout ça!
:sourire:

comment faire pour que 2 questions soit vraie donne 1 resultat
par exemple if objet 1 existe et object 2 existe alors object 3 avance tout droit?
dernière question: le terme en langage basic goto numero de ligne comment ce traduit t'il en gml?
merci
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é
||--------

petit "rts" Empty
MessageSujet: Re: petit "rts"   petit "rts" EmptyLun 24 Mai 2010 - 1:12

marty a écrit:
:p_merci: d'avoir pris le temps de télécharger le gmk,je sais que c'est pénible de mettre le nez dans un code mal foutu!
et pour vos précisions je ne m'en sortait pas!
je vais corriger tout ça!
:sourire:

comment faire pour que 2 questions soit vraie donne 1 resultat
par exemple if objet 1 existe et object 2 existe alors object 3 avance tout droit?
dernière question: le terme en langage basic goto numero de ligne comment ce traduit t'il en gml?
merci

tu la dit toi meme XD
sauf que dans GM, 'et' ce dit '&&' (PS : pour savoir si un objet existe, c'est instance_exists(obj), au cas ou Wink )

et pour Goto X, et bien moi aussi je me pose la question, est il possible de faire des étiquettes sous GM, car ce serai vraiment utile, mais j'en ai jamais vu la couleur (sauf dans ma casio)
Revenir en haut Aller en bas
http://gameblog49.skyblog.com/
marty
Utilisateur confirmé: Rang ***
marty


Messages : 697
Projet Actuel : laby-ereinte !

petit "rts" Empty
MessageSujet: Re: petit "rts"   petit "rts" EmptyLun 24 Mai 2010 - 13:59

grâce à toi ça progresse! je tiens quelque chose de potable en ce qui concerne les déplacements! gnii
maintenant je cherche un moyen pour que toute les unités crées ne soit pas toute les unes sur les autres je penche pour un "random position vers drapeaux" mais c'est pas terrible!
l'idéal se serait une grille de position,mais c'est trop complexe pour moi!
as tu une suggestion?


:p_merci:
Revenir en haut Aller en bas
Johny Wessmuller
Utilisateur confirmé: Rang *



Messages : 233

petit "rts" Empty
MessageSujet: Re: petit "rts"   petit "rts" EmptyLun 24 Mai 2010 - 14:25

Lu pour le goto, je crois qu'il n'y en a pas car je crois qu'il n'y en a pas en python, mais qu'on peut le contourner en tous cas en python http://www.daniweb.com/forums/thread28285.html ,mais fait une boucle.
Pour marty
Avec une modif du code que j'ai donné
Dans create
drapeau=choose (1,2,3,4...etc)
Dans alarme0
{drapeau=1}
Dans step
if drapeau==//pour chaque nombre du choose
{//Fais une action différente par exemple commence à partir dans des directions différentes
//mets l'alarme0 à un certain nbre ou fais un truc pour que dès qu'il a terminé drapeau=1, selon ce que tu veux
if drapeau==1
{
if point distance(x,y,ennemi.x,ennemi.y)<=100
{//Va vers l'ennemi et mets ce que tu veux
drapeau=0
}
else
{//Va vers le drapeau}
}
if !drapeau
{//retourne a la base}

Avec cette exemple, ils vont commencer à faire des actions différentes, puis ils iront vers le drapeau.

tu peux rajouter //si la distance entre lui et un autre objet unite est plus petite que 100, drapeau =un nombre que tu n'as pas mis dans le choose, avec un comportement spécifique dans le if drapeau=ce nombre.

_________________
C'est bon je suis passé tu peux mettre résolu
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é
||--------

petit "rts" Empty
MessageSujet: Re: petit "rts"   petit "rts" EmptyLun 24 Mai 2010 - 18:16

tiens j'ai eu une idée de Goto que voici :

Citation :
[Create]
goto_init()

[Step]
if lbl(0)
{
//blablabla
if keyboard_check(vk_up)
{
goto(1)
exit;
}

}
if lbl(1)
{/*blablabla*/}

avec :

Citation :
[scr : goto_init]
global.init=0;

[scr : lbl(arg0)]
if global.goto=argument0
return 1;
else
return 0;

[scr : goto(arg0)]
global.init=argument0;

PS : c'est dommage, le "exit" j'ai essayer de le mettre dans le script mais ca n'avais aucun effet dans le Step
Revenir en haut Aller en bas
http://gameblog49.skyblog.com/
supmaster004
Utilisateur confirmé: Rang *****
supmaster004


Messages : 2188
Localisation : x=23.256842 y=43.456879
Projet Actuel : Faire des parodies de jeux en 1h

petit "rts" Empty
MessageSujet: Re: petit "rts"   petit "rts" EmptyLun 24 Mai 2010 - 18:29

je suis sous gm6 ......

_________________
Spoiler:

L'IRC du cbna: IRC du cbna
projets terminés: prédation mouse vs keyboard ACII OC_ nintendo nightmare fuyez lavanville
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é
||--------

petit "rts" Empty
MessageSujet: Re: petit "rts"   petit "rts" EmptyLun 24 Mai 2010 - 19:01

supmaster004 a écrit:
je suis sous gm6 ......

je ne vois pas le probleme avec le goto que je viens de faire, le script est tout a fait compatible avec
si tu veux parler de l'exemple, la j'en suis desolé petit "rts" Diable
tu ne la pas upgrader depuis ?
Revenir en haut Aller en bas
http://gameblog49.skyblog.com/
marty
Utilisateur confirmé: Rang ***
marty


Messages : 697
Projet Actuel : laby-ereinte !

petit "rts" Empty
MessageSujet: Re: petit "rts"   petit "rts" EmptyMer 26 Mai 2010 - 21:56

salut un petit problème à vous suggérer dans ce "rts" les unités s'agglutinent les uns sur les autres et si j'utilise une collision avec un bounce mes déplacement se gèle.
mes unités sont toutes le même objet "object0" avec un if point_distance object0<20 écarter vous le uns des autres?

javascript:emoticonp(':p_merci:')
Revenir en haut Aller en bas
jo
*Excellent utilisateur*
jo


Messages : 4879
Localisation : CENSURE T_T
Projet Actuel : FAC

petit "rts" Empty
MessageSujet: Re: petit "rts"   petit "rts" EmptyJeu 27 Mai 2010 - 8:14

Pour commencer, arrête d'utiliser de la *****.
Boucing against c'est une crasse. vraiment.
ça se gèle parce que ça gère juste la collision, pas le transfert de force entre les objets. Donc il se contente de se cogner, bouger, cogner , contre un objet qui recule pas. normal que ça se géle.
Essaye un

"
soldat_proche=instance_nearest(x,y,soldat)
if soldat_proche.y>y+sprite_height/2 {y-=1}
if soldat_proche.y<y-sprite_height/2 {y+=1}
if soldat_proche.x>x+sprite_width/2 {x-=1}
if soldat_proche.x<x-sprite_width/2 {x+=1}
"

Ce script à été tapé dans le forum. Je l'ai pas testé, et je le testerais pas. xD
Si ya des erreurs, essaye de les corriger toi même et de comprendre le script.
Yaura sans doute des truc à inverser ou des conneries du genre.
Eeeet c'est fait dans l'optique ou tu utilise un sprite centré et dont la taille correspond a la taille de l'image (cad qui touche les bords, avec la fonction crop)

EDIT : j'avais pas vu que tu voulais 20. Bah c'est pas compliquer a modifier, tu sauras le faire toi même. =p

_________________
http://viciousslugs.sup.fr/ <- Des imbéciles en action. Venez visiter, on recherche des lecteurs, des auteurs, et ça paye mal. En fait ça paye pas, mais ya moyen de se marrer.
Revenir en haut Aller en bas
http://psyckho.skyrock.com/
marty
Utilisateur confirmé: Rang ***
marty


Messages : 697
Projet Actuel : laby-ereinte !

petit "rts" Empty
MessageSujet: Re: petit "rts"   petit "rts" EmptyJeu 27 Mai 2010 - 18:10

merci pour ta réponse.
je vais étudier ça!

edit:

pourquoi ça ne marche pas?


pour info object0 sont mes unités .
je voulais que lorsqu'ils entrent dans un certain périmètre les uns des autres ils se dispersent.
j'ai testé des tonnes de solution même recopier des code d'autres jeu mais ça ne fonctionne pas comme je le voudrais
car je voudrais avoir une variable facilement modifiable pour pouvoir faire varier l'écart entre les unités.

if collision_circle(x,y,20,object0,1,true)>0
{
ecart=instance_nearest(x,y,object0)
dir=point_direction(x,y,ecart.x,ecart.y)+180
xx=lengthdir_x(21,dir)+x
yy=lengthdir_y(21,dir)+y
move_towards_point(xx,yy,2)
}

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


Messages : 697
Projet Actuel : laby-ereinte !

petit "rts" Empty
MessageSujet: Re: petit "rts"   petit "rts" EmptyLun 31 Mai 2010 - 21:04

salut à tous,

je ne comprend pas!
un event collision s'exécute t'il différemment d'un if collision dans un step??
Revenir en haut Aller en bas
jo
*Excellent utilisateur*
jo


Messages : 4879
Localisation : CENSURE T_T
Projet Actuel : FAC

petit "rts" Empty
MessageSujet: Re: petit "rts"   petit "rts" EmptyLun 31 Mai 2010 - 21:31

Oui. Fort. Utilise la version en script ^^

_________________
http://viciousslugs.sup.fr/ <- Des imbéciles en action. Venez visiter, on recherche des lecteurs, des auteurs, et ça paye mal. En fait ça paye pas, mais ya moyen de se marrer.
Revenir en haut Aller en bas
http://psyckho.skyrock.com/
supmaster004
Utilisateur confirmé: Rang *****
supmaster004


Messages : 2188
Localisation : x=23.256842 y=43.456879
Projet Actuel : Faire des parodies de jeux en 1h

petit "rts" Empty
MessageSujet: Re: petit "rts"   petit "rts" EmptyLun 31 Mai 2010 - 23:46

dans collision avec n'importe quel autre objet:

dir=point_direction(x,y,other.x,other.y)
if !instance_place(x+0.5*cos(dir*pi/180),y-0.5*sin(dir*pi/180),mur)
{ x-=0.5*cos(dir*pi/180) y+=0.5*sin(dir*pi/180)}


tu changes les quatre 0.5 si ils te conviennent pas, mais normalement ça fait un effet pas mal. super
(remplace "mur" par le parent de tes murs si tu en as)
et tous tes sprites doivent être centrés sinon c'est moche beh
je l'ai utilisé dans hollow world

_________________
Spoiler:

L'IRC du cbna: IRC du cbna
projets terminés: prédation mouse vs keyboard ACII OC_ nintendo nightmare fuyez lavanville
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é
||--------

petit "rts" Empty
MessageSujet: Re: petit "rts"   petit "rts" EmptyMar 1 Juin 2010 - 16:59

supmaster004 a écrit:
dans collision avec n'importe quel autre objet:

dir=point_direction(x,y,other.x,other.y)
if !instance_place(x+0.5*cos(dir*pi/180),y-0.5*sin(dir*pi/180),mur)
{ x-=0.5*cos(dir*pi/180) y+=0.5*sin(dir*pi/180)}


tu changes les quatre 0.5 si ils te conviennent pas, mais normalement ça fait un effet pas mal. super
(remplace "mur" par le parent de tes murs si tu en as)
et tous tes sprites doivent être centrés sinon c'est moche beh
je l'ai utilisé dans hollow world

0.5*cos(dir*pi/180) : heu oui mais pour ce qu'il ne retiennent pas, ce qui a été mon cas à epoque ou je ne connaissais pas la trigo, la même fonction que 0.5*cos(dir*pi/180) c'est lengthdir_x(0.5,dir) et pour y c'est lengthdir_y(0.5,dir)

edit : on parlai du goto il y a quelque temps, je viens d'avoir un revelation, le goto on le vois pas comme ca, mais c 'est evident, c'est le changement de room (avec la fonction room_goto(numb))
maintenant je dis ce que je pense
Revenir en haut Aller en bas
http://gameblog49.skyblog.com/
marty
Utilisateur confirmé: Rang ***
marty


Messages : 697
Projet Actuel : laby-ereinte !

petit "rts" Empty
MessageSujet: Re: petit "rts"   petit "rts" EmptyMar 1 Juin 2010 - 22:58

:p_hello:
merci pour le code supmaster!

supmaster004 a écrit:
dans collision avec n'importe quel autre objet:
Citation :

dir=point_direction(x,y,other.x,other.y)
if !instance_place(x+0.5*cos(dir*pi/180),y-0.5*sin(dir*pi/180),mur)
{ x-=0.5*cos(dir*pi/180) y+=0.5*sin(dir*pi/180)}


tu changes les quatre 0.5 si ils te conviennent pas, mais normalement ça fait un effet pas mal. super
(remplace "mur" par le parent de tes murs si tu en as)
et tous tes sprites doivent être centrés sinon c'est moche beh
je l'ai utilisé dans hollow world


0.5*cos(dir*pi/180) : heu oui mais pour ce qu'il ne retiennent pas, ce qui a été mon cas à epoque ou je ne connaissais pas la trigo, la même fonction que 0.5*cos(dir*pi/180) c'est lengthdir_x(0.5,dir) et pour y c'est lengthdir_y(0.5,dir)

edit : on parlai du goto il y a quelque temps, je viens d'avoir un revelation, le goto on le vois pas comme ca, mais c 'est evident, c'est le changement de room (avec la fonction room_goto(numb))
maintenant je dis ce que je pense

par contre devant instance_place j'ai du enlever le "!"
et comme le disait gabin49 la trigo c'est pas mon fort c'est pourquoi j'ai du mal avec ce rts.

a propos du goto je parlais de la fonction goto du langage basic qui permet de sortir d'un code et de ne pas exécuter la suite du code.
comme je n'avais rien compris a ton code je n'avais pas poursuivi la discussion,désolé je suis novice en programmation et je fais ça juste pour me divertir c'est mieux que des mots croisées!
Revenir en haut Aller en bas
supmaster004
Utilisateur confirmé: Rang *****
supmaster004


Messages : 2188
Localisation : x=23.256842 y=43.456879
Projet Actuel : Faire des parodies de jeux en 1h

petit "rts" Empty
MessageSujet: Re: petit "rts"   petit "rts" EmptyMar 1 Juin 2010 - 23:09

tu sais, si tu enlèves le !, ça veut dire que tu n'avance que si il y a un mur là ou tu veux aller.

Quand je dis mur, je parle bien évidemment des objets solides AUTRES que ceux avec lesquels tu rentre en collision lors de ce script (pas un batiment par exemple. Mais une montagne ou un mur quoi.)
et si possible, pas un parent de l'objet avec lequel tu utilise ce code


Si il n'y en a pas, ben enlève tout simplement le if !instance_place() et les crochets {}


dir=point_direction(x,y,other.x,other.y)
x-=0.5*cos(dir*pi/180)
y+=0.5*sin(dir*pi/180)

_________________
Spoiler:

L'IRC du cbna: IRC du cbna
projets terminés: prédation mouse vs keyboard ACII OC_ nintendo nightmare fuyez lavanville
Revenir en haut Aller en bas
blendman
Utilisateur confirmé: Rang **
blendman


Messages : 433
Projet Actuel : Crée des jeux, logiciels, BD, Romans et nouvelles.

petit "rts" Empty
MessageSujet: Re: petit "rts"   petit "rts" EmptyMer 2 Juin 2010 - 18:23

Coucou Marty

Je me demande si tu ne peux pas utiliser des conditions utilisant des
Code:

place_meeting
pour éviter que 2 personnages ne se chevauchent.

Sinon, si tu veux apprendre facilement le GML, je te conseille ce petit utilitaire vraiment sympa et bien utile :
http://gmc.yoyogames.com/index.php?showtopic=423825
Revenir en haut Aller en bas
http://blendman.blogspot.com/
marty
Utilisateur confirmé: Rang ***
marty


Messages : 697
Projet Actuel : laby-ereinte !

petit "rts" Empty
MessageSujet: Re: petit "rts"   petit "rts" EmptyMer 2 Juin 2010 - 19:58

merci pour ces précisions supmaster,je continu a apprendre en essayant de résoudre ce problème.

j'avais dans l'idée d'utiliser des mask de differentes tailles pour faire varier l'écart entre les unités qu"en pense tu ?(l'idée c'est que le joueur puisse facilement régler l'écart in game des unités un peu comme dans age of empire et donne simplement des ordres de position simple)

toute mes autres tentatives finissent par rencontrer un problème de collision lorsque le nombre d'unités augmente.

merci blendman pour ce logiciel très pratique super ,je note que ton projet avance vite et que tu n'hésite pas a tester d'autres solutions comme construct (que tu semble apprécier) et autre !

as tu réussis a convertir ton jeu en java?
vu l'ampleur de ton projet tu as certainement rencontré tous les problèmes qu'un novice puisse rencontrer est ce que tu aurais synthétiser ceux ci sous forme de gmk classé par thème ?
Revenir en haut Aller en bas
supmaster004
Utilisateur confirmé: Rang *****
supmaster004


Messages : 2188
Localisation : x=23.256842 y=43.456879
Projet Actuel : Faire des parodies de jeux en 1h

petit "rts" Empty
MessageSujet: Re: petit "rts"   petit "rts" EmptyJeu 3 Juin 2010 - 17:14

supposons que la cible d'une unité soit

goalx
goaly

je te propose un alignement tous les 20 pixels. (tu pourras changer)


d'abord, assure toi que goalx/goaly soient des multiples de 20.

(par exemple en faisant goalx=20*round(goalx/20) )


dans une collision avec un ami, tu rajouteras ce code:

Code:
if other.goalx=goalx && other.goaly=goaly && point_distance(x,y,goalx,goaly)<point_distance(other.x,other.y,goalx,goaly)
{goalx+=20*round(1-random(2))
 goaly+=20*round(1-random(2))}

en gros, quand deux objets proches ont le même but, l'un des deux (le plus loin du but) change légèrement son but pour se placer a coté. Comme ça ils avancent en escadrilles ordonnées (encore une fois, c'est ce que j'ai fait dans hollow world)

_________________
Spoiler:

L'IRC du cbna: IRC du cbna
projets terminés: prédation mouse vs keyboard ACII OC_ nintendo nightmare fuyez lavanville
Revenir en haut Aller en bas
blendman
Utilisateur confirmé: Rang **
blendman


Messages : 433
Projet Actuel : Crée des jeux, logiciels, BD, Romans et nouvelles.

petit "rts" Empty
MessageSujet: Re: petit "rts"   petit "rts" EmptyVen 4 Juin 2010 - 11:18

marty a écrit:
,je note que ton projet avance vite et que tu n'hésite pas a tester d'autres solutions comme construct (que tu semble apprécier) et autre !
Effectivement, j'ai testé construct et il est vraiment très performant. Cependant, GameMaker est beaucoup plus intéressant avec le GML. Et comme j'ai commencé le jeu avec GM, je ne sais pas si je vais tout refaire avec Construct. Mais sans doute un prochain jeu Smile.

Citation :
as tu réussis a convertir ton jeu en java?
En fait, je n'ai pas essayé de convertir en java, c'est un dev qui s'occupe de la version java (la version online).

Citation :
vu l'ampleur de ton projet tu as certainement rencontré tous les problèmes qu'un novice puisse rencontrer est ce que tu aurais synthétiser ceux ci sous forme de gmk classé par thème ?
houlà Very Happy. Je ne crois pas avoir rencontré tous les problèmes même ceux des "novices", car ça dépend des jeux et de ce que l'on veut faire Smile.

Mais c'est vrai que j'ai constitué un dossier d'exemples de ce dont j'ai besoin (exemple trouvé en général sur le net comme ici, ou sur GMC, 64digit, etc...). J'ai donc quelques exemples (gm6 ou gmk) pour des menus, déplacement sélections, IA, combats, etc..
Il m'arrive de regarder ces exemples pour comprendre comment faire certaines choses, car il est important de comprendre ce que l'on fait. Very Happy
Revenir en haut Aller en bas
http://blendman.blogspot.com/
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é
||--------

petit "rts" Empty
MessageSujet: Re: petit "rts"   petit "rts" EmptyVen 4 Juin 2010 - 16:54

j'ai une idée, pourquoi tu ne ferais pas des unité en 1*1 au lieu de 32*32
ce serai moins genant dans ce cas la et tu pourra avoir un tres grande carte pour seulement une dimension de 640*480 !
Revenir en haut Aller en bas
http://gameblog49.skyblog.com/
supmaster004
Utilisateur confirmé: Rang *****
supmaster004


Messages : 2188
Localisation : x=23.256842 y=43.456879
Projet Actuel : Faire des parodies de jeux en 1h

petit "rts" Empty
MessageSujet: Re: petit "rts"   petit "rts" EmptyVen 4 Juin 2010 - 18:15

gabin49 a écrit:
j'ai une idée, pourquoi tu ne ferais pas des unité en 1*1 au lieu de 32*32
ce serai moins genant dans ce cas la et tu pourra avoir un tres grande carte pour seulement une dimension de 640*480 !


ça serait moche aussi p2

_________________
Spoiler:

L'IRC du cbna: IRC du cbna
projets terminés: prédation mouse vs keyboard ACII OC_ nintendo nightmare fuyez lavanville
Revenir en haut Aller en bas
marty
Utilisateur confirmé: Rang ***
marty


Messages : 697
Projet Actuel : laby-ereinte !

petit "rts" Empty
MessageSujet: Re: petit "rts"   petit "rts" EmptyVen 4 Juin 2010 - 22:33

:p_hello:

mes unités sont 32*32 car en fait c'est la taille des sprites par défaut,et comme je cherche seulement la mécanique de jeu pour l'instant!
mais je vais les réduire pour avoir plus d'unités quand j'aurais réussis un "moteur" qui me convienne! clinoeuil

encore merci supmaster de partager ton xp,cela m'a donné une idée,car en fait c'est vrai que c'est l'effet entonnoir qui bloque le déplacement de mes unités,donc je voulais ajouter la direction et l'ecart entre les unites aux coordonnes du drapeau,le problème est qu'une simple addition de vecteur ne marche pas car en fonction que l'autre unité soit "a droite ou a gauche "ils se croisent.

pour finir l'écart "réglable" entre les unités a été résolue par l'utilisation de 4 mask de tailles différentes.
lorsque l'on change de mask en fonction de la position de la souris cela donne une pseudo formation différente (le hasard fait bien les choses parfois !)

question:pourquoi quand j'utilise instance_nearest(object0) et que j'ai 4 object0 dans une room il me returne l'id de chaque objet et non celui qui est le plus proche?
cette fonction marche correctement quand les 4 objects sont différents!

que puis je utiliser comme fonction? :p_merci:
Revenir en haut Aller en bas
Contenu sponsorisé





petit "rts" Empty
MessageSujet: Re: petit "rts"   petit "rts" Empty

Revenir en haut Aller en bas
 
petit "rts"
Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant
 Sujets similaires
-
» augmenter une variable petit a petit
» petit lu 1
» Petit K-do
» petit pro
» petit bug...

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