Se connecter

Informatique

Création de Jeux

Sujet : J'aide les personne dans Game maker
chopsueys
Niveau 16
15 novembre 2014 à 21:44:27

Pour un exemple concret je pourrais parler des collisions bien plus efficace grâce au boucles.
En d&d si tu veux savoir si il y'a un objet en x,y position tu vas utiliser "check object" qui est l'équivalent en gml de if place_meeting(x,y,object)
Si je place cette fonction en gml ou cette icône d&d dans un step ça aura exactement la même efficacité car en fait cette icône d&d utilise le même programme que la fonction gml.
Mais ces deux solutions sont incomplètes et posent des problèmes (que tu à forcément du remarquer)
Prenons l'exemple d'un personnage qui se déplace vers la droite de 8 pixels par steps.
Tu veux qu'il s’arrête lorsqu'il rencontre un mur, alors tu dis si y'a ce mur à 1 pixel à ma droite j’arrête d'avancer.
Le perso se trouve actuellement à 10 pixels du mur, dans step le programme vérifie si ce mur se trouve à 1 pixel vers la droite et il n'ya rien donc on peux avancer de 8 pixels. Il est à présent à 2 pixels du mur, le programme recommence l'opération...il n'y a toujours aucun obstacle alors on avance de 8 pixels mais cette fois si ton objet se retrouve coincé dans le mur de 6 pixels :bravo:
Alors bien sur en d&d y'a des moyens d'éviter à peut près ça en utilisant "move to contact" mais c'est du bricolage et ça ne tiendra pas la route avec des vitesses trop élevés. ce qu'il se passe c'est que ton perso rentre dans le mur puis au step suivant on le redéplace pour le faire sortir...la vrais façon de faire est d'éviter simplement cette collision avant qu'elle n’arrive, chose impossible en d&d mais banale en gml.

En gml tu vas utiliser une boucle for pour compléter cette fonction:

for (i=0;i<vitesse;i+=1)
{
if place_meeting(x+1,y,mur)
{x+=1}
}

Cette boucle va permettre de tester pixel par pixel si il y'a une collision dans un seul step. En fait c'est un peut comme un évènement step à l’intérieur de l'évènement step.
(Si tu veux plus d'infos sur le fonctionnement je peux t'en donner)

C'est juste un exemple y'a beaucoup de choses difficilement réalisable en d&d mais déjà rien que le fait de ne pas pouvoir se servir de boucles c'est un gros handicap.

Télécharge si tu veux le drag and drop décodeur c'est un petit logiciel (fait en gml ^^) qui te permet d'obtenir les équivalent du d&d en gml, ça m'a beaucoup servi au début.

BeerDuff
Niveau 47
15 novembre 2014 à 22:15:59

Bonsoir,

J'aimerai savoir si on peut utiliser la roulette de la souris ?
C'est pour switcher d'arme enfaite :hap:

chopsueys
Niveau 16
15 novembre 2014 à 22:27:18

Dans l'event mouse t'as "mouse wheel up" et "mouse wheel down"

BeerDuff
Niveau 47
15 novembre 2014 à 22:30:20

chopsueys Voir le profil de chopsueys
Posté le 15 novembre 2014 à 22:27:18 Avertir un administrateur
Dans l'event mouse t'as "mouse wheel up" et "mouse wheel down"

Jvient de le voir il a 5 minutes :honte:

Merci :ok:

tuliusdetritus
Niveau 3
15 novembre 2014 à 22:55:18

ok effectivement c'est plus pratique j'avais rencontré ce pb notament pour les sauts

Pseudo supprimé
Niveau 6
16 novembre 2014 à 21:05:13

Salut j'ai créé (dans game maker) un boss avec une barre de vie. Ce boss a 100 health et a chaque fois que je le touche normalement il devrait perdre 20 health. Donc en 5 coup il devrait mourrir. Mais au lieu de ça il faut que je le tape 7 ou 8 fois pour qu'enfin il perde 20 health a chaque coup. Quelqu'un aurait une idée pour m'aider ? Je veux qu'a chaque fois que je le touche il perd de la vie.

Merci d'avance.

Zonbu
Niveau 4
16 novembre 2014 à 22:20:01

Je ne fais plus de GM mais je veux bien t'aider si tu me montres ton code :)

chopsueys
Niveau 16
17 novembre 2014 à 00:08:25

Ben avec si peut d'infos sur ta façon de faire... :hap:
Ton boss a une variable vie à 100 ben quand tu le touche tu l'a décrémente de 20...
Essaye de donner plus d'infos par ce que là. :-(

TheUnreaL34
Niveau 8
18 novembre 2014 à 18:12:49

J'ai commencé à creer un FPS 3D avec game maker mais quand je lance l'application ça me met un écran tout noir et je ne comprend pas pourquoi
j'ai fais 3 évents :
d3d_start ();
d3d_set_perspective (true);
d3d_set_hidden (true);
d3d_set_shading (true);
d3d_set_lighting (true);
d3d_set_fog (true, background_color, 300, 500);
texture_set_interpolation (true);
draw_set_color (c_white)

d3d_light_enable (d3d_light_define_ambient (c_gray), true);
d3d_light_define_direction (0, 0.8, 0.5, -1, c_white)
d3d_light_enable (0, true);

z = 0;
zspeed = 0;
zgravity = 0.7;
zcollision = false;
eye = 10;
eyeTransition = 10;
dir = 0;
zdir = 0;
walkSpeed = 0.8;
jumpHeight = 2;
run = false;
crouch = false;
creep = false;
global.time = 0;
swing = 0;
RealTimeSpeed = 0;
zto = 0;

2 nd event:
dir - = display_mouse_get_x () - display_get_width () / 2;
zdir - = display_mouse_get_x () - display_get_height () / 2;
display_mouse_set (display_get_width () / 2, display_get_height () / 2);

if zto> 88.99 Then zto = 89;
if zto <-88.99 Then zto = -89;

if dir <0 then dir + = 360;
if dir> 0 then dir - = 360;
3 rd event:
d3d_set_projection_ext (x, y, z + eye, x + lengthdir_x (lengthdir_x (100 zdir), dir), y + lengthdir_y (lengthdir_x (100 zdir), dir) + z + lengthdir_y eye (100, zdir) 0 , 0, 1, 70, 1, 1, 500);

d3d_draw_floor (0, 0, 0, room_width, room_height, 0, background_get_texture (tex_floor) room_width / 5 room_height / 5);

Alors le probléme vient de ou svp ? Merci d'avance pour les réponses =)

tuliusdetritus
Niveau 3
18 novembre 2014 à 18:18:50

hola la vache un fps 3D!! putain c'est chaud tout ça tu dois etre sacrément expérimenté dans ce cas tu est plus fort que moi je ne peux pas t'aider mais que te montrer mon respect pour faire un projet de cette envergure

TheUnreaL34
Niveau 8
18 novembre 2014 à 18:25:20

Non ce n'est pas trés compliqué , c'est juste de la programmation pure et dure , tu vas sur google et tu met game maker language et ta tout d'expliquer =)
Sinon comme logiciel de modélisation d'arme gratuit , vous me conseillez quoi ? aprés je sais pas bien dessiner ( par exemple mon ak47 pourrait vraiment être horrible ) donc ça va être dur mais déja faut que j'arrive a corriger ce probléme , j'ai envoyé ça sur les topic des Américains mais ils m'ont pas répondu encore )=

chopsueys
Niveau 16
18 novembre 2014 à 19:54:04

" c'est juste de la programmation pure et dure "

Non pas vraiment puisque tu utilises un moteur.

Bon ton code c'est un peut n’importe quoi , notamment cette ligne:
3d_set_projection_ext (x, y, z + eye, x + lengthdir_x (lengthdir_x (100 zdir), dir), y + lengthdir_y (lengthdir_x (100 zdir), dir) + z + lengthdir_y eye (100, zdir) 0 , 0, 1, 70, 1, 1, 500);

C'est toi qui l'a écrit ou t'as tout recopier quelque part ?
un exemple: lengthdir_y eye (100, zdir) 0
tu appel la fonction lengthdir puis au lieu de direct lui donner ses arguments tu écrit une variable "eye" puis tu va foutre les arguments plus loins et à la fin on a un beau 0 qu'est tout seul on sais pas ce qu'il fait là... et c'est comme ça dans presque tout ton code.

Un conseil revoie les bases et essaye déjà d'afficher un cube en 3d.

"Sinon comme logiciel de modélisation d'arme gratuit , vous me conseillez quoi ? "

Par ce que tu compte intégrer des model 3d d'un autre logiciel dans GM ? non en fait tu connais pas du tout Game maker. Pourquoi se lancer dans un fps si tu n'y connais rien ? GM est avant tout un logiciel 2D

TheUnreaL34
Niveau 8
18 novembre 2014 à 20:06:26

Whaou tant de haine contre moi ? pourquoi ? j'ai pas parler méchamment alors fait de même .
Non les codes ne sont pas du grand n'importe quoi , c'est pas un 0 qui est tout seul c'est lenghthdir_y eye (100,zdir)0, 0, 1, 70, 1, 1, 500 )
donc le zéro n'est pas tout seul , puis je pense que tu dois faire que tu 2D vu que au final ta essayer de me vexé mais tu ne m'a pas répondu , le nom du topic c'est si vous avez des questions a propos de game maker et non pas si vous avez une personne a rabaisser allez-y tu vois ce que je veux dire ?
Et de toute façon il n'y'a pas d'erreur puis que tout mes caractéres ont une couleur spécifique , quand c'est blanc ça veut dire que le systeme comprend pas ce que j'ai mis , et la y'en a pas , puis je sais pas si le probléme vient du programme ou d'un autre probléme ( option etc ) .
Par ce que tu compte intégrer des model 3d d'un autre logiciel dans GM ? bah oui et ça peut te poser un probléme ? c'est possible parce que j'ai regarder un tuto =)
GM est avant tout un logiciel 2D , certe mais il peut aussi faire du 3D donc ne n’emmerde pas :)

tuliusdetritus
Niveau 3
18 novembre 2014 à 21:13:35

woo wooo wooo calmos déjà je pense que si tu veux faire de la 3d il faut surement choisir un autre langage (genre le c++) ensuite je pourrais savoir depuis combien de temps t'est sous game maker les projets que tu à fais tout ça...
et enfin

"Et de toute façon il n'y'a pas d'erreur puis que tout mes caractères ont une couleur spécifique , quand c'est blanc ça veut dire que le système comprend pas ce que j'ai mis , et la y'en a pas"

en fait en programmation pure et dure la faute ne viens quasiment jamais du logiciel de 1 et ensuite ça veut rien dire ce que tu as mis puisque tes valeurs sont peut être fausse et ça tu ne peux pas le savoir avec des couleurs les couleurs c'est juste pour les mots clef mais si ils sont pas au bon endroits dans le code ou si les valeurs sont pas bonne t'auras beau avoir toutes les couleurs du monde le code affichera un beau ERREUR. Personnellement je ne connais pas le gml (j'utilise plus d&d) je peux pas t'aider mais surtout je te conseillerais surtout de commencer avec des projets moins ambitieux (après je connais rien de ton niveau cf plus haut) mais là gm n'est clairement pas un logiciel pour un fps c'est trop complexe (de ce que j'en sais) regarde par exemple moi je recréé un Castelvania et c'est déjà galère (notamment pour les ia des boss) alors un fps à la doom... c'est quand même un autre niveau

et enfin "t'offusque pas mec chopsuey t'a pas parlé méchamment t'est parano ou quoi pour te sentir agressé comme ça à chaque phrase c'est à cause de gens comme toi qu'on en viens au engueulade sur les forums donc soit plus tolérant stp

chopsueys
Niveau 16
18 novembre 2014 à 21:17:35

:ouch2: Ou est ce que j'ai été agressif ?
T'es sérieux t'as mal pris le fait que je dise qu'il y'a des gros problèmes dans ton code ? C'est pas pour ça que t'es là à la base ? Bon ben si tu veux ok je reformule de façon à ce que tu ne sois pas véxé: Ton code est super y'a pas de problèmes bravo à toi :bave:

C'est bon ça te va comme ça ?

"c'est pas un 0 qui est tout seul"

Ce zéro n'a rien à faire là il est dans la même case argument que le lengtdhir alors qu'il n'est ni additionné ni soustrait ni quoique ce soit donc il flotte à coté de la fonction sans raison d'être...
Mais bon je vais pas essayer de t'expliquer plus que ça par ce qu’apparemment tu connais beaucoup mieux que moi Game maker et tu n'as pas besoin d'aides... et puis je ne voudrais pas te vexer.
Y'a aucun problèmes dans ton programme en fait c'est game maker qu'est nul et qui ne comprend rien alors surtout ne te remet pas en question.

"c'est possible parce que j'ai regarder un tuto =) "

Je suis impatient de voir ça :bave:
Tu m'apprendra ???

TheUnreaL34
Niveau 8
18 novembre 2014 à 21:48:25

Un conseil revoie les bases et essaye déjà d'afficher un cube en 3d.c'est pas méchant ça ?
Pour le tuto : https://www.youtube.com/watch?v=Z5UcUBNaL-Y
et dans la partie 3 il créer un arc sur un logiciel a pars ( anim8or) puis il le met dans gamemaker , j'invente pas :O
Donc ?
Sinon je comprend pas quand tu dis ton 0 est tout seul je viens de t'expliquer qu'il était pas tout seul enfin bref regarde le tuto tu verras bien =)

TheUnreaL34
Niveau 8
18 novembre 2014 à 22:05:51

Ah oui et j'ai fais un topic sur un autre forum et pourtant quand il met tout les codes il a bien le personne avec le sol , il peut avancer , reculer , aller a gauche sauter etc pourtant ça ne marche pas pour moi , donc le probléme vient peut être de la version ? ou alors une petite erreur dans mon code , et j'ai pas envis de faire des jeux 2D j'en ai déja fais quelque un , j'ai envis de passer a autre chose =)

chopsueys
Niveau 16
18 novembre 2014 à 22:28:53

" Un conseil revoie les bases et essaye déjà d'afficher un cube en 3d.c'est pas méchant ça ? "

Ben non pas du tout et je le maintien, il faut que tu apprenne les bases de game maker et que tu t'entraine déjà à afficher un simple cube (par toi même sans tout copier) qu'est ce qu'est méchant là dedans ?

Ha oui anim8or j'en avais déjà entendu parlé... mais c'est bien le seul à pouvoir le faire et puis voila la gueule du logiciel des années 90 aussi, moi je pensais que tu voulais utiliser blender ou maya...

"Sinon je comprend pas quand tu dis ton 0 est tout seul je viens de t'expliquer qu'il était pas tout seul enfin bref regarde le tuto tu verras bien =) "

Ben non va à 13 min 20 lui il met une virgule avant le 0 pour spécifier qu'il change d'argument.

Ca ça veut rien dire: z + lengthdir_y eye (100, zdir) 0 ,
Ca ça veut dire quelque chose: z + eye +lengthdir_y(100, zdir), 0 ,

Mais bon continue de croire que je ne sais pas de quoi je parle, ça fait juste 4 ans que je me sert de ce logiciel.

TheUnreaL34
Niveau 8
18 novembre 2014 à 22:40:08

bon merci quand je même de ton commentaire je verifie ça demain , jsuis fatigué =)

DT_LINK
Niveau 10
19 novembre 2014 à 04:48:50

Salut !

Bon voilà j'expose les faits, j'ai téléchargé Game Maker la semaine dernière car je suis fan de Zelda et j'avais envie de me faire un petit jeu sympa. J'ai donc suivi les tutos vidéo d'un mec qui fait aussi un jeu Zelda, et aussi avec les Oracles en plus de ça.

Sauf que voilà, à un moment, on doit créer l'animation de Link à partir des sprites animés pour donner un coup d'épée. J'ai donc créé mes sprites animés dans les 4 sens, puis j'ai créé l'object de Link qui tape dans les 4 sens, j'ai ajouté pour chacun d'eux l'évènement "Animation End" + changer l'instance en Link immobile du côté où je frappe. Après je suis allé sur mon Link de base y'a j'entre toutes les actions, et j'ai mis que quand je presse la touche E, Link fait : Action = test variable (Variable = sprite_index et value = Link immobile dans le sens que je veux), Start block, Link attaque dans le sens que je veux, End Block. J'ai fait ça pour les 4 sens en suivant le même scéma.

Sauf que voilà, quand je vais dans le jeu et que j'appuie sur la touche E, mon personnage se fige dans le sens où je veux frapper à partir de la première animation https://www.noelshack.com/2014-47-1416368877-bug.png et y'a plus moyen de faire quoi que ce soit.

J'ai regardé plusieurs fois la vidéo du mec et j'ai remarqué que lorsque je fais "Animaton End" et que da

Sujet : J'aide les personne dans Game maker
   Retour haut de page
Consulter la version web de cette page