我想为Android制作一款游戏,并想尝试新的东西。
我真的很喜欢python,并希望用它来开发Android游戏。
游戏并不简单,它将是3D RPG游戏。我找到了Kivy Crossplatform Framework和PyGame。我真的很喜欢这两个,但我不确定Python是否适合我。
答案 0 :(得分:16)
我认为目前还没有强大的3D支持的python解决方案,当然也没有强大的现成工具可以让复杂的3D游戏变得容易。
基本的pygame实际上没有3d支持 - 你可以看到this previous question的某些特定答案,但实质上它主要是2d sdl图形库的包装器。当然你可以通过自己管理所有的2d投影来做伪3d(虽然这会很慢),我认为原则上你可以直接调用opengl并显示结果(有一个few examples),但是pygame对你没有多大帮助。
Kivy通过在opengl中完成所有工作,原则上支持支持访问3d opengl es api,包括完全三维顶点操作,以及着色器等。例如,其中一个它的例子是3d rotating monkey head。然而,在其当前状态下,框架几乎完全在2D中工作,没有像相机,照明这样的api的抽象。它应该可以添加足够的努力,并且最近有一些工作,但它现在不存在。您可以对kivy 3d进行youtube搜索,以获取kivy中3d内容的一些简单示例。另一方面,kivy非常强大,易于在android上部署python应用程序,因此至少可以覆盖这部分。
所以,这些都没有提供复杂3D游戏所需的所有工具,尽管我认为kivy更接近。如果有的话,最好的办法是尽可能将kivy与外部图形库集成。例如,this video显示了一个使用熊猫3D游戏引擎的kivy应用程序,用于博物馆中的完全3D交互式城市模型。这样的事情可能让你在android上做你想做的事,但我真的不知道(这只是猜想),即使技术上可行,也会有很多复杂的方式,如集成 我不想听起来悲观,但我认为这不是一个简单的项目。但是,如果只使用java和现有的流行游戏引擎,我也不知道会涉及到什么,而且我不太了解kivy的opengl潜力的细节。如果您有兴趣,我建议您在kivy mailing list或irc频道询问 - 即使您得到相同的答案,您也许可以找到一个比我更自信地回答的人!
答案 1 :(得分:0)
还有Ignifuga, but it's only for 2D games。
我认为你应该使用javascript + HTML5代替there are so many libs for games dev。