|
|
发表于 2007-3-7 18:35:00
|
显示全部楼层
Re: Re:郁闷,老大让我用PYTHON做游戏逻辑……
圣菲德: Re:郁闷,老大让我用PYTHON做游戏逻辑……
幸运什么……
这个不能说有一部分公司用,用了就不亏啊……不用才是幸运
用这个写,实在是太多此一举了…...
首先python是运行期脚本语言,而C++是编译语言,并不能说哪个好哪个坏,而VC是软件,更不用说可比性。游戏中对灵活性和逻辑分离的要求促使脚本语言的出现,当然,之前又自定义脚本,或者用C++的宏的脚本。现在最火热的就是lua 和 python 当然.net也是,等等很多语言。如果说VB这种语言在游戏中是否使用还有争论的话,脚本语言已经算是必须使用的东东了,个人认为,目前这方面lua最强!毕竟Wow也是用了lua的,网易的梦幻用的是python。
我建议你用lua来和python来比较,毕竟这两个东西才接近一些。lua更高的效率和创造性,python更规范的书写方法,更好的阅读性,游戏届对使用哪种语言还略有争论。
而是否使用脚本系统(似乎是你所遇到的问题),如果是小的项目,比如演示程序,当然可以考虑废除脚本。而如果是真正的商业产品,为了其有更好的灵活性和扩展性,脚本系统(可能是你所用得python)是必要的选择。最起码,他不需要编译器的支持。当你希望给用户提供一个简单游戏编辑器,又不想送给用户一个2000美元的VC的时候,你就会理解这么做的好处了。
而python语言本身,受关注的程度并不低。当然目前最火的自然是ruby这种脚本语言(因为ror的出现),其次是javaScript和actionScript这种脚本语言,他们虽然诞生很多年最近死灰复燃,成为了大明星,python和他们一样的是动态类型的脚本语言(没记错的话),所以受关注程度并不低多少,毕竟最早的bt软件是python所著,而且在p2p领域也有很多python的作品。
事实上,在整个程序届,因为互联网的崛起和极限开发等方法的使用,C++这种静态编译语言不如从前那么非常受人关注(我个人是C++的粉丝,但看看国外的统计,不得不面对的事实)。
而游戏本身算是程序届的异类,对效率要求极高,C++仍占有其统治地位,对效率比较需要的地方仍然都使用C++或者更低级的C何会变来写,不过逻辑方面越来越偏向于灵活的脚本语言,你可以看看xna所用的.net或者虚幻3所自定义的脚本系统,以及python版本的Ogre或者诸如此类。
我的建议是,如果是小的产品,没必要用脚本,
如果是商业产品,有必要考虑用脚本。
如果是希望在这个行业作的长久的程序员,不得不考虑用脚本。
建议去看看网易云风大哥的blog,他对lua很有研究,你会发现其实脚本是很有趣的一件事情:)。其实我和你一样不喜欢python,我是lua的粉丝:) [em2]
脚本 = 运行期 + 动态类型(大多) = 灵活 + 方便 = AI配置,界面配置,剧本....
C++ = 编译器 + 静态类型 = 效率 + 安全 = 核心,渲染,对效率依赖强的....
两种语言各有长短,所以问题不是该不该使用,在什么时候使用什么,这个问题才伤脑筋。 |
|