Salut tout le monde, j'espère ne pas me tromper pour la création de ce topic.
J'essaie depuis quelques temps d'apprendre les bases de game maker pour réaliser un premier prototype de shmup, et j'ai quelques soucis pour garder le player dans les limites de l'écran.
J'ai placé sur les limites de la room des murs invisibles, et en event de collision qu'il imprimait au vaisseau un mouvement sans direction, a zéro de vitesse.
Problème, quand il touche le mur, il part dans tous les sens, contraire a la direction du vaisseau, ou pas.
J'ai essayé d'ajouter des arrêts de mouvements aux key release, la ça marche mais ça parasite clairement les mouvements libres du vaisseau ( diagonales, gauche/droite rapide )
J'aimerais savoir s'il y avait une solution pour ce problème ? Comment faites-vous, vous, utilisateurs de game maker ?
[Game Maker]Besoin d'aide pour paramétrer des murs
- Alec
- King Fossile
- Messages : 15788
- Inscription : 12 juil. 2004, 18:04
- Localisation : nstc-j
Salut !
Mets ça dans l'évenement step de ton objet vaisseau :
Voilà, normalement il ne quittera plus la view0 (la vue)
Par contre quand il entre en collision avec un décor, je sais pas, vu que moi en général dès que le vaisseau joueur touche un rocher ou un ennemi, il explose ^^ !
Si tu as d'autres trucs qui te chiffonnent n'hésite pas !
Mets ça dans l'évenement step de ton objet vaisseau :
Code : Tout sélectionner
if (keyboard_check(vk_up) && y-12 > 0)
y -= 4;
if (keyboard_check(vk_down) && y+12 < room_height)
y +=4;
if (keyboard_check(vk_left) && x-16 > view_xview[0])
x -= 4;
if (keyboard_check(vk_right) && x+16 < view_xview[0] + view_wview[0])
x += 4;
c'est la partie du code en rouge qui permet cela, le reste c'est du contrôle basique : "check direction droite, on va à droite"if (keyboard_check(vk_up) && y-12 > 0)
y -= 4;
if (keyboard_check(vk_down) && y+12 < room_height)
y +=4;
if (keyboard_check(vk_left) && x-16 > view_xview[0])
x -= 4;
if (keyboard_check(vk_right) && x+16 < view_xview[0] + view_wview[0])
x += 4;
Voilà, normalement il ne quittera plus la view0 (la vue)
Par contre quand il entre en collision avec un décor, je sais pas, vu que moi en général dès que le vaisseau joueur touche un rocher ou un ennemi, il explose ^^ !
Si tu as d'autres trucs qui te chiffonnent n'hésite pas !
-
- No-bullet mode
- Messages : 20
- Inscription : 07 janv. 2014, 02:14
J'ai appliqué ton code pour les mouvements basiques seuiement, et laissé l'event de collision avec le mouvement remis à zéro, pour l'instant ça a l'air de marcher sans la partie en rouge qui vérifie la position par rapport à la view. J'essayerai après avec tout le reste du code, merci !
Pourquoi pas faire un topic global d'aide à game maker ? C'est quand même un outil assez puissant quand on prend du temps à coder en GML, surtout quand on voit les jeux indés qui l'ont utilisé (Spelunky, Hotline Miami, ..) on se dit qu'avec du boulot y'a moyen de faire un truc cool !
J'ai également essayé le GMOSSE, le "moteur" de shmup libre sur game maker, mais c'est un peu le bordel, difficile de comprendre comment il a été fait (pour le modifier) quand on débute.
Pourquoi pas faire un topic global d'aide à game maker ? C'est quand même un outil assez puissant quand on prend du temps à coder en GML, surtout quand on voit les jeux indés qui l'ont utilisé (Spelunky, Hotline Miami, ..) on se dit qu'avec du boulot y'a moyen de faire un truc cool !
J'ai également essayé le GMOSSE, le "moteur" de shmup libre sur game maker, mais c'est un peu le bordel, difficile de comprendre comment il a été fait (pour le modifier) quand on débute.
- Radigo
- Counter Stop
- Messages : 7577
- Inscription : 22 mai 2003, 17:31
- Localisation : Paris
- Contact :
Parce que ça existe déjà à plein d'endroits différents et qu'on risque de passer du temps à copier-coller des tutos existants. Pour les bases, Google te servira tout ce que tu veux savoir. Pour les bonnes pratiques à adopter je pense qu'on peut t'aider par contre, mais cela reste centré sur les shmups et ce n'est pas très "généraliste".Toofi a écrit :Pourquoi pas faire un topic global d'aide à game maker ?
Oui, je suis moi-même épaté des performances du dernier GM (la version compilée) et de la facilité avec laquelle on peut faire des essais de gameplay. Mais pour les jeux que tu cites, il y a un gros boulot de game design et de graphismes (sans parler du parti pris graphique et de la musique dans le cas de Hotline Miami).Toofi a écrit :C'est quand même un outil assez puissant quand on prend du temps à coder en GML, surtout quand on voit les jeux indés qui l'ont utilisé (Spelunky, Hotline Miami, ..) on se dit qu'avec du boulot y'a moyen de faire un truc cool !.
Bref, pour résumé, les bases de GM sont trouvables partout. Les bases d'un shmup sont trouvables ici (en parcourant un peu les topics dédiés, fait une recherche (un peu cassée, hum hum)), et pour les points précis, poses des questions ici !
"HYPER GAGE : 500%"
- Alec
- King Fossile
- Messages : 15788
- Inscription : 12 juil. 2004, 18:04
- Localisation : nstc-j
Toofi a écrit :J'ai appliqué ton code pour les mouvements basiques seuiement, et laissé l'event de collision avec le mouvement remis à zéro, pour l'instant ça a l'air de marcher sans la partie en rouge qui vérifie la position par rapport à la view. J'essayerai après avec tout le reste du code, merci !
et tu as mis des objects "collision" tout autour de ta room ? c'est super lourd de faire comme ça (et c'est moi qui dit ça en plus, un comble)
Pour un shmup basique, il y a moyen de faire très vite
-1 objet joueur :
-qui se déplace
-qui tire
-qui explose sous un tir ennemi
-qui explose sur un décor
-sur des ennemis/sur des décors
-2 des ennemis :
-qui tirent aussi (fréquence, direction)
-qui explosent
Le plus long, c'est tout le reste, la musique, les graphismes et surtout le level design, tenter de le rendre bon, c'est très difficile et très long !