zoukankan      html  css  js  c++  java
  • 使用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灵活。

  • 相关阅读:
    ACM ICPC 2008–2009 NEERC MSC A, B, C, G, L
    POJ 1088 滑雪 DP
    UVA 11584 最短回文串划分 DP
    POJ 2531 Network Saboteur DFS+剪枝
    UVa 10739 String to Palindrome 字符串dp
    UVa 11151 Longest Palindrome 字符串dp
    UVa 10154 Weights and Measures dp 降维
    UVa 10271 Chopsticks dp
    UVa 10617 Again Palindrome 字符串dp
    UVa 10651 Pebble Solitaire 状态压缩 dp
  • 原文地址:https://www.cnblogs.com/zhaoqingqing/p/14847676.html
Copyright © 2011-2022 走看看