Answers:
我对Ruby(或Python)没有偏爱,我本人是Java。但是UnknownDevice关于Ruby如何以某种方式“不适用于游戏”和Python的答案令我感到沮丧。我希望他能澄清。
我知道Pygame存在并且已经存在,并且我认识到Python的用户群比Ruby大。但老实说,它们似乎都不是“游戏”的语言。Java也没有,那是我选择的游戏编程语言。(当我说“选择”时,我的意思是选择,而不是因为这是学校所教的内容,也不是因为我“知道”这一点)。实际上,什么是“游戏”语言?嗯,速度是一个因素,显然它必须具有用于图形和其他游戏系统(音频,输入等)的库。
就速度而言,这似乎是Ruby和Python之间的一次折衷。进行一些搜索,您会很快找到频谱两侧的基准和参数,以及使两者领先的各种配置。与Ruby相比,带有“ Psycho”字样的Python似乎是一个流行的速度魔鬼,但是普通的Python似乎比Ruby慢一些。最后,如果您选择了如此高级的语言,那么您显然根本不会在乎本地速度。使用您最了解的语言。显然您最了解Ruby,所以我鼓励您!
另一个因素是是否有创造游戏的技术。是否支持在屏幕上绘制以及收集输入和播放音频。Ruby可以完成所有这些工作。实际上,在这方面有很多选择。RubyForge上有一个ruby-opengl软件包,它将为Ruby提供OpenGL支持(或者默认情况下可能包含它?)。另外,Chingu提供“闪电般的OpenGL加速2D图形!” 根据其主页;它在Gosu之上构建了额外的功能,如果Chingu对您来说太多了,您可以选择使用这些功能。对于3D图形,如果您不想使用ruby-opengl,请尝试G3DRuby,“它是许多更高级的OpenGL功能的非常干净的包装类集”。那里'Rubygame,我找不到很多信息,但是它声称是“跨平台多媒体库”,并且命名为Rubygame,必须重点开发游戏。如果您熟悉流行的C ++ SDL库,则可以使用Ruby / SDL或RUDL,它们都是SDL的Ruby包装器。或者,如果您更喜欢新的,更面向对象的SFML,那么它也可用于Ruby!
毫无疑问,Ruby应该比Python少一种游戏编程语言。如果有的话,我真的很想听听它,以便可以反对它。如果您对使用Ruby编程感到最自在,并且意识到与其他流行语言相比的优缺点,那么您绝对可以使用Ruby开发游戏!
http://gafferongames.com/2009/01/11/ruby-is-not-at-all-suitable-for-game-development/
该URL可能有点破坏。
tl; dr:天真的垃圾回收器是一个真正的问题。
没有理由不能这样做。只要语言支持多媒体,那么它就是gamedev的材料。哎呀,过山车大亨游戏之一很大一部分是在ASM中手工完成的。
虽然我不熟悉围绕Ruby进行的许多深入的规范工作,但Enterbrain创建了使用基于Ruby的游戏脚本的游戏制作程序RPG Maker VX和RPG Maker XP:http : //www.rpgmakerweb.com/
这实际上是我第一次学习该语言。就像大多数人所说的那样,您可能无法获得其他语言的高性能,但是如果您要启动2D RPG(或其他真正的2D游戏),它可能是最复杂的游戏编辑器之一。救命。
Ruby是一种不错的语言,但说实话,游戏并不是真的。如果您不想使用C ++,但是想要像Ruby这样的东西,请查看Python。对于一个好的Python框架,您应该查看类似www.cocos2d.org/的内容。
您的问题太笼统了。您是否只想将一些计算机游戏作为爱好项目编写,还是想从事独立/专业游戏开发?它会有图形吗?它应该在哪些平台上运行?
通常,Ruby适用于爱好项目(顺便说一句,我最喜欢的Ruby游戏是Ruby Warrior),也适合开发基于Web的游戏,例如Farmville。甚至对于此类程序员都有一定的需求,请尝试搜索类似“红宝石程序员社交游戏”的内容。
另一方面,如果要开发带有图形的基于桌面或移动的游戏,则Ruby不是最佳选择。考虑:
我说Python是因为它拥有更大的用户群,并且在游戏开发的框架/库方面有更多选择。很明显,这个人没有游戏开发经验,所以对我来说建议他们使用Ruby之类的东西是没有道理的,因为这是可能的。
当我在游戏上工作时,我将C ++与Lua一起使用,我不会因为具有媒体支持而开始在Visual Basic中编写游戏。我敢肯定,这里的每个人都听到有人说某些工具可以完成某些工作。我敢肯定您可以用鞋钉钉子,但是为什么可以用锤子钉呢。