繁体   English   中英

适用于Linux,OSX和Windows的2D游戏编程 - C ++ / Python / OpenGL?

[英]2D Game Programming for Linux, OSX, and Windows - C++/Python/OpenGL?

我的一个朋友正在从平面设计师跳到游戏开发者,我决定在我的空闲时间与他合作。 我们都没有太多的开发经验,但我对学习Python很感兴趣,而我的朋友想学习C ++。

我已经读过C ++是游戏编程的共同点,但是这里的相关问题推荐新用户避免使用像C ++这样的更难的语言。 我的第一个问题是创建可在操作系统之间移植的游戏。 我将使用Linux开发和测试游戏,但我们希望它也可以在OSX和Windows上运行。 我们对3D游戏开发没兴趣,因为我们没有任何3D图形经验。 对于像VVVVVV这样的游戏来说,我会非常满意 - 非常简单的2D和最小(或零)纹理。

另外,是否有必要将OpenGL用于2D图形,或者C ++ / Python是否有一些图形库能够生成有游戏价值的图形? 请记住,通过游戏值得我的意思是简单的像素化图形,如Minecraft或VVVVVV。

我们有一些关于Python,C ++和OpenGL的书籍,如果这是正确的入门方式,我们可以深入研究这些书籍。 每个人都推荐什么?

实际上有一套方便的Python和pygame库和模块,非常有用,文档齐全,并且有大量的社区支持,并且已经构建了许多有趣的游戏。 回答部分问题的最好的部分是OpenGL不是必需的。

并且,因为它基于Python,所以它非常便携。 当然,这类项目会带来很多挑战,但要耐心并坚持下去,你可以学到很多东西,也会有很多乐趣。

C ++是一种非常强大的语言,你可以用它做很多事情,对C ++有经验的人会说你应该学习它,而且它们是正确的,因为它不会很快消失,但你是正确地阻止了一点。 如果你最终真的很喜欢使用Python进行开发,那么就没有什么能阻止你以后选择C ++并一起享受它们了。

最重要的是阅读,练习和享受你做的事情。

我已经用C ++和Python编写了几个小的预言和游戏,对于初学者,我可以推荐使用Python,直到你学会了游戏的构建方式。

当然,我不知道你想要创建什么类型的游戏,但是对于许多小型2D游戏来说Python的效率已经足够,所以你不必处理C ++的复杂性。

我可以为Python推荐的库是Pygame(我们已经听过)和(在我看来更好) pyglet ,这是一个更复杂的2D图形工具(它在后台使用OpenGL)。

对于用C ++编写的2D游戏,我强烈推荐ClanLib ,一个开源游戏引擎,拥有庞大而活跃的社区,巨大的代码库和许多示例。 我支持软件和OpenGL渲染,并且可以编译为Windows / Linux / MacOSX。 你一定要试一试!

祝好运 :)

我同意newmintedcocoaguy这样的东西,比如Pygame是你的情况。 但是为了解决你的第二个问题,你可以在不使用OpenGL / DirectX的情况下用C ++制作2D游戏。 我过去使用Windows库来制作位图,RECTS等。我认为Linux将具有类似的功能。 虽然如果你想让你的游戏跨平台,那么OpenGL可能就是你要走的路。

我会推荐c ++。 许多人说它在某种程度上是困难的,但是你可以用c ++制作一个好的2D游戏,而不会进入“困难”部分。 为此你需要一个像SDL,SFML等库。它值得你花时间,如果你学习C ++,至少你永远不会遇到性能问题。

作为熟悉“我是新人,我想做X的人,我该学什么?” 最近做过的事情,我现在说要坚持使用Python。 正如其他人所提到的那样,有一些像PyGame这样体面的库,C ++很好,有点复杂。

如果你正在学习如何将各个部分组合在一起制作游戏与语言纠缠在一起,那么开始难以解开哪一个实际上导致了你的特定问题。 一旦你对你正在做的事情有一个良好的感觉,通过拿起C ++学习一种新的方法,它总是可能的。

对于初学者的便携式C ++游戏,我会选择SDL 它可以访问OpenGL,查看教程 您可能甚至可以使用python与前面提到的Python-to-C绑定库一起使用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM