用敏捷语言开发2D游戏原型?

5
偶尔(也就是在我未婚夫允许的情况下)我喜欢制作我所想的不同游戏或类似游戏的原型。通常我使用Java或C#(尚未使用xna),因为它们是我最有经验的语言。然而,我想学习一些更适合敏捷开发的东西;一种更容易快速制作原型的语言。
在我的工作中,我最近一直在使用更松散的(弱/动态类型)语言,特别是Python和Groovy,并且我认为类似的东西可以满足我所需的。
那么,我的问题是:哪些语言(以及框架/引擎)适用于快速开发2D游戏概念的原型? 几个注意事项:
  • 我不需要快速的位运算性能。在这种情况下,我会更加强调开发的便利性而非性能。
  • 我希望使用一个拥有良好社区的语言,对我来说这意味着有相当数量的维护第三方库。
  • 我希望该语言具有跨平台友好性,因为我在各种不同的操作系统上工作,希望能够轻松移植。
  • 我无法想象自己使用一个没有良好调试选项和编辑器语法高亮支持的语言。
注意:如果您知道适用于Java或C#的库/框架,可以简化制作游戏原型,我也愿意学习这些语言的新东西。

我曾考虑过AIR/Flex/AS3,但工具的专有性质(Flash/Flex Builder)让我失去了兴趣。我看过一些针对AS3的第三方编辑器/开发环境,但并没有特别满意的,你有什么建议吗? - Tom Neyland
5个回答

3

Python + pyglet 或者 cocos2d

我使用 pyglet 制作了一个 iPhone 游戏的原型,最近刚刚完成。它非常好用,而且开发速度很快。


3

我已经在2D游戏开发中使用Clojure取得了很好的初步结果。

原因如下:

  • 动态语言 - 对于交互式原型设计非常出色(使用REPL),例如在我开发的Roguelike中,您可以在交互式查询/操作游戏状态时玩游戏
  • 极具生产力(一旦掌握了Lisp语法)- 由于宏、高阶函数、STM等,我可能需要编写比任何其他语言更少的Clojure代码。
  • 它与Java有很好的互操作性,因此您可以直接借用所有精彩的开源Java库。例如,Swing / Java2D非常适合简单的2D游戏,但如果您真的想要,可以使用类似jMonkeyEngine之类的东西。您还可以使用所有Java网络和IO库等。
  • 性能通常很好-虽然默认是以动态方式牺牲绝对速度,但您可以添加原始/类型提示,以获得非常快的性能,如果遇到瓶颈。
  • 跨平台-在您可以找到JVM的任何地方运行,无需重新构建/重新编译。假设您坚持使用纯Java库(如Swing),GUI应用程序在各个平台上都可以正常工作。您还可以创建小程序或通过Java Webstart启动,以便在浏览器中运行。
  • 伟大的社区-Clojure社区本身虽小,但支持、友好、创新且快速增长。它还是庞大/广泛的Java社区的一部分,因此每当您需要时,都可以获得经过验证的库和工具。

1

请查看PyGame,网址为http://www.pygame.org/news.html

个人而言,我不太喜欢它。太过混乱,但我过去曾经使用它进行原型设计,取得了巨大的成功。

对于C#,结合绘图基元,使用快速的Windows Form或WPF应用程序也很有效。


1
当你开始使用XNA时,我建议你设置一个游乐场项目。只是一些随意尝试的东西。这也是学习的好方法。 - Finglas
对于pygame(也许还有pyglet),我给出+1的评价。PyWeek挑战展示了使用它可以快速启动和运行项目的能力。 - Noufal Ibrahim

1

微软SmallBasic

开发非常简单,查看已发布的应用程序 - 源代码已附加。另一个优点是您可以重复使用您对.NET的了解。

最大的问题在于多平台性 - 它的应用程序使用Silverlight运行,这是一种跨平台技术(Windows + MacOS X,Linux的Moonlight,但我不确定它是否支持SmallBasic)。 但据我所知,开发环境仅限于Windows。


0

根据您想要原型设计的游戏类型,AS3/Flex是一个有效的选择。Flash Develop是一个不错的开源IDE,而SDK本身也是开源的。

该语言比Java或C#更加灵活,因此即使在内聚性方面付出了代价,它仍非常适合用于原型/快速开发。


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