He estado desarrollando un juego de póker en línea. Pero sigo golpeando una pared. Quiero implementar premios en el sistema, pero quiero que sean dinámicos. Lo que significa que no quiero volver a compilar para cada premio que me gustaría agregar.Implementación de un sistema de concesión dinámica
He pensado en usar el código de Python para cada premio. Luego, cuando el servidor comprueba si el usuario califica para el premio, ejecuta el script de python con Jython (el servidor está en Java y Netty NIO) y si la función devuelve cierto valor, otorgo el premio al usuario. Lo cual podría funcionar, pero ¿existe quizás una técnica más eficiente que no me obligue a ejecutar cientos de scripts de Python cada vez que necesito verificar si un usuario recibió un premio?
¿Y cuándo son los mejores momentos para hacer estos controles? He pensado en un sistema de anzuelo donde especificaré los ganchos como ([onconnect] [ondisconnect] [chatmessage.received]). Lo cual también podría funcionar, pero se siente un poco crudo y todavía tendré que ejecutar todos los scripts de la base de datos.
En Java puro, el dinamismo que busca se puede lograr utilizando OSGi – earcam
¿Ha pensado en ello, entonces creo como un sistema de complementos para los premios? Donde cada premio es una interfaz que el servidor llama en el Jar y luego verifica si el usuario debe obtener el premio. Pero, ¿cuál es el rendimiento alcanzado al cargar, digamos 20 jarras cada una con premios cada vez que verifico? O podría hacer el almacenamiento en caché ... mmmm –
j.w. ¿Por qué te preocupa cargar 20 jarras? Esta es una penalización única durante el inicio del servidor (este es el código del servidor ¿verdad?). Además, para cargar eficientemente sus clases desde archivos jar, consulte: http://download.oracle.com/javase/1.3/docs/guide/jar/jar.html#Index%20File%20Specification –