Muchos juegos que se crean actualmente vienen con su propio sistema de logros que recompensa a los jugadores/usuarios por llevar a cabo ciertas tareas. El sistema de distintivos aquí en stackoverflow es exactamente el mismo.Implementación de sistemas de logros en juegos modernos y complejos
Aunque hay algunos problemas por los que no pude encontrar buenas soluciones.
Los sistemas de logros tienen que estar atentos a ciertos eventos todo el tiempo, piense en un juego que ofrece entre 20 y 30 logros por ej .: combate. El servidor debería verificar estos eventos (por ejemplo, el jugador evitó x ataques del oponente en esta batalla o el jugador caminó x millas) todo el tiempo.
- ¿Cómo puede un servidor manejar esta gran cantidad de operaciones sin ralentizar y tal vez incluso bloquearse?
sistemas de Logro por lo general necesitan datos que sólo se utiliza en el motor principal del juego y no se necesitarían salir de allí de todos modos si no hubiera esos logros desagradables (piensa por ejemplo: ¿con qué frecuencia saltó el jugador durante cada pelea, no desea almacenar toda esta información en una base de datos). Lo que quiero decir es que, en algunos casos, la única forma de agregar un logro sería agregar el código que verifica su estado actual al núcleo del juego, y esa es generalmente una muy mala idea.
¿Cómo los sistemas de aprovechamiento interactuar con el núcleo del juego que contiene la información necesaria más adelante? (ver ejemplos más arriba)
¿Cómo están separados del núcleo del juego?
Mis ejemplos pueden parecer "inofensiva", pero pensar en los logros de 1000 disponibles en la actualidad en el mundo de Warcraft y los muchos, muchos jugadores en línea al mismo tiempo, por ejemplo.
Esta es una muy buena pregunta y ser un jugador, me he preguntado sobre esto desde que empecé a programar.Sabía que los eventos definitivamente tendrían que ver con eso, pero todavía me pregunto una cosa: hay juegos antiguos que no fueron construidos con los logros en mente, y supongo que no emiten esos eventos. Sin embargo, estos juegos a veces reciben logros cuando se vuelven a publicar en plataformas como Steam. ¿Eso significa que Valve ha hecho algunas modificaciones en el núcleo? – MarioDS
Estoy seguro de que lo que está buscando es lo siguiente: [¿Cómo puedo configurar un marco flexible para manejar los logros?] (Http://gamedev.stackexchange.com/questions/908/how-can-i-set- up-a-flexible-framework-for-handling-achievements). Estos muchachos proponen algunas soluciones muy buenas. –