【扫一扫了解最新限行尾号】
复制提示
支持热更新的脚本语言
我们做游戏开发经常会用到lua脚本,客户端方便热更新,而服务器作为辅助脚本使用,比如一些AI、scene、技能脚本等。总结 python和lua都是很好的脚本语言,在具体的开发中做出合理的选择才是至关重要。
Lua确实是解释性脚本语言,但是不是因为是解释型才能进行热更新。即使使用C++这种编译语言,也能进行热更新,将动态链接库进行更新就是,然后动态加载动态链接库获取更新的函数地址即可。
使用Cocos2d-JS的热更新,那就大不一样了。它可以做到进入游戏后下载需要更新的资源甚至是脚本本身,而且更新过程不需要退出游戏。只要用户联网,就能够保证使用到最新的资源。
我认为xlua的概念很好,很多人用lua就是为了热更新,如果没有热更新的需求,大多数人是不喜欢lua,或者所谓的脚本开发的,xlua很好的解决了这部分人得需求。
如何评价腾讯在Unity下的xLua热更方案
1、所以追求效率的,请选用ulua。但是ulua因为底层使用luajit,而luajit目前不能在WP平台使用,所以如果ulua支持WP平台需要第二种原生luavm的底层库。
2、)避免书写不好的c、cpp代码崩溃整个进程,脚本代码出错了,最多影响局部逻辑,还可以上报脚本错误,方便后续解决问题,现在unity里也一样,如果c#代码书写不好,就直接闪退了,不如用lua做一个安全的调用层。
3、XLua是Unity3D下Lua编程解决方案,自2016年初推广以来,已经应用于十多款腾讯自研游戏,因其良好性能、易用性、扩展性而广受好评。
4、APK位数不同。安卓系统都为64为APK,而模拟器为32位APK,因此32位android模拟器读取不到xlua库。
5、服务端不同的引擎用的不同的语言,但是核心都是C++写的。unity是C#+lua,lua有很多插件xlua 和slua等等。UE4是C++配合unlua。
6、比如你可以把整个Material换成Alloy、用Ngui替代UI系统,如果你要做个赛车游戏,你能找到从模型、音效、材质,到控制系统等一切。
LUA脚本语言在网络游戏编写中主要是干什么用的
1、主要用途是:(1)描述界面:WOW和剑网三的界面都是用LUA写的;(2)沟通引擎:游戏图形引擎提供了一些接口库,可以在LUA中调用;(3)服务器端:有些游戏,例如剑网三,在服务器端也会大量使用LUA。
2、Lua一般用于嵌入式应用,现在越来越多应用于游戏当中,魔兽世界,愤怒的小鸟都有用到。Lua极易嵌入到其他程序,可当做一种配置语言。
3、轻量级 LUA只包括一个精简的核心和最基本的库。这使得LUA体积小、启动速度快,从而适合嵌入在别的程序里。可配置性、可扩展性 LUA并不象其它许多大而全的语言那样,包括很多功能,比如网络通讯、图形界面等。
为什么Java不适合游戏开发?
1、JAVA不是不能做游戏热更lua,而是对开发人员的能力要求高游戏热更lua!如果能够充分利用JAVA的并发优势游戏热更lua,那是可以做到的游戏热更lua,并且这已经被有些小公司当做网络游戏服务端的开发语言了。
2、又由于java对于垃圾回收机制是自动的,使得游戏在流畅性上有很大的折扣。所以java不适合开发大型游戏(除非自己实现垃圾回收等一些机制),使java能与c相比使。又因为java的初衷就不在界面和桌面游戏上。而在企业开发。
3、但是java不太适合unity引擎或者说java不适合游戏开发,主要是因为Java不具备脚本特性,内存控制较弱,跨语言能力较弱,语言表达能力低。
4、然后再细说java为什么不方便开发大型游戏?首先因为java相比较C而言不能操作内存,效率确实低,而且运行还要安装虚拟环境(jre)。但是这个能说明就不能开发大型游戏了吗?那不是的,只是相比较C而言不好开发而已。
5、像是大型公司比如ea,育碧开发的游戏,大多并非是用java开发的。综上,其实java做什么游戏都不如c++给力,但是在手机端他有很多优势,弥补了他的很多劣势。相对的,pc端开发更为成熟,所以java基本毫无竞争力。
6、首先,这个答案是肯定的,java也能开发大型的桌面端游戏,比如非常出名的沙盒游戏游戏热更lua:我的世界。就是使用java语言开发的。其次,Android就是java开发的,Android环境下有多少游戏就不需要我一一细数了吧。
关于游戏热更lua和游戏热更新原理的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。