针对Linux、OSX和Windows的2D游戏编程 - C++/Python/OpenGL?

3 投票
6 回答
6159 浏览
提问于 2025-04-16 22:35

我有个朋友正在从平面设计师转行做游戏开发,我决定在空闲时间和他一起合作。我们俩的开发经验都不多,但我很想学Python,而我的朋友想学C++。

我听说C++在游戏编程中很常见,但在这里看到的相关问题建议新手尽量避免使用像C++这样难度较大的语言。我最关心的是能否制作跨操作系统的游戏。我会使用Linux来开发和测试游戏,但我们希望它也能在OSX和Windows上运行。我们对3D游戏开发不感兴趣,因为我们没有3D图形的经验。我希望能做出像VVVVVV那样的简单2D图形,尽量少用(或者根本不使用)纹理。

另外,做2D图形是否一定要用OpenGL,还是C++和Python有其他图形库可以制作出适合游戏的图形?我说的适合游戏的图形是指像Minecraft或VVVVVV那样简单、像素化的图形。

我们有一些关于Python、C++和OpenGL的书,如果这是个好的开始方式,我们可以深入学习。大家有什么推荐吗?

6 个回答

1

我同意newlymintedcocoaguy的看法,像Pygame这样的工具在你的情况下是个不错的选择。不过,针对你的第二个问题,你可以在C++中制作2D游戏,而不需要使用OpenGL或DirectX。我以前就用过Windows的库来处理位图、矩形等功能。我想Linux也会有类似的功能。不过,如果你想让你的游戏能够在不同的平台上运行,那么使用OpenGL可能是更好的选择。

2

我用C++和Python写过几个小程序和游戏,刚开始的话,我建议你用Python,直到你学会了游戏是怎么制作的。

当然,我不知道你想做什么类型的游戏,但对于很多小的2D游戏来说,Python的效率已经足够了,这样你就不用去面对C++的复杂性了。

我推荐的Python库有Pygame(我们之前提到过)和一个我认为更好的工具pyglet,它是一个更高级的2D图形工具(它在后台使用OpenGL)。

如果你想用C++写2D游戏,我强烈推荐ClanLib,这是一个开源的游戏引擎,有着庞大而活跃的社区,代码库也很大,还有很多示例。它支持软件渲染和OpenGL渲染,可以在Windows/Linux/MacOSX上编译。你一定要试试!

祝你好运 :)

5

其实有一套很方便的Python库和模块,叫做pygame,它非常有用,文档也写得很好,还有很多社区支持,很多有趣的游戏都是用它做的。而最棒的是,回答你问题的一部分,使用它不需要OpenGL。

而且因为它是基于Python的,所以很容易在不同的设备上使用。当然,这类项目会遇到很多挑战,但只要耐心点,坚持下去,你会学到很多东西,也会玩得很开心。

C++是一种非常强大的编程语言,你可以用它做很多事情。那些有经验的人会告诉你应该学习C++,他们说得没错,因为它不会很快消失,但你现在稍微等一下也是对的。如果你真的很喜欢用Python开发,那以后再去学C++也是完全可以的,你可以把两者结合起来享受编程的乐趣。

最重要的是,多读书,多练习,享受你所做的事情。

撰写回答