0-9194 / 0-9194/mmorpg-servers

World - Positioning of characters translated to tiles instead of absolute positions

Ouverte
#14 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Performance World Server
Langage dominant
JavaScript
Étoiles
1
Forks
0
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

Actually the positioning of characters are in absolute pixels. Any value between the boundaries of the room is valid.

This leads to some positional bugs, since the server and client relies on multiples of pixels (actually 16), if a player happens to be spawned on a number that do not respect this tile size, the validation of movement on server and the tile arrival script on client will not work as expected.

The idea is to, instead of save the absolute pixel value of X and Y, save the tile position (multiple of tile size) on each axis.
For example:

Today, to represent a 320 x 160 position, we save the value as is.
With this new strategy, we save a value representing the multiples. If tile size is 16, than we would save 20 x 10.

Another improvement will be that the movement validation on server and tile arrival on client will need less overhead.

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Trouvez où les positions des personnages sont stockées et mises à jour dans le code serveur, probablement dans une classe de joueur ou d'entité. Comprenez les scripts actuels de validation des déplacements et d'arrivée sur tuile. Le changement implique de convertir les coordonnées absolues en pixels en coordonnées basées sur les tuiles (multiples de la taille d'une tuile, par exemple 16). Testez en vous assurant que la validation serveur et les scripts client fonctionnent correctement avec le nouveau système de coordonnées.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
javascript, node.js
Domaine
backend, game-dev
Type d'issue
Refactorisation
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.