自动化手机游戏(创造与魔法钓鱼加经验游戏自动化开发经验(四))
随着开发的深入,通用rpg类自动化游戏框架以及变现模式也越来越清晰,和普通的外挂开发和脚本开发不同的是,这边还需要涉及一些稍微有点门槛的技术,主要包括:
地图重建与运动控制方面:
1.地图重建,路径规划二个重要算法的精度和稳定性攻克后本以为通用手游自动化工具就要高奏凯歌了。然而事实是第n个“我到河北省来”的节奏,又遇到一个技术大坑就是运动控制,角色往往没法按照自己预设的路线移动!而一点点的偏差都可能导致角色跑到一些无法控制的区域,然后和那些人工智障的外挂类脚本一样,出现各种奇怪的移动或者卡住。一开始想到的肯定还是pid,各种加减速控制这些。但想想这边的具体场景是游戏,客户端只能通过鼠标和键盘间接控制速度和加速度,真正控制速度加速度的则是服务器后台的物理引擎。所以仍然得自研算法,运动控制的算法来来回回修改了3,4个版本,花了1周不到的业余时间,效果优化到像素级精度,并且无视模拟器尺寸。虽然比专业级的各种工业级的曲线加减速要弱很多,但这里够用就行。
基础框架方面:
1.自研的去语言框架的rpc特性几乎不怎么用得到,但对于软件工程的控制和管理却起到巨大作用。虽然代码质量差了点,但效果达到了即可,保证了我用任何开发语言写过的代码都能被复用到以后的工作里。暂时也不打算在这块做更多优化,没有必要搞的和各大厂商自己的rpc框架差不多。自己够用即可。
流程引擎方面:
之前自研的流程引擎在实践中也出了不少毛病,花了不少时间优化子流程解析的逻辑问题。这套东西则是使工作量可以远低于别人一二个数量级,并且一个人就能顶一个开发团队的关键所在。因为自己的case graph编程范式是基于此基础之上才能成立的。最主要的则是里面的东西还是比较有趣的,几乎相当于自己发明了一套编程语言,所以是开发的重中之重。而之所以不借鉴现成的bpmn协议这些,是因为自己创造才更有趣。
图形系统方面:
1.自己积累的cad系统也在不断优化中,虽然支持渲染的硬件加速以及高可扩展性,但业务功能方面缺的比较厉害,这块也只能一点点开发。不过实际情况中发现图形图像的交互式操作的功能需求还挺多,所以颇为有用。而3D方面的功能自从之前处理过6轴测量控制系统后基本也不怎么用得到,暂且继续休眠吧。
算法加速方面:
1.几个重要算法还是需要用硬件或者其他一些手段加速下的,最近在公司被唤醒的cuda开发经验此处也有机会开始工作。毕竟服务的都是游戏里的金主,显卡应该都买得起。不过之前嵌入式的一些经验估计这辈子也没啥希望觉醒了,因为确实对硬件方面的开发不感兴趣。
用户数据管理及网页门户开发方面:
1.考虑到自己服务器的流量有限,为了支持尽可能多的用户,所以得尽量降低PC客户端和服务器的通信,能砍的都砍了。即使是官网页面就只用原生的js和css写,连jquery这种最常用的库都不敢用。我想这应该是市面上大多数开发者所不能接受的。但是现实场景必须只能这样。
用户账号保护的安全方面:
1.软件出现人工智障操作,比如角色卡在一个位置做些不是正常人会做的事。可以通过这边的软件算法以及软件稳定性搞定。这类问题一般一旦出现,虽不像工业场景或医疗场景下直接影响安全,但对用户的账号安全也是比较致命的威胁。因为其他玩家看到了会举报。所以这边的稳定性和算法的效果是重中之重,即使不能为玩家带去正收益,但不能帮他们挖坑,搞的账号被封。
2.一些贪心的用户24小时挂着自动玩或者长时间挂着。就钓鱼这个场景而言,大厂背后的技术团队尤其是数据分析职位的人是可以通过玩家数据量的积累找出规律及蛛丝马迹的。因为以前也接触过这类工程师,并且我自己也是对数据比较敏感类型的人。这块这边虽然没有优化空间去规避。但最近研发出的自动化游戏框架,则可以避免被数据工程师通过玩家数据分析出使用辅助工具的情况。因为用魔法打败魔法的终极方式就是创造出超越所有人认知存在的魔法。
3.至于官方直接扫描用户硬盘,监控用户机器。这块还是使用进程伪装或者隐蔽技术处理。一般不太可能出现这种情况。
变现方面,关于白嫖软件的羊毛党的应对,这边主要从以下方向入手:
1.设计软件提供服务的权限机制,登录机制去限制此类玩家的行为。
2.设计付费机制,奖励机制以及服务模式去尽可能实现变现。
自身代码保护方面:
1.虽然技术稍微有点门槛,但也不排除以后被破解的可能。所以加密方案也在酝酿中。
各种bug方面:
1.万恶的坑还有各种bug,这种bug包括:软件自身bug,模拟器bug,和游戏本身的bug。其中最不好处理的当属游戏本身的bug,需要研究一些特定的流程手段去解决。而模拟器本身的bug,让用户换个模拟器或者换个版本的就差不多了。。
从目前的开发进展来看,离自己的第一个小目标,打造一个游戏里的一人纯AI工会还差不少。之后有一些新的坑和感想再回来记录。