• 使用Lua做为MMOARPG游戏逻辑开发脚本的一点体会


    项目背景

    目前在一个大型MMOARPG游戏中使用Lua做为逻辑开发语言,Lua占整体代码量的80%。

    我们这个MMO游戏开发近2年,客户端8人,项目组总体人数在100人(美术占70%),目前代码量很大,中间有客户端人员的正常流动,加上版本的迭代(需求多变)代码没有那么好维护,但主要还是看团队的编码风格,这个不是Lua语言的问题。

    我的个人体会

    如果团队有很好的代码规范,那么用Lua也是极好的,因为简洁,可以让你加深理解编程的本质。

    如果团队之间磨合较久,人员比较稳定,综合能力也比较强,也是可以使用Lua(大家编码风格接近)。

    Lua当很多类中都有同名函数时,要查看函数引用,或者函数重命名,确实不如强类型语言方便,还好有IDEA+EmmyLua。

    假如一个方法有四个参数及以上的 ,建议传入一个table,方便阅读代码。

    我个人的建议是:对于比较成熟的团队(能力较强)我建议可以选用Lua,而太多新手的团队还是C#吧,因为我觉得要把Lua代码写好、写的优雅是比写C#更需要动脑的一件事。

    PS.上面这段文字是我在2019年写的,一直在我的草稿箱没有发布,近两年我所在项目使用的热更新方案是ILRuntime。

    使用ILRuntime后再对比Lua

    对比ILRuntime(C#)和Lua的最大区别,我体会就是C#重构和阅读别人代码要轻松很多,但是无法运行时热重载,因为C#代码需要生成dll,无法在运行时替换掉dll,这点没有Lua灵活。

  • 相关阅读:
    Nginx 均衡负载
    今天不知道写啥
    ios 多线程管理中的关键点
    iOS 开发中 想对于方便的MBProgressHUD
    UitableView 中原创动态高度计算
    iOS 开发中常见的错误日志处理
    设计模式之二-Proxy模式
    设计模式之一-Stratrgy模式
    core dumped问题查找以及使用gdb、QT下gdbserver使用
    ssh、scp的使用,以及shell脚本解决scp需要输入密码的问题
  • 原文地址:https://www.cnblogs.com/zhaoqingqing/p/14847676.html
Copyright © 2020-2023  润新知