在Linux上编写小游戏需要什么?

时间:2010-03-29 13:31:06

标签: linux

我想做一个简单的游戏: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制作小游戏的经验?有人对我有建议吗?

9 个答案:

答案 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元素:

http://diveintohtml5.ep.io/canvas.html#divingin

答案 6 :(得分:0)

我认为Java是制作简单程序的最佳选择,因为它易于学习并且有很多支持。 Eclipse是编译和编写Java代码的好程序。我不喜欢C ++或C,Java非常好,因为它可以在任何操作系统上运行,并且可以制作非常复杂的游戏,如Minecraft或像Pac-Man一样简单。

答案 7 :(得分:0)

我会使用Python和pygame。 Python功能强大,相对容易学习。有很多令人敬畏的资源,而且用途广泛。我会建议图形的pygame模块。 pygame.org有非常详尽的文档。

答案 8 :(得分:0)

有很多游戏看起来和感觉有很多不同的方式,有很多方法可以把它们写出来。我认为如果不对游戏进行彻底的解释,就不可能知道你的想法。

我认为更好的方法是假设你想(通常来说)制作像你最喜欢的游戏一样的游戏。如果是这样,请找出用于创建这些游戏的内容并使用相同的工具。

相关问题