我没有游戏开发方面的经验,但是是一名程序员。据我所知,在Scala语言中,您可以使用Actors进行可扩展的多任务处理,非常稳定。您甚至可以立即运行成千上万个它们,而不会出现问题。
所以我想,也许您可以将它们用作2D精灵的基类,以突破需要遍历所有精灵并移动它们的游戏循环事物。他们基本上会移动自己,受事件驱动。
这对游戏有意义吗?像这样多任务吗?毕竟,它将在JVM上运行,尽管如今这应该不成问题。
编辑:
摸索了一段时间之后,我注意到该想法只有一个真正的优势:多核支持。一个简单的游戏循环将仅在一个内核上运行,并将依次处理所有事情。
由于现代计算机,即使是现在的家用计算机,如今都内置了两个或多个内核,我认为让游戏程序员有效地使用其他内核是一个好主意。毕竟,我认为通常玩家只会在他的八核计算机上运行游戏,所以为什么不这样做呢。
我看到的另一个优点是,在Scala中,您可以拥有RemoteActors
,可以用相同的方式来对待它,但可以在另一台计算机上运行。因此,这也许也可以简化网络游戏。
我打算尽快将其构建到我的Scala 2D引擎中。