我想做一个简单的游戏:2d,单人游戏,没有大量的动画和特效。我对准备使用游戏引擎不感兴趣,我想学习用相当通用的语言编写一些代码。我使用Linux(AMD64)并通过漂亮的游戏库寻找简单的东西。我不想混合使用少数几种语言,其中大多数语言实际上足以满足我的需求。跨平台将是一个优势,但我需要的是一个良好的Linux支持。
我一直在考虑一些解决方案。
红宝石
+语言看起来很不错。
+我将学习Ruby
- 我担心我可能会遇到其他库的问题
- thread about game libraries for Ruby可能会更长。
SDL + C
+它用于游戏。
+设置非常简单。
+还有很多额外的图书馆
+它是跨平台的。
- 解决方案水平很低
- 语言有时很难阅读。
QT + C ++
+设置非常简单。
+标准的QT库支持我可能需要的一切
+它是跨平台的。
+文件很好。
- 汇编很慢。
- 语言看起来很糟糕。
- 标准QT库的大小太大而无法理解。
网络浏览器的环境
+我将学习更多有关这种环境的知识
+它有点用于游戏。
+它是跨平台的
- 实验太多了。
爪哇
+它用于游戏。
+标准的Java库支持我可能需要的一切
+它是跨平台的。
- 设置起来很困难。
- 标准Java库的大小太大而无法理解
- Java中的源代码看起来更好
- 我想我不想学习Java。
Google Go
+我将学习Google Go
- 图书馆存在很大问题
- 解决方案的水平很低。
的Python
根据{{3}},看起来有人用Python做游戏
+看起来可能有更多的库而不是Ruby
- Ruby语言看起来更好
- 我想我不想学习Python。
C ++ +别的东西
+它用于游戏。
+它可能是跨平台的。
+有很多图书馆
- 我不需要C ++扩展而不是C.
- 编译速度可能很慢,有快速的C编译器,而不是C ++。
的Haskell
+我要学习Haskell
- 关于编程电脑游戏的许多事情看起来太迫切了
- 看起来我可以在图书馆遇到一些问题
- 编译(GHC)看起来很慢。
可能还有更多需要考虑的事情。有没有人有在非主流解决方案中为Linux制作小游戏的经验?有人对我有建议吗?
答案 0 :(得分:14)
这可能不是你想要的,但我会说这是你最需要的:“停止计划,开始建设。”
你试图比较A到B到C到D,当你显然根本不知道它们中的任何一个时。
首先选择一个你想知道的人(比如Ruby,因为它在你的列表的开头),然后开始尝试做你想要的。你将部分成功,部分失败,这两个结果将有助于你想要的编程知识,你要么完成你的游戏,要么获得足够的知识,你可以做出有关移动到另一个平台的有根据的选择。 / p>
答案 1 :(得分:8)
一些Python推荐(我认真地认为你不会后悔作为语言选择;根据你的需要):
Pygame对于编写小游戏(特别是2D)非常棒。良好(基于社区)的支持,文档,示例,免费的跨平台......
如果你想去3D Ogre3D,可能值得一看。
答案 2 :(得分:2)
Python + PyGame。
答案 3 :(得分:1)
确定。一般来说C(Visual C#,C ++,C,Objective C等)有很多优点。它很快,我的意思是快。但是,开发简单的东西需要一段时间。 Java是C(难以学习并需要一段时间来开发某些东西)和python(轻量级和强大)之间的交叉。在我看来,Python是你应该学习的东西。这很容易学习。它很强大。它很轻巧。它是跨平台兼容的。它很灵活。它有很多库,你不应该找不到合适的工具。这是我的意见。
答案 4 :(得分:0)
有C的快速编译器,而不是C ++
这不太对。相反,有一些c ++的特性使得编译速度慢。编写类似c的c ++,你可以像编写简单的c一样快速编译。这是c ++的优势之一。
不是真的推荐这个,如果你这样做,严肃的c ++人会畏缩。
答案 5 :(得分:0)
使用Javascript和HTML5在浏览器中工作实际上并不是实验性的! 由于引入了canvas元素,您可以使用它来绘制到浏览器中。 游戏循环可以由Javascript计时器实现。
使用Javascript和HTML5,您可以构建没有任何框架的跨平台游戏(尽管您可能希望使用jQuery等方便)。
关于canvas元素:
答案 6 :(得分:0)
我认为Java是制作简单程序的最佳选择,因为它易于学习并且有很多支持。 Eclipse是编译和编写Java代码的好程序。我不喜欢C ++或C,Java非常好,因为它可以在任何操作系统上运行,并且可以制作非常复杂的游戏,如Minecraft或像Pac-Man一样简单。
答案 7 :(得分:0)
我会使用Python和pygame。 Python功能强大,相对容易学习。有很多令人敬畏的资源,而且用途广泛。我会建议图形的pygame模块。 pygame.org有非常详尽的文档。
答案 8 :(得分:0)
有很多游戏看起来和感觉有很多不同的方式,有很多方法可以把它们写出来。我认为如果不对游戏进行彻底的解释,就不可能知道你的想法。
我认为更好的方法是假设你想(通常来说)制作像你最喜欢的游戏一样的游戏。如果是这样,请找出用于创建这些游戏的内容并使用相同的工具。