No tengo experiencia en preguntas de desarrollo de juegos, pero como programador. En el lenguaje Scala, puedes tener multitareas escalables con actores, muy estables, según tengo entendido. Incluso puede tener cientos de miles de ellos ejecutándose a la vez sin ningún problema.
Así que pensé, tal vez puedas usarlos como una clase base para 2D-Sprites, para salir del juego que requiere pasar por todos los sprites y moverlos. Básicamente se moverían ellos mismos, impulsados por eventos.
¿Tendría sentido para un juego? ¿Tenerlo multitarea así? Después de todo, se ejecutará en la JVM, aunque eso no debería ser un gran problema hoy en día.
EDITAR:
Después de incursionar por un tiempo, noté que solo hay una ventaja real para esta idea: soporte multinúcleo. Un bucle de juego simple solo se ejecutará en un núcleo y funcionará todo secuencialmente.
Dado que las computadoras modernas, incluso en casa, hoy en día tienen dos o más núcleos incorporados, creo que es una buena idea permitir que los programadores de juegos usen eficientemente los otros núcleos. Después de todo, creo que generalmente el jugador solo tendrá el juego ejecutándose en su máquina de ocho núcleos, entonces, ¿por qué no?
La otra ventaja que veo es que en Scala, puede tener RemoteActors
, que puede tratarse de la misma manera pero ejecutarse en otra computadora. Entonces, quizás esto también pueda simplificar los juegos en red.
Tengo la intención de construir eso en mi motor Scala 2D tan pronto como pueda.