私はゲーム開発の質問ではなく、プログラマーとしての経験があります。Scala言語では、非常に安定した、アクターによるスケーラブルなマルチタスクを実行できます。問題なく数十万を同時に実行することもできます。
したがって、2Dスプライトの基本クラスとしてこれらを使用して、すべてのスプライトを通過して移動する必要があるゲームループの問題を解決できると考えました。基本的には、イベント駆動型で自分自身を動かします。
それはゲームにとって意味がありますか?そのようにマルチタスクされていますか?結局のところ、JVM上で実行されますが、最近ではそれほど問題にならないはずです。
編集:
しばらく手をたたいてから、このアイデアには本当の利点が1つしかないことに気付きました。マルチコアサポートです。単純なゲームループは1つのコアでのみ実行され、すべてを順番に処理します。
最近のコンピューターは、自宅でも2つ以上のコアが組み込まれているため、ゲームプログラマーが他のコアを効率的に使用できるようにすることをお勧めします。結局のところ、通常、プレーヤーは自分の8コアマシンでゲームを実行しているだけだと思います。
私が見る他の利点は、Scalaでを持つことができることですRemoteActors
。これはまったく同じ方法で処理できますが、別のコンピューターで実行できます。したがって、これによりネットワークゲームも簡素化される可能性があります。
できるだけ早くScala 2Dエンジンに組み込むつもりです。