2D图形处理是否适用于大型项目?

3
我将在Clojure中开发一款较大的游戏,目前仅涉及2D图形。使用Processing(或更确切地说是Quil,这是一个封装了Processing的Clojure库)是否是适当的工具呢?
Processing看作是一种快速实验不同的生成和操作图形的方法,而非一种可扩展的2D图形库,但我并没有看到任何明显的理由说明它不能用于此,只要你注意正确分离逻辑代码和渲染代码。
如果有更好的选择,请告诉我。

1
什么类型的游戏?这将对你所需要的图形库产生相当大的影响...... - mikera
@mikera 这是基于瓦片的,玩家可以与许多瓦片进行交互。 - adrusi
我正在进行一个可视化项目,而Processing非常完美。这里是它的第一个预览。 - hamed
2个回答

2

Processing非常酷,但有点专门用于可视化/交互式动画。它还有自己的迷你语言,专门设计用于可视化应用程序。虽然可能可以使用它制作一个不错的游戏,但由于这超出了它通常的用途,所以你可能会遇到性能问题。

对于一个不错的游戏,最好直接使用OpenGL,这种情况下LWJGL 可能是更好的选择。

最终,您可能需要使用两者进行原型设计,并找出哪个效果最好。作为一个粗略的基准,您需要在不到20%的CPU使用率下,以每秒100帧的速度呈现满屏幕瓦片和1,000个精灵。如果你能证明processing可以处理这个要求,那么也许就可以了。

其他选项:

  • Swing-适合简单的2D游戏。它有优势是内置于标准Java发行版中并有很多好的教程。虽然不是专为游戏而设计的,但只要你要求不太高,它就可以胜任。
  • JavaFX 2.0-大致意图与Flash相同(富Internet应用程序)。看起来非常酷,但还是比较新的。同样,可能适合制作简单的Flash风格游戏。

使用Swing绘图与Processing相比如何?我对JVM生态系统非常陌生,所以我基本上一无所知。 - adrusi
Swing适用于GUI和简单的2D游戏。但是对于需要特效的高性能游戏或复杂图形,我不会使用它。 - mikera

0
我会谨慎使用Processing。我不确定PC上如何,但在Mac上,Processing的CPU使用率可能相当高,具体取决于您正在做什么。因此,如果您的游戏是跨平台的,可能会有更好的选择。如果这是在线游戏,为什么不使用Flash?脚本语言并不相差太远,在书籍“Processing: A programming handbook for visual Designers and Artists”(Casey Reas & Ben Fry)的后面有一个方便的小节(第686-691页),展示了Processing、Java、Actionscript和Lingo的比较语法,这将是一个有用的入门方式。

我最初打算用JavaScript编写,通过socket.io连接到服务器,但我选择使用Clojure来完成它,因为我刚学习这门语言,想用它做些有趣的事情。 - adrusi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接