De client
hoeft helemaal niet zijn eigen ID te genereren; hij kan het ook uitgedeeld krijgen van een server (de game server, of een centrale metaserver met een user database erop).
Door de manier waarop je van plan was je UID te berekenen schijnt het mij toe dat een tijdelijk ID voldoende is; dwz., de eis is dat er geen conflict mag optreden binnen één gamesessie. Ik neem dus aan dat het niet nodig is dat
• de UID nooit meer gebruikt mag worden in een ander spel in de toekomst
• de UID altijd dezelfde speler aan moet wijzen
Een van deze twee eisen erbij (allebei kan niet), zou van je UID een GUID maken (de eerste een GUID van een sessie, de tweede een GUID van een speler).
Maar als deze eisen inderdaad niet nodig zijn... bwoh... of je husselt een beetje met de systeemtijd met een willekeurig gegenereerde prefix ervoor (of wat dan ook, genereer iets wat een kleine kans heeft om gedupliceerd te worden, harde garanties zijn niet nodig), of laat de server IDs uitdelen.
De laatste oplossing heeft trouwens verreweg de voorkeur, als je het mij vraagt.
[
Voor 6% gewijzigd door
Verwijderd op 18-01-2005 01:33
]