大家好,欢迎来到IT知识分享网。
欢迎和我一起学习讨论游戏脚本的写作过程
你好呀! 这是你第一次来到我的主页。如果你想学习如何使用按键精灵等工具创作游戏脚本, 可以仔细阅读这篇文章,有任何建议和意见欢迎留言或私信,并注明来意
游戏玩法简介
可以说是我们90后中学的难忘回忆了,q版画风,拜师学艺。言归正传,简要概括一下行脚商核心玩法
(1)和主城npc对话,传送进入副本
(2)通过方向键和跳跃键控制人物移动直到到达正确的出口,一共有6个出口,进入错误的出口会把你传送到副本起点,但是若进入了正确的出口,会把你传送到一个新的地图,可以移动到一个新的npc旁边(这个配图是qq三国里另外一个玩法类似于华容道,看其他博主的攻略大概可以通过找图把它初始化成数字0-24,会有两种情况能排序和不能排序,不能就返回-1,能就通过最短路径算法不断交换空白块的位置记为0,不过我还没代码实现过,放在这里给读者思考,后续关注我博客或者去其他博主哪里找找看,好像是二维数组)
(3)答题。无论答题正确与否后续对话完成后都会把你传送回主城,但是正确了的话可以免除5分钟的惩罚时间,如果在游戏玩法时间内的话可以继续下一轮副本。
备注:玩法开放时间是每天10:00-22:00。每天只有前十次参与有收益。
脚本写作思路
先搞出一个version1.0再思虑后续的优化。因此一些复杂的对我们的脚本执行可能有影响的因素都通过初始化工作固定下来。中间核心玩法的移动过程因为地图是不变的,包括和npc的对话过程,基本上基于录制都可以解决。那么剩下的出口正确与否的判断,可以通过一个相对单调区域找色之后的十六进制颜色码。或者干脆模糊取色。这样基本的1.0版本就可以写出来了。
(上图为错误出口后返回副本初始位置)
(上图为进入正确出口后到达新的地图,通过移动到npc旁对话进入答题过程)
知易行难
初始化工作中忽略了人民币玩家鞋子和翅膀影响移动速度。包括初始化工作中窗口固定位置的不准确。
后续痛点和优化
(1)不同屏幕分辨率和窗口大小—-
(2)需要玩家手动初始化的工作太多,例如
脱掉鞋子和翅膀—-需要加个检验,否则脚本将不能正确完成任务且无提示。
手动固定窗口大小并调整位置到左上角—位置不准确可能影响取色这个可以通过shell完成
手工移动到初始npc处都大概需要耗时几十秒—-加入ai自动寻路应该可以解决,好在是2D难度不大。
(3)答题目前采用的是固定选项答题,导致每次有四分之三概率要等五分钟。想优化的话可以通过按键精灵的找图和图像识别转换成文字,把它放到下载到本地的题库关键字搜索,来智能答题。
(4)玩法时间之外没优化,凌晨之后可能还会左右横跳,第二天10:00之后不会自动开始任务。—可以通过python启动定时任务,不过反正现在十次以上没收益,没太大影响。
(5)目前因为是基于最上层窗口的,因此一台机器同时只能跑一个脚本。想优化的话应该可以抓取窗口句柄,对应操作语句需要改写成后台句柄。
(6)网络时延对脚本造成影响—-这个是真的没办法。只能说我的解决方案是人工发现脚本处于异常之后终止脚本,手工退出到npc处重新启动脚本。
自我介绍
自己现在岗位是非功能测试。运用selenium+python工具,定位页面元素后根据其类型进行对应的业务操作来模拟人工操作过程。主要应用在web界面功能测试用例的
回归测试上。喜欢游戏脚本和从事非功能测试工作的朋友欢迎添加QQ:1965479364进一步交流。
后记
混迹至此,感慨万千。真没想到写游戏脚本立能在工作中用上。目前自己简单的思考如下
(1)是web页面但是内嵌在app里,无法直接定位到页面元素—-类比按键精灵里的区域找图,例如需要输入用户名的地方根据用户名图块搜索再移动相对位置输入,python好像有第三方库支持。
(2)很多业务的初始数据不是现成的,来自于很多80+个不同的项目组,且文件类型不一,—-经了解,这些都是用作凭据。因此,可以根据这些文件生成md5value。再根据其量级选择是通过jason还是excel方式处理。
(3)业务流程还不稳定,担心业务调整导致后续脚本维护的工作量太大。—–这个没办法,自动化最大的敌人就是需求的变更。个人建议只能是抽离出核心流程先开展自动化工作。待版本稳定之后再丰富待测流程。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/26597.html