是这样的,我一直对脚本语言持怀疑态度;而在网上看到的理由,又感觉比较概念抽象,不够细化;可能是我没有实际体会,所以感触不深。最近的项目用到了脚
本,但我感觉到的好处更多的是它做为配置性参数上的,它便于快速试验;而在调试、查错上到不如C++借助IDE了;对于简单的逻辑、流程控制,对于脚本
使用而言,都需要导出大量的接口函数;对于复杂的控制,脚本显然更是力所难及了(举个相对复杂的:如UI的效果制作,似乎脚本也起不了太大作用,只有对
于位置等简单的参数性控制是很有优势。要么导出大量的接口,实际上如果这么做,还不如直接用C/C++实现更省力);因为接口的导出,那么也就意外着想
用脚本应付项目未来的变化,是行不通的,因为没有应用层的接口,他做不了太多的事。
以前用过两个脚本,一个是kele8的fcc,它已经上升成为项目的制作言语,而非辅助地位;一个是Torque的cs脚本,说真的,简直就像用c实现
c++的原理,还有调试器,整体感觉还不如直接用C或C++,现在回想起来,他的好处只有极大的缩短了编译连接时间这点了。
所以,想请教大家,脚本的好处有哪些,适合用在哪些情况?最好能举些实际的例子和情况。
游戏里,引擎是最重要的,提供各种表现能力。但游戏内容本身需要快速变化(比如场景修改,任务更新),这个快速变化的东西使用脚本就很方便了。
前几天看了一个分类:宿主语言和系统语言。大概就是说某种语言目的是轻巧,自身不提供很多功能,而是由脚本运行的宿主来提供功能,比如lua,javascrip(浏览器宿主提供DOM,BOM);而系统语言则致力于提供大而全的内建库,并与操作系统紧密结合,比如C,Python。如果是游戏,显然前者更合适。
基础语言提供功能,比如粒子渲染,智能寻路;用脚本语言调用并展示,这个是比较理想的搭配方式吧。
当然,接下来的问题就是,如何区分功能和展示?我也不知道,自己摸索吧。一般是先用脚本实现原型,然后优化时用c或者其他的底层语言做成库。
至于说游戏里为啥要脚本这个问题……打开wow,Interface\addons,大把的例子阿……
2008/5/21 清风雨 <zhang...@gmail.com>:
> 继续追问几个问题:
> 1. 在服务器应用这个场合上,选用哪个脚本会比较适合,用在哪部分,用于做什么。---- 听说"大话西游"用了Python,后来换了lua,而且还用
--
新的理论从少数人的主张到一统天下,并不是因为这个理论说服了别人抛弃旧观点,而是因为一代人的逝去。
My blog: http://googollee.blog.163.com
至于复杂性, 我的项目起码不会比大多数的人简单, 都是一些 24*7 的程序, 从
linux 内核模块, 到 user space 高并发服务器, 到数据库, 展示层之类的东西.
这不就是Adobe AIR吗 :)