Bonjour,
Mon serveur socket étant partiellement fini, enfin partiellement puisque sa seule fonctionnalité est de distribuer tout ce qu'il reçoit a tous les joueurs connectés mais ça suffit amplement pour le moment.
Enfin bon, je m'attaque donc a la partie jeu en elle même, et la, même après m’être documenté je bloque: Le temps réel.
En effet meme si JavaFX propose de très bon compromis pour les animations, entre autre avec la TimeLine() et le système de Keyframe qui permet de choisir la position de tel objet a tel moment (que l'on configure en ms), ce système reste peu souple, notamment pour le calcul des collisions.
Je me retrouve confronté a deux choix:
-Le choix 1 : C'est du semi temps reel, a l'aide des keyframe de javaFX je lance des animations a chaque fois que le client reçoit des paquets qui demande des déplacements. Pour ce qui est des collisions, je parles bien entendu des déplacements ainsi que des skillshots (Pour savoir si le sort touche ou pas) il faut que je les calcule dans un thread a part.
Les inconvénients : Si le joueur veut changer de direction en plein milieu d'une autre direction, je n'ai aucun moyen de connaitre la position actuelle du joueur sur le plateau 2D Isométrique. De plus avec les keyframe je ne peu pas synchroniser le thread de collision avec l'affichage
-Le choix 2: Je lance un Thread de rendu qui tourne en boucle et qui ré-affiche les éléments du jeu avec les nouveaux changements a chaque tour de boucle . A ce moment la je me retrouve avec un système un peu plus dur a coder, mais plus souple.
Le problème principal est surtout de pouvoir controler le nombre de tour de boucle par seconde, c'est a dire le nombre d'image par seconde (ips ou fps). Et la, a part ralentir la boucle avec des pauses je ne vois pas trop de solution (Je tiens a préciser que je trouve cette solution stupide, puisque au final je n'aurais pas un nombre d'ips fixe mais qui dépendrais des capacités de calcul de l'ordinateur client)
Si vous avez des pistes a me conseiller, je vous en remercie d'avance
Cordialement,
Mon serveur socket étant partiellement fini, enfin partiellement puisque sa seule fonctionnalité est de distribuer tout ce qu'il reçoit a tous les joueurs connectés mais ça suffit amplement pour le moment.
Enfin bon, je m'attaque donc a la partie jeu en elle même, et la, même après m’être documenté je bloque: Le temps réel.
En effet meme si JavaFX propose de très bon compromis pour les animations, entre autre avec la TimeLine() et le système de Keyframe qui permet de choisir la position de tel objet a tel moment (que l'on configure en ms), ce système reste peu souple, notamment pour le calcul des collisions.
Je me retrouve confronté a deux choix:
-Le choix 1 : C'est du semi temps reel, a l'aide des keyframe de javaFX je lance des animations a chaque fois que le client reçoit des paquets qui demande des déplacements. Pour ce qui est des collisions, je parles bien entendu des déplacements ainsi que des skillshots (Pour savoir si le sort touche ou pas) il faut que je les calcule dans un thread a part.
Les inconvénients : Si le joueur veut changer de direction en plein milieu d'une autre direction, je n'ai aucun moyen de connaitre la position actuelle du joueur sur le plateau 2D Isométrique. De plus avec les keyframe je ne peu pas synchroniser le thread de collision avec l'affichage
-Le choix 2: Je lance un Thread de rendu qui tourne en boucle et qui ré-affiche les éléments du jeu avec les nouveaux changements a chaque tour de boucle . A ce moment la je me retrouve avec un système un peu plus dur a coder, mais plus souple.
Le problème principal est surtout de pouvoir controler le nombre de tour de boucle par seconde, c'est a dire le nombre d'image par seconde (ips ou fps). Et la, a part ralentir la boucle avec des pauses je ne vois pas trop de solution (Je tiens a préciser que je trouve cette solution stupide, puisque au final je n'aurais pas un nombre d'ips fixe mais qui dépendrais des capacités de calcul de l'ordinateur client)
Si vous avez des pistes a me conseiller, je vous en remercie d'avance
Cordialement,