lua 与游戏测试 (一)

很久没写了。转自 testerhome lua 与游戏测试 (一)

lua脚本与游戏测试(一)

##lua游戏产业历史 (也可以叫解释型语言)
lua 在国外被广泛成熟使用后,起源 1993 年巴西歪果仁喊出来哒,至今是开源免费。暴雪神作 WOW 在国内疯狂到持续到现在,其中大量运用了 lua(后面介绍)。lua 脚本语言慢慢让普通用户也熟悉了,后面国人 mmorpg 大作例如《剑侠情缘3ol》也涵盖 lua 这门语言的身影,至今作品涵盖用lua已经是不计其数。

游戏项目开发从网易开始,对 lua 这个轻量的脚本语言使用越来越广,本人也是受云风影响慢慢从看他的博客,到自己学习写和了解结构,不过主要还是运用于读脚本和测试。

ps: 还有很多脚本语言可以用于游戏开发,优点是可以集中底层,并且编译和集成后十分小巧,脚本语言一直是备选方案。但 lua 有1个优点,lua一直不是只基于API级别的,还在于项目中扩展功能。

谈谈 WOW 里 lua 到底做了哪些东西

玩家看的到得

  1. GUI 界面开发和编译 —— 你懂的,玩 WOW 的大部分人都用过插件吧
  2. 定义,存储和管理基础游戏数据(你也懂的,也导致了很多bug,这个后话)
  3. 游戏的人工智能( boss 技能施展条件= =,宏)
  4. 管理实时的游戏事件(点击c,打开人物界面,任务等,不过单机游戏= =特别多啊,这个也是废话)
  5. 创建游戏存储和载入系统(这个是废话,一定有)

看不到的

  1. 性能环节,支持程序底层语言来实现。
  2. 很小的数据和命令封成chunk,可以随时调用。
  3. lua 变量默认全局(局部问题,可以后期用静态走查工具检查 很方便的)
  4. 兼容 C 语言系统,系统要求很低(32mb RAM )
  5. lua 可以处理图像问题

来谈谈客户端抛错

测试人员先需要检查这个,客户端抛错,级别定义是 B。重要问题,在每个阶段都属于阻断性的问题。
在游戏测试时,还有些公司打成编译好的包给测试在手机上跑,同时不用 assert 这个函数就是坑。

游戏测试一定要有 pc bulid 版本,这里 assert 函数处理函数一样的编译 lua 的 chunk,立即执行。

  1. assert (v [, message])

    函数1相当于C的断言,不满足v的条件message就会打印出来,打断程序在内网如果点击继续可以恢复的,在外网就不会卡住。assert (A,[, message]) 如果A正常,程序继续运行,A 异常就打印 message。这个需要大家在开发的代码里自己看吧。

    Cocos2d: [LUA ERROR] ASSERT FAILED ON LUA EXECUTE:不过后台里如果出现这个,其实也影响不大,要看具体情况

  2. error (message [, level])

    也是1个处理错误的。

    • Level=1[默认]:为调用error位置(文件+行号)
    • Level=2:指出哪个调用error的函数的函数
    • Level=0:不添加错误位置信息

    一般情况下是 2 个结合在一起,这里可惜没有内网开发环境抛错的图,不过这个大家应该看的懂吧。
    这里依次对应的行就是代表什么意思,测试读这个抛错信息知道是哪个代码块出现问题是最基础的。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值