Lua脚本与游戏测试(一)

发表于:2016-3-18 13:40

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:jiazurongyu    来源:51Testing软件测试网采编

  ##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 个结合在一起,这里可惜没有内网开发环境抛错的图,不过这个大家应该看的懂吧。
  这里依次对应的行就是代表什么意思,测试读这个抛错信息知道是哪个代码块出现问题是最基础的。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号