我想知道是否有任何用 Scala 编写的游戏引擎或可以从 Scala 轻松访问的游戏引擎?
7 回答
由于易于 Java 集成,所有 Java 游戏引擎都可以轻松访问。有几个(未以任何方式排序):
- http://www.jmonkeyengine.com/
- http://www.13thmonkey.org/~boris/jgame/
- https://jge.dev.java.net/
- http://www.lwjgl.org/
- https://sourceforge.net/projects/tjger/
如何开始用 Java 编写游戏的一个很好的演示是在不到 50 分钟内用 Java 编程语言编写一个 3-D 游戏,同样适用。
由于Scala 有一个很好的 Java 集成,ointerop 应该很容易。正如 mcherm 所指出的,对于lwjgl 这已经完成了。要获得漂亮的 Scala 感觉,您可以添加一些隐式转换。
我目前正在使用 Scala 开发 3d 引擎:http ://www.sgine.org
在成为主要 Java 引擎的竞争对手之前,它还有很长的路要走,但正在取得良好的进展,并且总是感谢更多的帮助。:)
这是某人使用 Scala 中的 LWJGL 之类的库的示例。这似乎是您最好的计划——与一个好的 Java 库集成。Scala 和 Java 之间的集成非常强大:为了使用这样的库,您需要“双向”集成:从您的 Scala 调用 Java 代码(执行诸如绘制到屏幕之类的操作)并从您的Scala 代码(执行诸如响应事件之类的事情)。幸运的是,Scala 可以很容易地做到这两点。
不过,它可能不是一个成熟的游戏引擎。(我不知道我从来没有写过大型游戏)。
有这样的引擎正在开发中。现在,我正在使用易于使用的数学库构建一个坚实的基础,以便通过编译器插件进行优化。数学部分已经完成,包括所有用于设置相机的向量、矩阵、四元数、旋转和投影,并且几乎可以直接插入到 opengl 中。一个简单的渲染器将在近功能中完成。编译器插件需要时间。
链接:Simplex3d
有一个2D游戏引擎:Scage
For java, there is also Slick2d, which is pretty far developed and still active. Integration in Scala is easy as always.