Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: Besoin d'aide pour un jeu  (Lu 1528 fois)

0 Membres et 1 Invité sur ce sujet

Dicosaedrique

  • Newbie
  • *
  • Messages: 1
    • Voir le profil
Besoin d'aide pour un jeu
« le: Novembre 05, 2016, 05:31:06 pm »
Bonjour à tous et à toutes,

je vais faire vite ^^ :

je suis novice en C++ comme en SFML et j'ai décidé pour progresser dans les deux de me lancer sur la création d'un jeu de plateforme 2d, qui au début sera simple au possible puis se complexifiera.

Je n'ai pas rencontré de problème jusqu'à maintenant, le brouillon de mon jeu fonctionne : j'ai un personnage qui se déplace (gauche, bas, droite, haut) avec une animation de mouvement et qui ne peut pas dépasser les bord de la fenêtre.

J'aurais deux questions à poser à ceux qui en ont le temps :

1- Je rencontre des difficulté pour créer des menus (menu de pause, menu principal, ... Je ne sait pas si il faut que je créer de nouvelle fenêtre, si je doit afficher des images en dehors de la vue principale ou autres choses.
Ma question est donc : comment créer et structurer un jeu pour ce qui est de la gestion des menu ?
Je suis ouvert à tout lien vers un tutoriel (si possible en français)

2- Malgré le fait que mon programme soit extrêmement court, mon personnage a des sortes de freeze (comme je vous l'ai dit mon programme est très court pas plus de 200 lignes donc je ne comprend pas pourquoi j'ai déjà des freeze), donc si quelqu'un saurait comment régler ce problème je suis ouvert.

Si besoin de mon code source je peut le linker mais comme il est vraiment vraiment moche je sait pas si ca peut vous aider.

Merci pour vos réponses à venir.

Cordialement, Dicosaedrique (un passionné de jeux vidéo et de programmation)
« Modifié: Novembre 05, 2016, 05:33:02 pm par Dicosaedrique »

janf

  • Newbie
  • *
  • Messages: 45
    • Voir le profil
Re : Besoin d'aide pour un jeu
« Réponse #1 le: Novembre 09, 2016, 02:22:45 am »
La structure squelettique d'un jeu vidéo, tu te lances dans tout un sujet :)
Des mots clefs pour tes recherches sont : states manager.
Chaque "moment" du jeu (intro, menu principale, gameplay, menu pause, etc.) peut être un "état", et ces état s'empilent les uns sur les autres. L'état tout en haut de la pile est l'état actif.
Par exemple tu es dans le jeu, tu appuies sur échap, ça ajoute l'état "menu pause" par dessus l'état "gameplay", ce qui fait que la boucle principale de ton programme maintenant s'occupe uniquement du menu pause, le jeu lui-même n'est plus calculé, il est en pause.

Pour les "freeze" de ton personnage : utilises-tu bien le temps comme mesure pour les déplacements de ton personnages, ou bien les tours de boucle? C'est à dire, par exemple quand tu laisses la touche pour aller vers la gauche enfoncée, se déplace-t-il de x pixels par secondes ou bien de x pixel par tour de boucle (ou frame) ? Si c'est le deuxième cas, sa vitesse de déplacement sera différente selon la puissance de la machine, et sera saccadé à chaque baisse de fps.
Autrement, tu peux régler le maximum de frame par seconde directement avec une fonction de la RenderWindow de la SFML (60 fps est une valeur suffisante), ou choisir la synchronisation verticale (le fps est synchronisé au taux de rafraîchissement de ton écran). Consulte la doc de sf::Window ou sf::RenderWindow.
« Modifié: Novembre 09, 2016, 02:30:43 am par Renardesque »