为什么不建议用 Python 写游戏代码?

2015-04-13 05:23:05 +08:00
 napretep

我是Python业余新手,最近想查查怎么用Python写游戏,发现大家的想法并不像其他语言那样一致,既有说适合的也有说完全不行的,这是为什么?

我打算用Python写一个类似三国杀的游戏,请问除了掌握Python以外还需要哪些工具?

45577 次点击
所在节点    Python
41 条回复
ericls
2015-04-13 05:42:23 +08:00
会画画
Gandum
2015-04-13 06:08:31 +08:00
自己去pygame.org看看python的游戏成品就明白了
xiaogui
2015-04-13 06:16:41 +08:00
Invent Your Own Computer Games with Python
http://inventwithpython.com/
xiaogui
2015-04-13 06:17:34 +08:00
Making Games with Python & Pygame
http://inventwithpython.com/pygame/index.html
evlos
2015-04-13 07:17:27 +08:00
"Python enabled us to create EVE Online, a massive multiplayer game, in record time. The EVE Online server cluster runs over 50,000 simultaneous players in a shared space simulation, most of which is created in Python. The flexibilities of Python have enabled us to quickly improve the game experience based on player feedback" said Hilmar Veigar Petursson of CCP Games.

https://www.python.org/about/quotes/
clino
2015-04-13 08:09:11 +08:00
lua应用得更广更合适吧,python太大坨了
Sylv
2015-04-13 08:15:43 +08:00
我想主要是因为 Python 写 GUI 不太方便
还有就是 Python 是解释形语言,基本没法防破解,所以主要用于服务器端程序和脚本工具
caixiexin
2015-04-13 08:40:18 +08:00
应该是解释型语言的通病把,所以就是比不上c/c++这种贴近底层或者手机平台的原生语言。
不过lz说的是三国杀这种,对GUI跟效率要求不高的,应该可以?
elvis_w
2015-04-13 09:14:31 +08:00
Python一般用来写游戏的脚本系统,游戏底层和图形部分还是用别的语言写吧
Mutoo
2015-04-13 09:16:38 +08:00
python 写服务端还是挺多的,比如著名的 bigworld 引擎就是用 python 写的。
xlrtx
2015-04-13 09:37:52 +08:00
不知道和多线程有没有关系
ledzep2
2015-04-13 09:46:23 +08:00
可以, 但不是最好的选择. 主要问题代码保护, 执行效率, 图形库不够强, 没有够强的原生引擎, 没有配套的开发工具, 没有生态. 有这时间用js和flash都会比用python方便很多.
wucao219101
2015-04-13 09:58:48 +08:00
python倒是可以写游戏服务端。
zhicheng
2015-04-13 10:04:47 +08:00
不知道你们听说过 cocos2d 没有。。。。
est
2015-04-13 11:01:48 +08:00
python写着玩还是可以的。拿来卖估计悬。
lxrabbit
2015-04-13 11:28:11 +08:00
看你是什么水平,不熟悉若干个引擎的话还是老实用成熟的引擎去做游戏比较好.上来就想用那些偏门的引擎并不靠谱.
imskull
2015-04-13 11:31:39 +08:00
脚本语言可以写完整的游戏,也可以仅仅用于游戏服务器或者客户端脚本驱动的部分。楼主说是“写游戏”,我姑且认为楼主想用python写完整的游戏。正好我们以前公司也有这方面的经验:
1. 写简单游戏也许还行,但是一旦遇上性能瓶颈你就玩完,这种硬伤是最要命的,产品上线后怕的不是改游戏,怕的是知道问题在哪改不了。加上谁知道你现在想的”简单“游戏经过若干升级后会不会变得庞大呢。
2. 在使用第三方库等情况时你难免会牵扯到为C++库和python间写接口的情况,这就是个噩梦了,出于性能和稳定性的原因你不得不了解python底层调用机制,但比起lua来python实在太大的,你懂的,你是不会想去翻阅python源代码的。
3. “好的python脚本语言程序员*之前*一定是一个更好的C++程序员”,真的,你看看“玩”脚本,”天天叫嚣上”脚本的都是C++程序员。这就好比大餐吃惯了,想早点甜点尝尝,真上战场时谁那甜点当早餐。
imskull
2015-04-13 11:33:07 +08:00
笔误“当正餐”,哈哈。
Majirefy
2015-04-13 11:44:49 +08:00
其实没有那么复杂……
一直很喜欢Ren'Py,LZ可以搜索一下,一个非常成熟强大的Visual Novel引擎……比起Windows 98时代的KiriKiri要更好一些~~~
lingo233
2015-04-13 12:40:44 +08:00
我猜是不支持py3k遂放弃

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/183324

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX