Je n'ai pas d'expérience dans les questions de développement de jeux, mais en tant que programmeur. Dans la langue Scala, vous pouvez avoir des multi-tâches évolutives avec des acteurs, très stables, d'après ce que j'entends. Vous pouvez même en exécuter des centaines de milliers sans problème.
J'ai donc pensé que vous pourriez peut-être les utiliser comme classe de base pour les sprites 2D, pour sortir de la boucle de jeu qui nécessite de parcourir tous les sprites et de les déplacer. Ils se déplaceraient essentiellement, en fonction des événements.
Est-ce que cela aurait du sens pour un jeu? L'avoir multitâche comme ça? Après tout, il fonctionnera sur la JVM, bien que cela ne devrait plus être un problème de nos jours.
ÉDITER:
Après avoir barboté pendant un certain temps, j'ai remarqué qu'il n'y a qu'un seul avantage réel à cette idée: le support multicœur. Une boucle de jeu simple ne fonctionnera que sur un seul cœur et fonctionnera de manière séquentielle.
Étant donné que les ordinateurs modernes, même à la maison, ont de nos jours deux cœurs ou plus intégrés, je pense que c'est une bonne idée de permettre aux programmeurs de jeux d'utiliser efficacement les autres cœurs. Après tout, je pense que le joueur n'aura généralement que le jeu sur sa machine à huit cœurs, alors pourquoi pas.
L'autre avantage que je vois est que dans Scala, vous pouvez avoir RemoteActors
, qui peut être traité de la même manière mais exécuté sur un autre ordinateur. Alors peut-être que cela peut également simplifier les jeux en réseau.
J'ai l'intention d'intégrer cela dans mon moteur Scala 2D dès que possible.