Não tenho experiência em questões de desenvolvimento de jogos, mas como programador. No idioma Scala, você pode ter várias tarefas escaláveis com atores, muito estáveis, pelo que ouvi. Você pode até ter centenas de milhares deles rodando ao mesmo tempo sem nenhum problema.
Então eu pensei, talvez você possa usá-los como uma classe base para 2D-Sprites, para romper com o ciclo do jogo que requer passar por todos os sprites e movê-los. Eles basicamente se moviam, orientados a eventos.
Isso faria sentido para um jogo? Tendo multitarefa assim? Afinal, ele será executado na JVM, embora isso não deva ser um problema hoje em dia.
EDITAR:
Depois de mexer um pouco, notei que há apenas uma vantagem real nessa idéia: Suporte Multicore. Um loop de jogo simples será executado apenas em um núcleo e funcionará com tudo sequencialmente.
Como os computadores modernos, mesmo em casa, hoje em dia têm dois ou mais núcleos embutidos, acho uma boa idéia permitir que programadores de jogos usem com eficiência os outros núcleos. Afinal, acho que geralmente o jogador terá apenas o jogo rodando em sua máquina de oito núcleos, então por que não?
A outra vantagem que vejo é que, no Scala, você pode ter RemoteActors
, que pode ser tratado da mesma maneira, mas executado em outro computador. Portanto, talvez isso possa simplificar também os jogos em rede.
Pretendo incorporar isso no meu mecanismo Scala 2D o mais rápido possível.