Résolu Augmenter les TPS sans pour autant augmenter la rapidité des actions en jeu
-
Ce message a été supprimé ! -
J’ai quelque petites questions : l’entité en question, c’est la tienne ou pas ? Et si je comprends bien, le problème c’est que l’entité va trop vite c’est ça ?
-
C’est un joueur dans l’absolu mais mon système s’étendra dans un possible futur à toutes les entités vivantes. Bref ça pourrait être une custom ou une vanilla, je ne pense pas que le problème vienne directement ou même indirectement de là. Le souci étant qu’elle fait une chute et que moi je dois “capter” le moment où elle est entre deux coordonnées dont la précision s’étend aux dixièmes, or la fréquence de mise à jour des entités, de base de MC ne me permet pas de capter cet instant.
-
Pour moi, c’est un problème de vitesse. Car si la vitesse est plus qu’un dixième de block, il est possible que tu ne capte pas (le tick précédent il est au dessus et le tick suivant il est en dessous). Ce qu’il faudrait faire, c’est soit rester sur quelque chose qui ressemble : à ce que tu fait tu modifie la méthode move pour par exemple que a chaque fois qu’elle soit appelée, la vitesse est divisée par 2 mais le code est exécuter deux fois et entre les deux, tu check la position.
Mais a mon avis c’est pas très beau. Ce qui serais plus simple, c’est de prendre la position de l’entité au tick précédent et au tick courant pour voire si il est forcément passé par la coordonnée que tu veux check (Mais dans ce cas, tu doit faire attention à la téléportation).
Ou une autre solution et de changer la zone de détection en fonction de la vitesse du joueur. Plus il est rapide, plus elle sera grande. -
Désolé mais je n’ai pas calculé la vitesse d’une entité qui tombe. Surtout que je ne vois pas où la modifier, quelle classe éditer, j’avais déjà cherché à quel endroit été modifié le motionY d’une entité qui fall mais sans résultat.
Je ne peux pas changer la zone de détection pour l’'agrandir, sinon le joueur “flotterait”.
Et enfin ta deuxième solution donnerait un rendu saccadé à chaque fois qu’un joueur tomberait, en devant le retéléporter, après le retard parcouru, au pointoù il aurait dû s’arrêter initialement.
Bref il me faut VRAIMENT modifier la fréquence d’update pour enregistrer + de coordonnées décimales franchis lors de la chute sans pour autant accélérer le jeu. Merci tout de même!
EDIT: Je pense avoir une solution, je l’essaierai dans la soirée!
EDIT 2: En fait mon problème peut s’assimiler à “marcher sur l’eau”, il faudrait stopper toute chute verticale mais pouvoir sauter et se déplacer. Voilà si cette formulation simplifiée peut aider certains à résoudre mon problème, je suis tout ouïe!
EDIT 3: Finalement résolu avec l’aide des AABB!