我将在 clojure 中开发一个体面大小的游戏,现在它将具有 2d 图形。Processing(或者更确切地说,Quil,它只是 Processing 的 clojure 包装器)是用于此目的的合适工具吗?
Processing 将自己呈现为一种快速试验不同生成和操作图形的方式的方法,而不是可扩展的 2d 图形库,但我看不出有任何明显的原因为什么不能这样使用它,只要你小心正确地将逻辑代码与渲染代码分开。
如果有更好的选择,请告诉我。
我将在 clojure 中开发一个体面大小的游戏,现在它将具有 2d 图形。Processing(或者更确切地说,Quil,它只是 Processing 的 clojure 包装器)是用于此目的的合适工具吗?
Processing 将自己呈现为一种快速试验不同生成和操作图形的方式的方法,而不是可扩展的 2d 图形库,但我看不出有任何明显的原因为什么不能这样使用它,只要你小心正确地将逻辑代码与渲染代码分开。
如果有更好的选择,请告诉我。
处理当然很酷,但有点专门用于可视化/交互式动画。它还拥有自己的为可视化应用程序设计的迷你语言。虽然您可以使用它制作出不错的游戏,但您可能会开始遇到性能问题,因为这超出了通常的使用范围。
对于一个体面的游戏,我希望你最终会想要直接使用 OpenGL,在这种情况下LWJGL可能是一个更好的选择。
最终,您可能需要同时使用两者来制作原型并找出最有效的方法。作为一个粗略的基准测试,您将希望以 100+ FPS 的速度渲染一个全屏的瓦片和 1,000 个精灵,而 CPU 少于 20%。如果您可以证明处理可以处理,那么您可能会没事。
您可以考虑的其他选项:
我会小心使用处理。我不确定 PC,但在 Mac 上处理可以有相当高的 CPU 使用率,这取决于你在做什么。因此,如果您的游戏是跨平台的,可能会有更好的选择。如果它是一个在线游戏,为什么不使用 Flash 呢?脚本语言相距不远,在“处理:视觉设计师和艺术家的编程手册”(Casey Reas 和 Ben Fry)一书中,后面有一个方便的小部分(第 686 - 691 页)显示了比较语法Processing、Java、Actionscript 和 Lingo,这将是帮助您入门的有用方式。