Я не опытный в вопросах разработки игр, но как программист. На языке Scala у вас может быть масштабируемая многозадачность с актерами, очень стабильная, как я слышал. Вы можете даже запустить сотни тысяч одновременно без проблем.
Поэтому я подумал, что, может быть, вы можете использовать их как базовый класс для 2D-спрайтов, чтобы вырваться из цикла игровых циклов, который требует прохождения всех спрайтов и их перемещения. Они в основном двигаются сами, управляемые событиями.
Будет ли это иметь смысл для игры? Имея это многозадачность, как это? В конце концов, он будет работать на JVM, хотя в настоящее время это не должно быть большой проблемой.
РЕДАКТИРОВАТЬ:
Потратив некоторое время, я заметил, что у этой идеи есть только одно реальное преимущество: поддержка многоядерности. Простой игровой цикл будет работать только на одном ядре и будет проходить через все последовательно.
Поскольку современные компьютеры, даже дома, в настоящее время имеют два или более встроенных ядра, я думаю, что это хорошая идея, чтобы позволить программистам игр эффективно использовать другие ядра. В конце концов, я думаю, что обычно у игрока будет только игра, запущенная на его восьмиядерном компьютере, так почему бы и нет.
Другое преимущество, которое я вижу, заключается в том, что в Scala вы можете иметь RemoteActors
такой же способ, но работать на другом компьютере. Так что, возможно, это также может упростить сетевые игры.
Я собираюсь встроить это в мой движок Scala 2D, как только смогу.