Comment les fichiers peuvent-ils être utilisés pour garder une trace des positions des joueurs?
Vous écrivez la position du joueur dans le fichier. Par exemple, si vous identifiez chaque joueur avec un numéro unique (ou un GUID), vous pouvez l'utiliser comme nom de fichier. Dans le fichier, écrivez simplement les données de position dans un format que vous pourrez analyser plus tard. Par exemple, 467239.txt
peut contenir 20, 3, 19
si le joueur # 467239 se trouve à cet emplacement ( x, y, z ).
Ce n'est pas si différent de ce que vous feriez avec une base de données, cependant - une base de données ne devrait pas être "lente" à cette opération, elle devrait être très rapide (probablement plus rapide que les fichiers, car vous avez plus de surcharge d'E / S de disque ou de verrouillage d'E / S contention - si vous avez stocké plusieurs positions par fichier - dans une approche basée sur un système de fichiers).
Peut-être tentiez-vous d'utiliser la base de données ou le système de fichiers pour stocker la position du lecteur lors de l'exécution ? Vous ne devriez pas faire ça du tout .
Au moment de l'exécution, sur votre serveur, les positions des joueurs doivent être conservées en mémoire et mises à jour à cet endroit, comme vous le feriez avec n'importe quel autre type de jeu. Périodiquement, ils peuvent être enregistrés sur le disque ou tout autre stockage persistant - par exemple, lorsque le lecteur se repose, enregistre ou se déconnecte.
Mais écrire chaque position des joueurs sur le stockage de chaque mise à jour est inutile et extrêmement inefficace; il ne sera jamais assez rapide pour gérer quoi que ce soit qui ressemble à des échelles de joueur "massives".