2d游戏原型的敏捷语言?

时间:2011-02-10 06:57:37

标签: language-agnostic programming-languages agile 2d

偶尔(读:当我的未婚夫允许的时候)我喜欢用不同的游戏或类似游戏的想法制作原型。通常我使用Java或C#(还不是xna),因为它们是我最常用的语言。但是我想学习更适合敏捷开发的东西;这种语言可以更容易地删除快速原型。

在我的工作中,我最近一直在使用更宽松(弱/动态类型)语言,特别是python和groovy,我认为类似的东西适合我正在寻找的东西。

所以,我的问题是:What languages (and framework/engine) would be good for rapidly developing prototypes of 2d game concepts?

一些注意事项:

  • 我不需要快速的bitcrunching性能。在这种情况下,我强烈希望易于开发而不是性能。
  • 我想使用一种健康社区的语言,这对我来说意味着相当数量的第三方图书馆。
  • 我希望这种语言能够跨平台友好,我会在各种不同的操作系统上工作,并希望能够以最小的努力轻松实现。
  • 我无法想象自己会使用一种具有良好选项的语言进行调试和编辑器语法突出显示支持。

注意:如果您了解您认为简化生成游戏原型的Java或C#库/框架,我也会开始学习这些语言的新内容

5 个答案:

答案 0 :(得分:3)

Python + pygletcocos2d

我使用pyglet来构建我刚刚完成的iPhone游戏原型。与之合作是一种快乐,而且非常迅速。

答案 1 :(得分:3)

我使用Clojure进行2D游戏开发,获得了很好的早期结果。

原因是:

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

答案 2 :(得分:1)

http://www.pygame.org/news.html

查看PyGame

就个人而言,我并不喜欢它。太乱了,但我过去用过原型取得了巨大的成功。

对于使用快速Windows窗体或WPF应用程序结合绘图基元的C#也运行良好。

答案 3 :(得分:1)

Microsoft SmallBasic

开发非常简单,查看已发布的应用程序 - 附上源代码。另一个优点是您可以重用您的.NET知识。

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

答案 4 :(得分:0)

根据您希望原型的游戏种类,AS3 / Flex是一个有效的选择。 Flash Develop是一个不错的开源IDE,SDK本身就是开源的。

语言比Java或C#松散得多,所以即使它在凝聚力方面付出了巨大的代价,它也非常适合原型/快速和肮脏的开发。