~ S'évader de la banalité... Et entrer dans l'imaginaire ! ~
 
AccueilGuelnika, le site de E-m !S'enregistrerConnexion

Partagez | 
 

 Winged Ligh [MMF2] Terminé

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : Précédent  1, 2
AuteurMessage
Zim
---Fantôme--- Lv 0


Nombre de messages : 10074

MessageSujet: Re: Winged Ligh [MMF2] Terminé   Lun 19 Avr 2010, 20:44

Disons qu'il n'y a pas besoin de shooter beaucoup, et si le tir était automatique, ça saturerait l'écran de trucs produits par le joueur (action simple, mais avec de grosses conséquences).

Mais en effet, contemplatif n'était pas le bon mot, ta distinction est on ne peut plus juste. cactus smile
Revenir en haut Aller en bas
Monos
Maker confirmé Lv 10
Maker confirmé Lv 10
avatar

Nombre de messages : 331
Age : 33

MessageSujet: Re: Winged Ligh [MMF2] Terminé   Lun 19 Avr 2010, 20:55

Sauf que ça ne marche pas dans l'esprit d'avoir les tirs automatique.
Car il faut aussi switcher entre le bouclier ou pas. (Quand on veut jouer le score)

Citation :
A preuve du contraire c'est un Shoot'em up.
J'ai plus envie de dire que c'est un jeu "hybride".
Oui la 2em zone est un jeu shoot. Mais avec le gros slalome à faire dans la 1er zone et 3em zone ne place pas vraiment l'ensemble dans la catégorie "pur" du shot em up. Enfin je ne sais pas comment expliquer ça.

C'est un jeu qui se joue de plusieurs manière je pense.
Je vais caricaturé.

-Le joueur normale va le faire une fois, va trouver ça court. Et va gueuler car il n'y pas de vie par exemple.
-Le joueur qui va faire ça la 1er fois. Mais à envie de péter le score. Et c'est la peut être la force WL, de ne pas avoir de de points vie. Etre obligé de "finir" la partie pour le "score".

La seul chose au niveau Gameplay que je vais changer, c'est de donner au minimum un "bouclier".
Revenir en haut Aller en bas
http://offgame.org/
Relm
Comant on enleve le vert autoure du hero??? Lv 0,5
Comant on enleve le vert autoure du hero??? Lv 0,5
avatar

Nombre de messages : 40741

MessageSujet: Re: Winged Ligh [MMF2] Terminé   Lun 19 Avr 2010, 21:47

En fait c'est une suite de mini jeux avec des ressemblances en terme de contrôle, je trouve.

J'ai pas fait le 3ème niveau, ça m'a vraiment pas accroché. Je trouve que c'est pas assez travaillé ni plaisant à jouer. No

Je vais tenter de faire simple ...

A revoir en priorité la présentation du jeu : on ne comprend pas ce qui nous tue et ce qui nous tue pas, on ne comprends pas quand on peut utiliser notre bouclier ou quand on peu utiliser notre super attaque. Il manque clairement un feedback visuel (dans un HUD par exemple), le joueur doit savoir où il en est, à quoi sert l'option qu'il vient de toucher et surtout doit savoir ce qui le tue avant d'y toucher.

Le premier niveau apprend à tirer. Mais il apprend aussi à naviguer dans des couloirs où les collisions sont mortelles (?) alors que le 2ème niveau n'a aucun couloirs.

Je pense que tu devrais essayer de faire un Shoot'em up classique avant d'en faire un "hybride". Et que tu devrais jouer à beaucoup de Shoot'em up des années 90 pour comprendre ce qui rend un Shoot'em up intéressant. Wink

Cependant le jeu est quand même propre et sympa dans son genre...

____________
Alex RE a écrit:
C'est comme utiliser une hache pour trancher du pain. Je suis peut-être trop vieux pour ça.
Revenir en haut Aller en bas
Monos
Maker confirmé Lv 10
Maker confirmé Lv 10
avatar

Nombre de messages : 331
Age : 33

MessageSujet: Re: Winged Ligh [MMF2] Terminé   Mar 20 Avr 2010, 09:07

Citation :
Cependant le jeu est quand même propre et sympa dans son genre.
Yop merci.

Une donnée que j'ai peut être oublié de dire, c'est que personnellement je me suis occupé de réaliser le jeu.
Les idées, et graphismes ne viennent pas vraiment de moi.

Ensuite le temps était vraiment de 1 semaine avant de rendre le jeu.
Ceci dit cela n'excuse pas non plus les "erreurs" heins.

Bon je vais faire passer cette critique à l'intéressé.
Même si moi elle va me servir aussi.

Comme je le disais sur un autre forum, l'accueil général des joueurs est vraiment divisé en deux, certain adore, d'autre non.
C'est rigolot. xd.

Par contre personnellement j'ai vraiment envie de faire un "vrais" shoot em up avec ses graphismes.

Mais on verra ça plus tard.


Dernière édition par Monos le Mar 20 Avr 2010, 18:29, édité 1 fois
Revenir en haut Aller en bas
http://offgame.org/
Falco
Maker qui quitte vraiment E-m Lv 60
Maker qui quitte vraiment E-m Lv 60
avatar

Nombre de messages : 13549
Age : 26

MessageSujet: Re: Winged Ligh [MMF2] Terminé   Mar 20 Avr 2010, 12:42

Y'a une faute dans ton titre, c'est "Terminé" x)
Bonne chance pour la suite.

____________
"Listen now, you don't understand
That's not the point of Christmas land"
Revenir en haut Aller en bas
Relm
Comant on enleve le vert autoure du hero??? Lv 0,5
Comant on enleve le vert autoure du hero??? Lv 0,5
avatar

Nombre de messages : 40741

MessageSujet: Re: Winged Ligh [MMF2] Terminé   Mar 20 Avr 2010, 14:10

Dans ce cas là y'a 2 fautes.


Monos : ok, cool ! cactus smile

____________
Alex RE a écrit:
C'est comme utiliser une hache pour trancher du pain. Je suis peut-être trop vieux pour ça.
Revenir en haut Aller en bas
Monos
Maker confirmé Lv 10
Maker confirmé Lv 10
avatar

Nombre de messages : 331
Age : 33

MessageSujet: Re: Winged Ligh [MMF2] Terminé   Mar 20 Avr 2010, 18:33

Si mes fautes étaient seulement dans le titre...
Il faudrait qu'on me tape à chaque faute pour que je puisse vraiment prendre le temps de faire les choses. Je me presse, donc je ne me relis pas, et je fais des fautes ignobles dont je suis capable de corriger seul. Honte à moi.

===
Merci Falco, Relm et les autres joueurs.
Ce jeu m'a fait du bien moralement, et techniquement dans l'utilisation de MMF.
Et surtout sur mon comportement à accepter les critiques.
(Avec le recule je m'aperçois que souvent je n'accepte pas certaine critique. J'en suis désolé)

Ceci dit à la demande de certain joueur voici la synthèse des points.



Suite à des demandes, voici le tableau des scores :

Un oeuf : 3 points. Il y en a 40. Donc 120 points.

Un ennemis simple : 1 points. il y en a 66.
"Ensuite un bouclier détruite 2 points de bonification"

Les ennemis E2 apportent 3 points. Donc 5 points au totale. Il y en a 11. Donc 55 points.
Et les E3 (les ennemis qui sont capables de désactiver vos boucliers) c'est 5 points.
Donc 7 points au totale. Il y en a 11 aussi. 77 points.

Donc 318 points.
Flan Boster à fait 291 points.

Il se peut que si un future patch arrive, je modifie bien sur des choses au niveau point et ennemis.
Revenir en haut Aller en bas
http://offgame.org/
Relm
Comant on enleve le vert autoure du hero??? Lv 0,5
Comant on enleve le vert autoure du hero??? Lv 0,5
avatar

Nombre de messages : 40741

MessageSujet: Re: Winged Ligh [MMF2] Terminé   Mar 20 Avr 2010, 19:44

Faire apparaitre les points dans le jeu serait utile pour un jeu basé sur le scoring.

____________
Alex RE a écrit:
C'est comme utiliser une hache pour trancher du pain. Je suis peut-être trop vieux pour ça.
Revenir en haut Aller en bas
Monos
Maker confirmé Lv 10
Maker confirmé Lv 10
avatar

Nombre de messages : 331
Age : 33

MessageSujet: Re: Winged Ligh [MMF2] Terminé   Mar 20 Avr 2010, 19:47

Oui. Sur le coup nous n'avons pas pensé à ça.
Revenir en haut Aller en bas
http://offgame.org/
Monos
Maker confirmé Lv 10
Maker confirmé Lv 10
avatar

Nombre de messages : 331
Age : 33

MessageSujet: Re: Winged Ligh [MMF2] Terminé   Mer 28 Avr 2010, 20:49

Voici un petit making off (ou article plutôt) sur la réalisation du jeu de mon point vu. C'est la 1er fois que je fais ça.





Langage utilisé
Avant de r’entrer dans le making off voici des termes que je vais utiliser et leurs définition pour bien comprendre l’article.
-MMF : MMF est l’acronyme de Multimedia Fusion. C’est un logiciel réalisé et publié par la Click Team
-L’écran : Quand je fait mention de l’écran, c’est la résolution que le joueur aperçois.
Le jeu est en 640 x 480 pixel.

-La scène : La scène c’est en gros la carte dans l’éditeur. Les dimensions sont variables.




Introduction
Bonjour. Voici un petit article sur la réalisation d’un jeu.
Winged Light. Réalisé sur Multimedi Fusion (MMF) avec Verehn.

Il y a quelque temps, Verehn est venu me trouver par Mp pour me demander si je voulais bien réaliser un jeu avec lui. Il s’occupera de la partie graphique et son, et moi de la partie technique sur multimédia fusion 2.

Je me sentais pas à l’aise, car bosser avec une personne me faisait très peur.
J’ai accepté pour l’aventure.


Nous avons donc réfléchie un peu. On a même pensé à faire un jeu flash.
Mais le projet devait lui servir pour ses études. Le choix s’est donc porté sur une compilation Exe et un petit jeu de vaisseau.

De la nous n’avons pas eu trop de contacte jusque au début de ses vacances.
Il avait réfléchie de son coté pour monter le projet sur papier, avec ses idées.

Une fois le début des vacances, nous avons repris contacte.
Il m’exposa son idée. Un shoot em up. « Le vaisseau » est représenté par un aigle, qui doit aller au soleil.

L’idée me séduit, mais j’avais toujours peur de ne pas réussir de mon coté le challenge proposé et surtout plaire. La création du jeu s’est réalisé sur un temps très limité.
Une semaine et demis.

Il ne connaît pas du tout le fonctionnement de MMF et moi sur le projet, c’est la premiers fois que je rentre dans les détailles techniques pour la partie graphique.



La caméra

Il me passe une image de 5280 pixel de hauteur. Qui représente le sol du premiers niveau. J’ai du mettre en place un scrolling. J’ai jamais réalisé ça sur mmf.
J’ai placé l’image dans l’éditeur. J’ai placé une sorte « d‘Evenement » invisible au début de l’image. (Objet Actif)
Et j’ai programmé que l’écran suivre l‘objet adéquate (caméra) dans son mouvement et donner donc le scrolling)

Maintenant il me fallait le faire Bouger automatiquement.
Au départ je pensais utiliser un mouvement automatique p programmé par mmf.
C’est la que je me suis souvenu du moteur Zombi que je suis en train de réaliser.
Je vais déplacer automatiquement la caméra en mémorisant sa coordonnée Y.
Et ensuite repositionner la caméra d’un pixel en moins.
Et ça le programme le fera tout le temps.

Le logiciel est bien réalisé pour ça.
En condition j’ai placé toujours comme ça la ligne de programmation va être exécuté continuellement.

Maintenant dans l’option de la caméra, j’ai une option position , et Fixer position en Y
Cela tombe bien, c’est ce que je voulais.
Je sélectionne donc cette option, et une nouvelle fenêtre s’ouvre.
C’est l’éditeur d’expression de MMF.
Bon la il faut faire un peu de « programmation ».
Sur MMF c’est pratiquement le seul endroit ou il faut utiliser des algorithmes et ce genre de chose.
Donc il faut que je récupère la coordonné Y actuel de la caméra.
Pour ça avec l’option récupérer les données de l’objet / Caméra/Position/Position Y, et le tour et joué.
Dans l’éditeur ça m’affiche :
Y( "Camera" )
Voila maintenant j’ai plus à déplacer d’un pixel la caméra.
Pour ça je dois aller vers le haut.
Donc retirer 1 pixel de la position actuel.
Donc je rajoute (-1)
Ce qui donne.
Y( "Camera" )-1

Je peux jouer aussi avec la vitesse de la caméra en modifiant le chiffre à retirer.
Par la suite j’ai remplacé le chiffre par une variable pour avoir plus de contrôle.


L'exemple de programmation de la caméra.

Faire suivre le vaisseau par apport à la caméra
J’inaugure personnellement des techniques que je n’avais jamais réalisées.
La il fallait faire suivre et donc avancé le vaisseau par apport à la caméra et que le joueur puisse quand même le déplacer dans tous les sens.

Pour tester tout ça, j’ai placé un 2em actif. Je n’avais pas encore les graphismes de l’aigle.

Pour cela j’ai reproduit exactement la même chose que la caméra. Et le tour est joué.


Les groupes de programmation de la zone 1 du jeu


Le masque de collision du décor de la 1er zone. Quand les deux masques de colisions, décord<=>joueur se touche, Game over

Le 1er test
Il était l’heure de faire Tester Verehn de ce début.
J’utilise le mode HWA de MMF2.
Ce qui me permet d’utiliser direct x8-9 de la carte graphique pour afficher les images. (Et éviter que ça ram)

Je n’ai pas caché la caméra pour les tests.

J’envois ça à verehn, et la c’est le drame.
L’image ne s’affiche pas chez lui.
Après plusieurs test, j’ai compris que ça carte n’était pas « puissante » .
J’ai donc fait sans le HWA et trouver l’option adéquate pour qu’il puisse tester et afficher les images.

C’est bien après que j’ai compris pourquoi l’image ne s’affiche pas.
C’est en fonction des cartes graphiques. 5000 pixel c’est beaucoup pour son pc.
(Carte graphique intégré)
Alors qu’une G-Force 8400Gs est capable d’afficher cette image. J’ai testé sur mon pc portable dont la carte graphique est moins puissante que mon pc de bureau. (9800 GT)
Je suppose que toutes les cartes Direct x10 ou plus sont capables de travailler avec des grosses images.
Je n’ai pas réalisé de teste vraiment avec d’autre carte.

Donc on a débuté la réalisation du jeu sans le HWA.
Ce qui va poser des problèmes sur d’autre PC.

Arrivé des 1er Graphismes
Cela passe chez Verehn. Donc nous pouvons vraiment débuter la réalisation du jeu.
Je peux faire déplacer la caméra, faire suivre la position du joueur et le faire bouger.

Verehn me fait parvenir les graphismes du 1er niveau.
Le Sol, et le haut.
MMF me permet de faire « des niveaux » de superposition. Les calques.
J’avais expérimenté ça sur le moteur Zombi. Donc j’ai réutilisé la méthode.
Le jeu se passe sur 3 calques. Le sol, sur le calque 1. Le niveau du joueur sur le calque 2. Et l’image du haut sur le calque 3.
(Il y a d’autre calque pour le 1er niveau)

J’ai placé les graphismes de l’aigle, caché la caméra. Dans le 1er niveau il manque plus que les collisions avec le décors.

Collision
Encore une fois ce que j’ai fais sur le moteur zombi me permet d’aller vite sur cette étape.

J’ai demandé à Verehn de me faire un masque de collision du décors.
Le masque de collision est une image que je place au même niveau de l’aigle ou les zones noir sont les endroits ou le joueur est bloqué. (Et détruit)
Je place ça sur le zone de jeu, et je rend l’image invisible.

J’ai aussi placé un masque de collision en dessous du sprite du joueur.
Au début j’avais placé un aigle plus petit que le sprite du joueur.
Mais j’ai remplacé par un rectangle plus petit. (Hit box)

Au niveau de la programmation c’est très simple.
Je positionne le masque de collision par apport à la position X et Y du sprite du joueur. Et je fais une corrections ensuite pour bien le centrer.

Une fois ceci réalisé, j’ai plus qu’à tester si le masque du joueur entre en collision avec le masque du décors.

Pour ça une commande MMF existe. (Collision avec un autre objet)
C’est la base du logiciel. Rien de bien méchant.


Le bordel dans les colisions

Bloquer l’aigle pour ne pas qu’il sorte de l’écran
La c’est un petit défis pour moi.
Comment réaliser ceci.
Sur les cotés, un simple « si le sprite sort de l’écran par le coté, alors stopper le sprite »
Cela marche bien.
Mais pour le haut et le bas, cela ne marche pas car c’est en fonction de la scène et non de l’écran. Et une scène de jeu ne fait pas 640x480 Px. La résolution affiché au joueur.
Mais 640x5280 px

Il me fallait une autre méthode.
Je devais donc me fier à la caméra que j’avais positionné.
Je devais tester la position Y actuel du joueur par apport à la caméra.
J’ai retranché la position Y de la caméra à la position Y du joueur.
Suivant la valeur obtenu et qu’elle soit plus grand ou plus petite qu’une valeur témoin déterminé à l’avance, je peux bloquer le joueur si il touche le haut ou le bas de l’écran.

Les données sont les suivant, si la différence est supérieur ou égal à 180. C’est que le joueur touche le haut de l’écran.
Je repositionne donc le joueur à la limite. Y du joueur = Position Actuel du joueur +180.

Et je fais la même chose pour le bas si le différence est inférieur ou égal à -245

Cette méthode me permet aussi de détruire les projectiles sortie de la caméra.
(Et j’ai eu du mal à trouver le bon chiffre pour ça en passant)

La zone 2 du jeu, la plus dur à mettre en place.
La zone 2 du jeu est un shoot em up.
C’est la phase ou j’ai eu le plus de mal dans les réglages.
Verehn continue à me donner les graphismes pour le jeu.

Je plaçais les protagonistes directement sur la scène.
Pour les activer, j’utilisais la méthode programmé pour bloquer le vaisseau.
Je test si le protagoniste est dans l’écran grâce à la différence entre la position Y de l’ennemi et la position y de la caméra.

Quand un protagoniste est dans le champ de vision du joueur, j’active un drapeau sur celui si. (Équivalent à un interrupteur sur le logiciel Rpg Maker)
Et je peux programmer leurs comportement.
Pour les déplacer vers le bas, je reprend la technique de déplacement de la caméra.

Les tirs se font aléatoirement.

La démo est différente du jeu !
Le développement du comportement des tirs des ennemis ont changés entre la démo et le jeu complet.

Au début les tirs étaient devant en ligne droite.
Après les conseilles de Sylvanor, j’ai modifié ça pour que deux projectiles se projettent en diagonal.

J’ai aussi placé des petites boules lumineuses qui s’active aléatoirement quand un méchant est détruit.

J’ai aussi réduit la hit box pour permettre de jouer avec les esquives.

Une partie de la Programmation des tirs d'un ennemi.


Phase des Bugs
C’est la plus terrible.
Test sur test. Et des fois on cherche pas mal de temps pour trouver la solution ou le problème.

Le bug des projectiles fut un calvaire pour moi.
Pour information les projectiles arrivaient pas au fond de l’écran.
J’ai du donc agrandir la porté des lasers tout simplement.
Je devais aussi faire en sorte que seul les ennemis à l’écran peuvent êtres détruits
La c’était simple avec le drapeau qui s’active seulement quand le méchant est dans l’écran.

Passer en HWA
Un gros morceau ou j’ai perdu du temps mais gagné en connaissance.
Merci à Eagle4 pour m’avoir dit de couper les images.
Pour passer en HWA et que le plus de pc de supermarché puisse lire et afficher les images, il fallait couper toutes les images qui font office de décors en plus petite, et refaire un montage sur les scènes.

Avec Verehn nous avons réalisés des tests pour savoir les dimensions qu’il peut lire.
Sur le Manuel HWA, il préconise de ne pas dépasser 1024pixel.

Bon c’est partie une image de décors fait 5280 pixel.
Pour faire une coupe égale il fallait 6 images à 880 pixel sur 640.

Je voulais réduire le nombre d’image à placer tout en gardant une donnée en tête.
Voici ce que dit le manuel de mmf.

En mode Direct3D, les images sont affichées plus rapidement lorsqu'elle sont stockées dans la carte graphique, dont la mémoire est limitée. Vous devriez estimer la taille des images de vos scènes pour essayer de les faire tenir dans 32, 64, 128, 256 ou 512 Mo en fonction des spécifications minimum de votre application.

Par ailleurs, en mode Direct3D, les images sont stockées comme des textures. En général les tailles des textures sont une puissance de 2. Par exemple si une image 100x50 est stockée dans une texture, la taille de la texture sera de 128x64 (128 la plus petite puissance de 2 supérieure à 100, et 64 la plus petite puissance de 2 supérieure à 50). Pour éviter de perdre de la place, essayez d'utilise des images dont les dimensions sont une puissance de 2.

Dernière chose, les cartes graphiques ne peuvent pas afficher les textures d'une taille supérieure à une certaine dimension. Essayez d'éviter d'utiliser des images d'une taille supérieure à 1024 pixels à moins que vous ne cibliez que des cartes récentes (les cartes récentes supportent en général des textures de 2048 pixels de large). Si la taille d'une image est supérieure à la taille maximum supportée par la carte, l'image ne sera pas affichée.


Nous avons testé à 1024 pixel. Verehn pouvait lire l’image.
Puis 2048. Et idem. Cela passe très bien chez Tonton Vévé.
Nous avons donc décidé de couper une image de décors en 4.
Deux avec les dimensions en 640 x 2048
Une en 640 x 1024
Et une en en 640 x 160 (au niveau mémoire c’est considéré comme du 640 sur 256)

Pour les masques de collision, nous n’avons pas eu besoin de la découper.
Car même si les petites cartes graphiques, n’affiche pas l’image, l’application arrive quand même à traiter les informations des collisions.
Et comme les collisions n’apparaissent pas au yeux du joueur, c’est du temps de gagné.


Une partie du décors de la zone 1

Le mot de la fin
Et voila. C’est la fin de ce making off de Winged Light.
J’ai appris pas mal à réaliser ce jeu.

-Prévoir la taille des images à l’avance.
-Ne pas avoir un dossier en bordel.
-Travailler avec une autre personne.
-Bien organiser son code.
-Suivre le cahier des charges dicté par Verehn.

Je remercie Verehn pour la chance qu’il ma donné à travailler avec des graphismes que j’aime beaucoup.
Merci à Eagle 4 pour des conseilles.
Zoglu et Loïc pour indirectement m’avoir poussé à sortir le jeu en HWA.
Sylvanor pour des conseilles.
Au joueur de la démo pour leurs critiques qui ont fait avancer le jeu.

Merci.

Revenir en haut Aller en bas
http://offgame.org/
Falco
Maker qui quitte vraiment E-m Lv 60
Maker qui quitte vraiment E-m Lv 60
avatar

Nombre de messages : 13549
Age : 26

MessageSujet: Re: Winged Ligh [MMF2] Terminé   Mer 28 Avr 2010, 21:04

C'est quoi tout ce code pour la caméra ? o_O
Suffit de faire "fixer l'écran sur actif : le vaisseau" et ça ce fais automatiquement... nerd

Ou alors j'ai pas compris Sad
Sinon sympa ce making off cactus smile

____________
"Listen now, you don't understand
That's not the point of Christmas land"
Revenir en haut Aller en bas
Monos
Maker confirmé Lv 10
Maker confirmé Lv 10
avatar

Nombre de messages : 331
Age : 33

MessageSujet: Re: Winged Ligh [MMF2] Terminé   Mer 28 Avr 2010, 21:16

Citation :
Suffit de faire "fixer l'écran sur actif : le vaisseau" et ça ce fais automatiquement...
Nan car il ne faut pas que la caméra suive le héros.
Mais avance normalement.
Si la cam suit le héros on va avoir des retour en bas en haut.
Et c'est pas bon pour ce type de jeu.

Merci sinon. J'avais peur que l'article ne plait pas.
Revenir en haut Aller en bas
http://offgame.org/
Contenu sponsorisé




MessageSujet: Re: Winged Ligh [MMF2] Terminé   

Revenir en haut Aller en bas
 
Winged Ligh [MMF2] Terminé
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 2 sur 2Aller à la page : Précédent  1, 2

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
E-magination :: ~ Forums de création de jeux ~ :: Jeux :: Jeux-
Sauter vers: