本篇将我理解的脚本语言的优势告诉大家 by EOS.
因为我是做游戏开发的嘛,而且最近又换了用js来做开发,那我就从我的角度出发,
给大家讲述一下我所理解的脚本语言的优势。
一、游戏的热更新
这一点可以说是最直观的,也是最实际的一点。做重度手游的话,包体三五百兆轻轻松的事,
如果游戏不能热更新的话,每次版本更新就要重新下一个包,这里跟app store更新规格有关。
这不像小游戏,十来兆,更新就更新吧,可能玩家不会在意,但如果每次更新三五百兆,
那玩家肯定都流失干净了,所以游戏支持热更新是有必要的。
除非你说:“我不更新”~出门左转 => 策划吧,我发现你有做策划的潜质。
(ps:我绝对不是黑策划~)
二、脚本语言的灵活性
个人感觉,脚本语言的灵活性,主要就体现在他的不严谨上。
打个比方c++就好比是写议论文,论点、论据和论证。该是什么就是什么。
而脚本就好像是写网络小说,没有那么多的局限性,有更多的发挥空间。
再具体一点的就是:
c++函数我指定了参数类型,如果你传入的不是指定类型参数,或者多传了参数,
那么我就编译不过去,就会报错,这就是所谓的编译执行。
js呢,是我写好了一个函数,留了一个参数,不管你什么类型你尽管传就是了,
什么传多了?没事,我不搭理它就是了。执行的时候呢,我就先自己判断一下,
他是不是我想要的类型,不是?我就不搭理它就是了,这就是所谓的解释执行。
上面只是一种体现,另外还有动态改变类的成员,以及成员函数。
c++ 我new 了一只猫,你到死 都是一只猫。
js 我new 了一只猫,指不定什么时候你就成了一只 狮身人面兽。
js这里是范举脚本,还有很多体现方面,这里就不一一列举了。
三、减少开发成本
1.学习成本
学习成本其实也开发成本的一个环节,脚本语言学习成本较低,比如来一个新人,他之前没学过脚本,
那么可能一周左右 就可以开始工作了,有经验的甚至2-3天可以了。而c++条条框框太多,学起来也
比较困难,甚至用惯了脚本语言会怀疑为什么会有这么垃圾的语言,然后就进入标准的技术口水大战。
(ps: C++:脚本别装逼,老子执行速度是你的100倍。 脚本:有卵用,你还没编译完,我都执行完了。 )
2.时间成本
实际开发中,脚本文件是充当资源角色的,我已经编译好的程序,重新运行一边,资源重新加载,
脚本逻辑就变了,exe双击就好了,基本是秒开的,反馈速度上爽的不行,这样就可以有更多的时间
去功能开发与和策划吵架上。
c++是什么样子的呢,修改源文件肯定是要先编译的,只改cpp会快一点,修改点h会慢一点很多。
假设平均每次编译时间为0.5分钟,那么一天运行200次,那么你一天就浪费掉了100分钟。
可能后期程序变得更大,编译更加耗时,平均每次编译时间为1分钟,那么一天运行200次,
那么你一天就浪费掉了200分钟。
再后期,可能平均每次编译时间为5分钟,那么一天运行50次,250分钟。
为什么是50次呢?因为你没有时间去运行更多的次数了。
(ps: PM:白天一个个在水群,晚上都别走,赶紧给我加班。 程序:我要用加班来反抗!)
以上你可以认为很夸张,但事实总是惊人的相似。编译时间确实会随着项目开发变得越来越长,
程序在编译的程序员也确实在经常水群。
题外话
通过上面几点的介绍,如果我是一个公司的主程的话,我也肯定会使用脚本语言来开发。
最近正在研究cocos-js,js已经成为了cocos的主推版本,相信以后会越来越好,js也确实比lua更流行。
但是无论怎样绝对少不了c++的底层支持,c++还是很叼的,哇哈哈哈~~
咳咳,言归正传。
然而用了没几天就踩到的坑,这个留到吐槽列里面再说,这篇就到这里。
最后:我是cocos测试员,编号0973。其实你也是~
See Again~
之前
真爱无价,欢迎打赏~