"Break force,"Un ptit shmup sous gamemaker....

Pour tout ce qui est fan arts, homebrew, shooters codés à la main, rip de sprites, doujins et toute autre productions artistiques ou logicielles faites maison.
Avatar de l’utilisateur
Alec
King Fossile
Messages : 15788
Inscription : 12 juil. 2004, 18:04
Localisation : nstc-j

Sinon, tu peux adopter la meme soluce vicieuse que moi...
J'ai créé un objet vide scrolleur.....
Oh put....

j'y ai pensé en plus !
(par contre j'ai pas pensé à le faire suivre par la view[0])
ImageImageImage
Avatar de l’utilisateur
Alec
King Fossile
Messages : 15788
Inscription : 12 juil. 2004, 18:04
Localisation : nstc-j

voilà pour la dernière update, un level 1 quazimsent terminé et son boss :
(bah, les ninja vont reconnaitre ce boss)


http://www.megaupload.com/?d=5ODC7SO0




Aaaah, je voulais les faire moi même dessiner sur du papier et le faire au pixel mais c'est pas à ma portée.....



Bon, sur cette démo, la musique bug mais sinon, tout est presque en place niveau tirs et collisions (sauf pour le tir onde) !
Dernière modification par Alec le 08 avr. 2010, 22:58, modifié 1 fois.
ImageImageImage
Avatar de l’utilisateur
Alec
King Fossile
Messages : 15788
Inscription : 12 juil. 2004, 18:04
Localisation : nstc-j

petite préview du level 2

Image


Hop au bord de l'eau puis dans des grottes pleines de lave histoire de sécher un peu.......
ImageImageImage
Gunny
Empereur Bydo
Messages : 3404
Inscription : 15 mai 2006, 15:26
Localisation : Rayon chaussettes du Kiabi du coin
Contact :

Hum Alec, j'ai regardé comment tu avais construit ton jeu, et je ne comprend absolument pas comment ca marche :D

Donc je ne peux plus vraiment t'aider directement sur ton code ( mélange de drag and drop et de petits bouts de code, je m'y retrouve pas... ). Je peux t'expliquer des concepts propres à Game Maker et des astuces...

Il faudra que tu trouves par toi-meme comment les implanter... ( ce qui n'est pas forcément aisé )
Si t'as un truc électronique cassé, ça se passe par là https://www.atelier-electrodd.fr/

-Je comprend rien à ce que tu dis...
-Pas grave... C'est pas en vivant plus longtemps qu'on deviens moins con.
Avatar de l’utilisateur
Alec
King Fossile
Messages : 15788
Inscription : 12 juil. 2004, 18:04
Localisation : nstc-j

t'as vu le bazard !!!! :D :D :D

là franchement, c'est plutôt "comment faire respawner le ship correctement" qui me botterai

en create de "ogame" j'ai ça :

Code : Tout sélectionner

reviveTimer = 1;
en step de "ogame":

Code : Tout sélectionner

if (not instance_exists(oplayership))
{
    if (reviveTimer > 0) reviveTimer -= 1;
    else instance_create(view_xview[0]+32, view_yview[0]+112, oplayership);
}
else
{
     (oplayership.x) += 1;
}
et dans une collision avec un ennemi j'ai ça :

Code : Tout sélectionner

ogame.reviveTimer = 20;
instance_create(x, y, oxplodeplayer);

instance_destroy();



Après, comment et surtout à quel endroit(s) insérer le timer et surtout l'objet "shiprespawn"......


sinon le jeu en lui même, t'en penses quoi ?
ImageImageImage
Avatar de l’utilisateur
psychogore
1 crédit c'est déjà trop
Messages : 2358
Inscription : 23 mai 2003, 09:04

Moi je pense surtout que tu t'embrouilles pour rien !

Déjà, ogame c'est quoi ?

Ensuite, le plus simple à mon gout (autrement dit, ce que j'ai fait pour mon jeu et qui marche), c'est deja de ne pas creer un objet expres pour le respawn, mais juste de mettre une alarm (peu importe laquelle du moment qu'elle est n'est pas utilisée pour autre chose par ton objet ship) dans ton evenement create du vaisseau.

Ensuite, dans l'evenement collision avec ennemi (la classe superieure qui englobe tous les autres) et dans l'evenement collision avec bullet (là aussi, l'objet bullet parents de tous les autres), tu met un test (le symbole octogonal avec "VAR" ecrit dedans).

Le test c'est

Code : Tout sélectionner

alarm[x] 
equal
-1
(x c'est le numero de l'alarm-au passage, oublie ces histoires de variables timer dans l'evenement step, les alarm marchent beaucoup mieux)

Apres, pour ton evenement alarm[x], bah tu retablis l'opacité du sprite si tu l'as rendu transparent au respawn.

Serieux, cette façon de faire est tres simple.

Par contre, pense à faire un affichage du score et à gerer la fin du jeu (genre quand t'as plus de vies ou que t'as fini le dernier niveau disponible) avant de t'attaquer à faire plus de niveaux et d'ennemis.
Bref, peaufine un peu le gameplay : jongler avec 4 touches de tirs c'est pas gegene, d'ailleurs je trouve les tirs rouges et le tir arriere peu pratiques (d'autant que dans thunderforce ils n'ont jamais poussé le vice jusqu'à supprimer completement le tir frontal quand on utilise le backshot.... ça c'est un truc de Hellfire)

Allez, keep up the good work (et remets moon of blackrain en fond sonore du premier niveau ! Parceque la musique du boss tout au long du niveau non ! :D )
Dernière modification par psychogore le 09 avr. 2010, 13:05, modifié 1 fois.
Avatar de l’utilisateur
Alec
King Fossile
Messages : 15788
Inscription : 12 juil. 2004, 18:04
Localisation : nstc-j

Je vais tenir compte de tes remarques pour les tirs, en effet le tir rouge et le backshot ne sont pas très pratiques, je vais les modifier (ben oui à force de refaire encore et encore le même niveau on fini par devenir objectif :D )

en revanche je vais conserver le fait de supprimer totalement le tir frontal pendant l'utilisation du backshot, en fait, quand on joue au pad assigner les tirs aux touches qui correspondent rend le gameplay assez dynamique et permet de s'adapter rapidement aux situations sur un pad "standard" pour pc !


Et je vais sûrement revoir toutes mes collisions aussi, Gunny a raison, c'est un peu trop le bordel et je vais finir pas plus m'y retrouver ! :)
ImageImageImage
Avatar de l’utilisateur
Alec
King Fossile
Messages : 15788
Inscription : 12 juil. 2004, 18:04
Localisation : nstc-j

J'ai réussi !!!!!!!!!!


pour le respawn, et d'une façon carrément plus simple !

jongler avec "animation end", en fait, après l'explosion de mon vaisseau, j'ai créé un sprite (respawn) avec une bonne trentaine de frame, en le mettant à la bonne vitesse ce dernier clignote et reste invincible pendant la période désirée !

à la fin de l'animation du sprite, hop "instance_create oplayership" !
et j'enlève une vie au passage (life=-1)
carrément simple !


et quand la variable life est égale à zéro, "game over"
ImageImageImage
Avatar de l’utilisateur
psychogore
1 crédit c'est déjà trop
Messages : 2358
Inscription : 23 mai 2003, 09:04

Donc, maintenant quand on tape dans un croiseur on n'est plus obligé de crever jusqu'à ce que le croiseur soit sorti de l'ecran . Sinon, ton sprite respawn, il est controllable ? On peut se deplacer hors du croiseur qui se trouve pile à l'endroit où le vaisseau respawn ?
Si tu te decide à mettre en place un systeme de bonus à ramasser, pourra-t'on recolter les bonus pendant la phase d'invincibilité du respawn ? Peut-on tirer pendant le respawn ?

Bref, tu l'as compris, je suis un peu dubitatif sur la fiabilité de la methode.
Avatar de l’utilisateur
Alec
King Fossile
Messages : 15788
Inscription : 12 juil. 2004, 18:04
Localisation : nstc-j

psychogore a écrit :Donc, maintenant quand on tape dans un croiseur on n'est plus obligé de crever jusqu'à ce que le croiseur soit sorti de l'ecran . Sinon, ton sprite respawn, il est controllable ? On peut se deplacer hors du croiseur qui se trouve pile à l'endroit où le vaisseau respawn ?
Si tu te decide à mettre en place un systeme de bonus à ramasser, pourra-t'on recolter les bonus pendant la phase d'invincibilité du respawn ? Peut-on tirer pendant le respawn ?

Bref, tu l'as compris, je suis un peu dubitatif sur la fiabilité de la methode.

Oui (testé et approuvé):
-on peut traverser n'importe quel décor en respawn
-oui, on peut tirer
-oui, on pourra récolter des bonus etc....


en fait l'objet respawn a exactement les mêmes attributs que l'objet joueur sauf qu'il n'a aucune collision avec les ennemis et tirs adverses, c'est juste que, à la fin de son animation (clignote) il redevient l'objet joueur !

simple !

Bah, après c'est une façon parmi d'autre mais ça fonctionne à merveille alors je suis content tu penses !


(depuis le temps que j'essaie)
ImageImageImage
Avatar de l’utilisateur
Alec
King Fossile
Messages : 15788
Inscription : 12 juil. 2004, 18:04
Localisation : nstc-j

Big up, mise en place du système de score, vies etc....

Game over et autre....

Je vais faire un système de scratch (radiant, psyvariar), ça devrai pas être trop difficile à mettre en place !

et révision aussi de deux tirs un modifié et l'autre complètement revu (le backshot)


Je pense pas upploader une démo avant quelque temps (plein plein de boulot) mais j'ai découvert des tas de trucs qui vont beaucoup me faciliter la vie !
ImageImageImage
Avatar de l’utilisateur
Alec
King Fossile
Messages : 15788
Inscription : 12 juil. 2004, 18:04
Localisation : nstc-j

petites news nouveaux ennemis et comportements diverses

refonte du level2, beaucoup trop sinueux et pas adapté aux ennemis que je veux y implanter !

Et mise en place du boss 2
ImageImageImage
Avatar de l’utilisateur
Alec
King Fossile
Messages : 15788
Inscription : 12 juil. 2004, 18:04
Localisation : nstc-j

Up

-refonte des tirs comportements ennemis etc....
-Refonte du level 1 + boss
-finitions sur le level 2 + boss
-changement des sprite pour les explosions
-tests sur le score et sur ce que je vais mettre en place
-tests aussi sur des patterns plus dynamiques pour les boss (même si je veux pas faire du danmaku)

je commence à plus rien capter à mon code, ça devient un foutoir monstre mais on va s'en sortir !!!!

Pas de démo pour le moment
ImageImageImage
Gunny
Empereur Bydo
Messages : 3404
Inscription : 15 mai 2006, 15:26
Localisation : Rayon chaussettes du Kiabi du coin
Contact :

Qui t'avais dit de passer aux scripts plutot que d'écrire des bouts de codes ici et là et de faire une mayonnaise avec le drag and drop ? :D
Si t'as un truc électronique cassé, ça se passe par là https://www.atelier-electrodd.fr/

-Je comprend rien à ce que tu dis...
-Pas grave... C'est pas en vivant plus longtemps qu'on deviens moins con.
Avatar de l’utilisateur
Alec
King Fossile
Messages : 15788
Inscription : 12 juil. 2004, 18:04
Localisation : nstc-j

Bah en fait c'est plus tous les sprites background et autre que j'ai qui me posent problème, j'en ai trop !


pour ce qui est du reste, j'arrive à peu près à m'en sortir !
ImageImageImage
Avatar de l’utilisateur
Alec
King Fossile
Messages : 15788
Inscription : 12 juil. 2004, 18:04
Localisation : nstc-j

Bon, ça prend forme, niveau 1 terminé
niveau 2 presque
niveau 3 en chantier
niveau 4 en chantier

Reste une montagne de bug à éliminer.....
ImageImageImage
Avatar de l’utilisateur
Alec
King Fossile
Messages : 15788
Inscription : 12 juil. 2004, 18:04
Localisation : nstc-j

Là je bosse sur les armes joueur !
donc on aura en tout cinq tirs +1 tir spécial

Tir frontal type twinshot, chaque tir enlève 1hp aux ennemis
Tir de type wave enlève 0,5 hp mais traverse les murs
Tir haut et bas (double pour chaque direction)
Tir vers l'arrière deux en diagonale et un principal vers l'arrière

et aussi des homing mais j'hésite soit à les mettre en quantité limitée soit à réduire la cadence de tir ou la puissance !

Le tir spécial j'en ai aucune idée, avec cinq tirs dispo en permanence, j'hésite même à en mettre un !



Donc on pourra utiliser chaque tir d'une touche à l'autre un peu comme dans radiant silvergun.....
ImageImageImage
Avatar de l’utilisateur
psychogore
1 crédit c'est déjà trop
Messages : 2358
Inscription : 23 mai 2003, 09:04

Et si tout betement tu faisait du homing un tir special ? Tu y colle une jauge pour limiter la durée à la TFVI, ça devrait passer.

Ou alors une config genre tir+spe=un tir special fonction de l'arme et spe tout seul = smart.
Avatar de l’utilisateur
Alec
King Fossile
Messages : 15788
Inscription : 12 juil. 2004, 18:04
Localisation : nstc-j

J'ai l'impression que c'est ça qui va se passer !

et lors de l'impact avec ces missiles une big explosion qui enlèvera -12 ou -20 hp
ImageImageImage
Avatar de l’utilisateur
Alec
King Fossile
Messages : 15788
Inscription : 12 juil. 2004, 18:04
Localisation : nstc-j

Bon, voilà une petite démo (level 1+level2)

La hitbox du vaisseau est son cockpit (toute la zone en vert)


commandes


touches de tir :
w,x,c,v et n

Bon, la config idéale avec joy to key:
bouton 1 : W
bouton 2 : X
bouton 3 : C
bouton 4 : V
bouton 5 : B
bouton 6 : N



http://www.megaupload.com/?d=HK8CNTTO

Bon, c'est encore une démo, par exemple le level 2 ne se termine pas après destruction du boss :D

ImageImage
ImageImage


Note les missiles à tête chercheuse deviendront l'arme spéciale et sera limitée mais rechargeable avec des bonus !
ImageImageImage
Avatar de l’utilisateur
Alec
King Fossile
Messages : 15788
Inscription : 12 juil. 2004, 18:04
Localisation : nstc-j

Toujours quelques changements, addition d'une nouvelle arme et création complête et finalisée du niveau 5.1 +mid boss !

Le 5.1 sera un mini level pour finir sur le vrai boss du niveau !


Image
Image


Le niveau 5 est tortueux à souhait et demandera des placements très précis, sans compter sur les ennemis, bien vicelards comme il faut !

C'est amusant comme on peut être sadique !
Enfin ce level est largement faisable à force d'essais....


Le boss du level 5.1 est armé jusqu'aux dents : missiles à tête chercheuses, tirs classiques, ce dernier tire aussi des mines qui se collent au joueur si on les approche de trop et enfin quand il lui reste plus beaucoup de vie il tire des salves de missiles et renvoie les tirs du joueur (ouf)

Enfin le combat est assez prenant !



Bon ben reste plus qu'à pondre le niveau 3 et de finir le quatrième !


Donc on aura en tout 6 armes (qui sont en place et fonctionnelles):
- un frontal
- un backshot
- un wave
- tir haut et bas
- missiles à tête chercheuse (puissance largement baissée
- laser à tête checheuse (encore moins puissant mais passe au travers des mûrs)

J'hésite à rendre la vitesse réglable (ça va rendre certains levels faciles) mais c'est faisable....
Dernière modification par Alec le 18 juin 2010, 14:01, modifié 1 fois.
ImageImageImage
yenshin
No-bullet mode
Messages : 36
Inscription : 03 sept. 2009, 15:03

ra ya pas a dire avec gamemaker on peut faire vraiment des truc marrant
a quand une ptite video qu'on voit comment ca tourne ? ^^
Image
Avatar de l’utilisateur
yace
Ben... yace, quoi
Messages : 29257
Inscription : 30 juin 2003, 18:20
Localisation : Ailleurs...
Contact :

Alec ; je sens que ton projet va me plaire. :binouze:
Playlist TBYVGS

On nous promet les cieux, nom de Dieu, pour toute récompense
Tandis que ces messieurs, nom de Dieu, s'arrondissent la panse, sang Dieu!
Nous crevons d'abstinence, nom de Dieu, nous crevons d'abstinence!
Avatar de l’utilisateur
Alec
King Fossile
Messages : 15788
Inscription : 12 juil. 2004, 18:04
Localisation : nstc-j

Merci !

Ah, je viens d'essayer de capturer tout ça en vidéo mais mon pc rame trop !
( pas assez de ram, si quelqu'un sait où en télécharger....... :D )
ImageImageImage
Avatar de l’utilisateur
Akaimakai
Modérateur
Messages : 3003
Inscription : 20 août 2005, 18:26
Localisation : Paris
Contact :

yenshin a écrit :ra ya pas a dire avec gamemaker on peut faire vraiment des truc marrant
a quand une ptite video qu'on voit comment ca tourne ? ^^

Moi je dis oui aussi ! Au fait Alec, est ce que tous les sprites sont piochés à droite à gauche, ou t'as aussi eu envie d'en dessiner ?
"Easy to learn and difficult to master"

Nolan Bushnell
Avatar de l’utilisateur
Alec
King Fossile
Messages : 15788
Inscription : 12 juil. 2004, 18:04
Localisation : nstc-j

90% des tirs sont de moi mais pour le reste, même si je retouche ici ou là, j'ai rippé à droite et à gauche, montage et redécoupage etc.... aucune honte à l'avouer même si c'est pas un hymne à la créativité !

Par exemple le boss 2 est un mix entre un boss de "change air blade" et des boss jumeaux de in the hunt !


Je veux faire quelque chose d'amusant avant tout et pas trop mal pensé pour ce qui est du level design...... !



ça sera un mix entre thunderforce, rtype avec une pincée de danmaku, faut espérer que ça tienne la route !

On alternera entre des stages "ouverts" et des niveaux plus sinueux.....


hop,une vidéo du début du stage 1
http://www.dailymotion.com/video/xdqgbb_demo_videogames
ImageImageImage
Avatar de l’utilisateur
Alec
King Fossile
Messages : 15788
Inscription : 12 juil. 2004, 18:04
Localisation : nstc-j

Aaaargh, il aura fallu du temps mais j'ai trouvé comment faire en sorte qu'un ennemi tire simultanément deux attaques à des fréquences différentes

dans "create"
timer=30
timer2=30


dans "step"
if (timer == 0)

{
{instance_create(x,y,tir ennemi )
}
timer=(2 pour des tirs nombreux ou 30 pour un tir moins fréquent)
}

else
{
timer-= 1;
}

Il suffit de recopier tout ça à la différence près de mettretimer2=30 dans "create" et de recopier l'evenement "step" en remplaçant timer partimer2=30 et "tir ennemi 1" par "missile ennemi
" .....

if (timer2=30 == 0)

{
{instance_create(x,y,missile ennemi)
}
timer2=30=(2 pour des tirs nombreux ou 30 pour un tir moins fréquent)
}

else
{
timer2=30-= 1;
}









Alec qui s'extasie devant les timers...... :idea:
ImageImageImage
Gunny
Empereur Bydo
Messages : 3404
Inscription : 15 mai 2006, 15:26
Localisation : Rayon chaussettes du Kiabi du coin
Contact :

C'est quand même pas pratique ton truc... Tu recopies le meme code plusieurs fois...
Y a moyen de simplifier ca !
Et très simplement ^^
Si t'as un truc électronique cassé, ça se passe par là https://www.atelier-electrodd.fr/

-Je comprend rien à ce que tu dis...
-Pas grave... C'est pas en vivant plus longtemps qu'on deviens moins con.
Avatar de l’utilisateur
Alec
King Fossile
Messages : 15788
Inscription : 12 juil. 2004, 18:04
Localisation : nstc-j

Gunny a écrit : Y a moyen de simplifier ca !

envoies !
N'hésites pas à poster ça ici, si ce topic peut servir à certains pour débuter avec game maker....

et au passage Gunny, je te remercie pour ton aide qui m'a été bien précieuse parce que sans les timers et sans tes explications j'y serai jamais arrivé !
ImageImageImage
Gunny
Empereur Bydo
Messages : 3404
Inscription : 15 mai 2006, 15:26
Localisation : Rayon chaussettes du Kiabi du coin
Contact :

Alors, c'est un truc tout bête, mais il faut y penser.

Tu as ton script de timer :

Code : Tout sélectionner

if (timer == 0)

{
{instance_create(x,y,tir ennemi );
}
timer=argument1;
}

else
{
timer-= 1;
}
argument1 est la variable que tu vas faire passer à ton script ( que l'on va appeler frequence_tir ).
Il faut donc que ton code soit dans un script à part.
Et dans ton objet, tu as défini les deux fréquences de tir différentes.
La variable tir1 =2;
Et l'autre tir2 = 30;
dans step :

Code : Tout sélectionner

frequence_tir(tir1);
frequence_tir(tir2);
Et c'est tout :)

Tu réutilise le meme code sans devoirle réécrire.
Si jamais tu as besoin de passer plusieurs variable à un script :

Code : Tout sélectionner

nom_script ( var1 , var2 ... , var 11 );
Et dans le script tu utilises les variables envoyées au scripts avec argument1, argument2, ... , argument 11 !

Et voilà ;)
Si t'as un truc électronique cassé, ça se passe par là https://www.atelier-electrodd.fr/

-Je comprend rien à ce que tu dis...
-Pas grave... C'est pas en vivant plus longtemps qu'on deviens moins con.
Répondre