Partage
  • Partager sur Facebook
  • Partager sur Twitter

Deplacements, avec click souris

je sais c'est pas claire : - °

    22 juin 2007 à 16:21:10

    > -Skypers- : en gros, ça sert à pouvoir exécuter plusieurs fonctions en parallèle, au lieu de les exécuter une à la fois.

    Citation : Pole

    Citation : HanLee


    Ben idéalement, si.
    On devrait limiter les FPS pour allouer plus de temps dans des threads pour l'IA, la physique, etc.
    On ne pourra pas afficher plus vite que la fréquence de rafraichissement de l'écran.


    Pourquoi le faire dans des threads?
    Quand tu fais un rendu (ou tous les 2,3 rendus) tu fais ton IA donc ta physique etc....
    http://mapage.noos.fr/emdel/pthreads.htm



    Parce que dans un jeu de stratégie par exemple, ce serait super mauvais de faire comme ça.

    Dans un jeu de stratégie, imagine que tu prennes un groupe d'unités assez important, et tu leur dis d'aller à un endroit donné de la carte.

    En général, l'algorithme de pathfinding A* sera utilisé, et sur une grande carte ça prend un temps non négligeable (bien sûr, diverses optimisations sont possibles). Mais comme il faut l'exécuter sur plusieurs unités, et en plus tenir compte des collisions entre unités, ce qui fait que l'ordinateur va bloquer un moment, le temps de finir d'exécuter l'IA.

    Si on avait fait ça dans des threads, le jeu aurait continué de tourner, et on aurait attendu que l'IA finisse de réfléchir. Le jeu serait resté réactif aux entrées clavier/souris.

    C'est ce qui est fait dans Supreme Commander, on peut remarque que lorsqu'on ordonne un déplacement, les unités ne commencent pas à se déplacer en même temps. C'est vrai, ce comportement peut surprendre (il m'a surpris d'ailleurs), mais c'était la solution pour ne pas avoir un temps de réaction trop long.
    • Partager sur Facebook
    • Partager sur Twitter
      22 juin 2007 à 18:12:50

      Donc c'est Charybde ou Scylla.
      Charybde (les threads) étant plus durs à implémenter pour pas grand chose et Scylla plus simple mais un peu simpliste.
      • Partager sur Facebook
      • Partager sur Twitter
        22 juin 2007 à 20:17:55

        on a donner les formules brutes (apres uil faudra creer des zone d'évenement.
        (je n'ai pas utilisé A* mais il faut quand meme que cette algo fasse la difference entre un fond d'ecran et un obstacle)
        • Partager sur Facebook
        • Partager sur Twitter
          24 juin 2007 à 14:05:42

          Citation : Skypers

          A* perùet de calculer la distance le plus courte entre différents chemins (enfin je crois). Pourquoi l'utiliser ici ?



          L'algo A* inclut une liste ouverte ( cases entourant le player ) et une liste fermée ( pas la peine de s'étendre la dessus ). L'algorythme regarde la liste ouverte et "dis" si la case est franchissable par le player
          • Partager sur Facebook
          • Partager sur Twitter

          Deplacements, avec click souris

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown