Auteur Sujet: Pathfiding + Animation  (Lu 2580 fois)

Hors ligne khiguard

  • Modérateur
  • Membre Complet
  • *****
  • Messages: 119
  • Karma: +4/-0
    • Alonya: jeu de gestion et de stratégie.
Pathfiding + Animation
« le: 22 novembre 2010 à 22:00:36 »
Comme on parlait performance d'animation javascript sur un autre post et que je travaillait sur un script de pathfinding, je les ais mélangé voici un script qui mélange un peu les deux:

http://sombredestin.net/_PUBLIC/script/pathfinding/astar.php

Ce script, génère une carte aléatoire de 48*48 cases, puis place 24 unités qui vont marcher (avec animation) vers une localisation aléatoire grâce aux pathfinding, arrivé à destination, ils en chercheront une autre. Le tout, avec un personnage que vous pouvez déplacer en cliquant sur la carte. il y a un scrolling pour le déplacement (ce qui mange le plus).
vous pourrez ainsi voir les performances.

Je conseille d'utiliser safari ou crome pour les performances, ou au oins firefox 4, car le 3 rame un peu. Vous verrez que c'est quand même fluide.

Ceci est une ébauche fait en un WE, donc il mériterais encore un peu d'optimisation. Je mettrais à jour et ferais un fichier pour le téléchargement plus tard.

J'espère que ca pourra en aider ou inspirer certain.

Voila, qu'en penser vous?
@+
Sombre Destin : Jeu de gestion/stratégie.
Alonya : Jeu de gestion/stratégie par partie. (en construction)
Acdn : Webzine ludique.

Hors ligne Prelude

  • Administrateur
  • Membre Héroïque
  • *****
  • Messages: 1155
  • Karma: +9/-0
    • Mon blog
Re : Pathfiding + Animation
« Réponse #1 le: 23 novembre 2010 à 07:37:24 »
Mais que c'est génial tout ça !
Le changement de la carte fait un temps de pause chez moi => le changement commence, tout s'arrête 1 ou 2 secondes et quand ça reprend, le personnage est arrivé à destination.
Mais hormis ce passage "difficile", c'est pas mal du tout.
Bravo.

Hors ligne khiguard

  • Modérateur
  • Membre Complet
  • *****
  • Messages: 119
  • Karma: +4/-0
    • Alonya: jeu de gestion et de stratégie.
Re : Pathfiding + Animation
« Réponse #2 le: 24 novembre 2010 à 11:34:45 »
Merci.

Tu devrais tester sur safari ou chrome, c'est très fluide et on se rend compte de la différence du moteur javascript. J'ai même tester sur ipad et c'est plus fluide que sur firefox 3.x
Sur safari sur mon mac, je peut lancer 2 fois plus de sprites, ça rame pas. (par contre, on vois que ca consomme du processeur, on vois que le javascript n'est pas fait pour cela)

Mais je vais mettre en place une option qui permettra de faire bouger la map par "a coup" ce qui permettra au petit moteur javascript de faire fonctionner le moteur de manière plus confortable.

Si certain on des idées d'amélioration ou des remarques, n'hésitez pas.
@+
Sombre Destin : Jeu de gestion/stratégie.
Alonya : Jeu de gestion/stratégie par partie. (en construction)
Acdn : Webzine ludique.

Hors ligne SorenS

  • Membre Junior
  • **
  • Messages: 91
  • Karma: +0/-0
  • Développeur web PHP
    • Kueny Raphaël - Développeur web php
Re : Pathfiding + Animation
« Réponse #3 le: 24 novembre 2010 à 11:55:28 »
Pas mal du tout. Sur ff ça fonctionne pas si mal que ça.

Par contre à un moment je me suis retrouvé bloqué. Impossible de bouger, et les autres persos ne bougeaient pas non plus... aucune idée pourquoi, je vais essayer de reproduire le bug

Edit :

L'erreur qui arrive :
Grid[y] is undefined
[Break on this error] function AStar(Grid,Start,Goal,Find){f...nd]||Manhattan;return Path(AStar());};
map.js (l 273)
« Modifié: 24 novembre 2010 à 11:59:10 par SorenS »
--- Développeur web php passionné de jeux web ---

Hors ligne khiguard

  • Modérateur
  • Membre Complet
  • *****
  • Messages: 119
  • Karma: +4/-0
    • Alonya: jeu de gestion et de stratégie.
Re : Pathfiding + Animation
« Réponse #4 le: 24 novembre 2010 à 11:58:14 »
Citer
Par contre à un moment je me suis retrouvé bloqué. Impossible de bouger, et les autres persos ne bougeaient pas non plus... aucune idée pourquoi, je vais essayer de reproduire le bug
je crois savoir pourquoi et je l'ai déjà corriger, mais j’attends d'avoir fait les modifs que j'ai dis avant de le mettre en ligne: lors de la génération aléatoire des chemins pour les pnj, si le hasard veut que ça tombe sur la même localisation ou le pnj se trouve déjà, le chemin est vide(normal) et ça plante.

Merci pour ta remarque.

Je doit implémenté également le fait que si le moteur pour les pnj, après 4,5 essais de recherche de chemin il ne trouve rien, il arrête de lui même, pour ne pas qu'il tourne en boucle.
@+
« Modifié: 24 novembre 2010 à 12:15:59 par khiguard »
Sombre Destin : Jeu de gestion/stratégie.
Alonya : Jeu de gestion/stratégie par partie. (en construction)
Acdn : Webzine ludique.