Bonjour à tous!
Ceci est mon premier message sur le CBNA, je commence donc par une rapide présentation.
Je suis donc PixOut, j'ai découvert game maker il y a peu et j'ai décidé de me lancer dans un projet amateur pour mon plaisir et pour pouvoir assouvir mes envies de game design/level design à l'aide d'un outil à ma portée.
J'ai décidé de créer un blog pour suivre l'évolution de mon projet depuis le départ (celui ci est surtout destiné à moi-même, vous pouvez néanmoins le consulter ici :
www.pix-out.blogspot.com ) et j'ai directement fait l'acquisition de GM : Studio en profitant d'une promo. Je suis toujours un débutant en GML, mais je commence à avoir quelques notions (quand je lis du code je comprend à peu près ce qu'il se passe si c'est pas trop compliqué). Par contre, je n'ai presque jamais programmé avant ça, je pense donc que mon code n'est pas très propre ni très optimisé.
Si je poste aujourd'hui, c'est pour plusieurs raisons. J'ai fait pas mal de recherche sur ce forum ainsi que sur divers forums anglophones mais je n'ai pas encore réussi à trouver de réponses à certains problèmes que je voudrait régler avant de me lancer dans la partie level design de mon jeu
Pour commencer, vous pouvez trouver une vidéo ainsi qu'une version jouable du jeu en question ici-même :
http://pix-out.blogspot.fr/2013/01/premiere-version-jouable.htmlAinsi que la source (ce n'est pas la toute dernière version mais peu importe) :
https://docs.google.com/file/d/0B8tPyHQ_JAwGb1VfUTIySWxTbnM/edit?usp=sharingVoici plusieurs problèmes que j'ai rencontré, je les ai divisés en plusieurs questions afin que le sujet reste clair. Je ne demande pas nécessairement une réponse précise pour chaque question (même si ça serait le pied !
), un simple lien vers un post pouvant répondre a l'une de mes question sera évidemment le bienvenue !
1) Résolution graphiqueQuelle est selon vous la résolution qui me permettrait d'avoir un bon rendu visuel chez la plupart des utilisateurs ? Pour l'instant j'ai gardé du 640*480 et le sprite de ma boule fait 32*32, mais en plein écran c'est vraiment moche ! D'ailleurs, si je veux un jeu en 1024*768, il me suffit d'avoir une view de cette même taille ?
J'ai essayé d'importer des sprites rippés d'autres jeux et le rendu reste assez baveux, est ce qu'il y a quelque chose que je ne sait pas ? Si je veux un rendu "HD" (ou du moins assez propre), quelle taille devraient avoir mes sprites ?
Edit : Vu la simplicité de l'univers graphique (beaucoup de formes géométriques), j'aimerais bien avoir des graphismes un peu typé flash si vous voyez ce que je veux dire, je dois utiliser un logiciel de dessin vectoriel ? (j'ai tout fait sous paint là).
2) Rafraîchissement de l'écran Vous pouvez vous rendre compte en regardant la vidéo (mais encore plus en jouant au jeu en plein écran) de certains problèmes de rafraîchissement. Il y a comme un effet de vieux téléviseur qui apparaît sur les sprites et le décor lorsque le joueur avance. J'ai passé chaque room en 60FPS, ça améliore le résultat mais ce n'est toujours pas nickel ... est ce que quelqu'un sait d'où ça vient et comment je peux corriger ça ?
Edit : problème à moitié résolu en utilisant "use synchronization to avoid tearing" dans
global game setting/windows/graphics. Ce n'est toujours pas parfait mais je note une grande amélioration.
3) Feedback lors de la mort du joueurJ'ai compris la technique utilisée dans l'un des tuto de Yoyo Games qui consiste à utiliser un sprite différent pour l'animation de mort et à effectuer toutes les actions qui découlent de la mort du joueur à la fin de cette animation. Mon problème c'est que j'utilise un effet pour l'explosion de ma boule lors de la mort du joueur à l'aide de la fonction effect_create_above(). Le rendu est très joli, mais je n'arrive pas à détruire l'instance et créer l'effet tout en gardant la caméra fixée sur l'action pendant 2 secondes avant de faire repop le joueur au début du niveau.
J'ai essayé d'utiliser une alarme, mais si je détruit l'instance l'alarme n'existe plus. Si je ne détruit pas l'instance ça fonctionne, mais c'est très moche car la boule reste affichée après l'effet d'explosion.
J'ai pensé à mettre une alarme dans l'objet que j'utilise pour contrôler le niveau, mais je ne sais pas comment lui dire de faire repop le joueur 2 secondes après que l'instance soit détruite ... Bref, je suis vraiment perdu de ce côté. J'ai bien trouvé des tuto pour mettre le jeu en pause mais je n'ai pas réussi à les adapter à la situation présente.
n.b : dans le fichier source que je vous ai partagé, il n'y a pas du tout de feedback pour la mort, le joueur réapparaît instantanément au début du niveau lorsqu'il meurtVoilà, je crois que c'est tout pour le moment (c'est déjà pas mal, je ne sais même pas si quelqu'un va lire ça jusqu'au bout
). J'ai essayé de donner le plus d'informations possibles mais n'hésitez pas à me dire si je n'ai pas été assez clair.
Merci de m'avoir lu et merci d'avance pour vos éventuelles réponses !
Edit : changement du titre qui n'était pas vraiment approprié