游戏客户端的自我修养

感想

  1. 客户端在写界面的时候,一定要考虑一个问题,即使服务器端没有数据发过来的情况下,界面不能崩或者报错。这样就相当于给服务器背锅,所以做好这一点很重要。
  2. 最近背包系统一直在改动,宠物背包原本是场景里的一个箱子,策划要求改到人物身上,成为人物身上的一个背包。最直观最本质的做法就是让服务器那边把宠物背包加到人物身上。但是服务器说这样调整起来服务器代码超级麻烦,涉及到很多模块。于是,我妥协了,客户端这边我就特殊处理,每次打开背包的时候,我就发起一个打开箱子的请求,然后开启宠物背包。走的是原来宠物背包的逻辑,其实这还是场景里的一个箱子,只是表现上变了。其实当时妥协的时候就知道以后可能会出问题,因为根本原因就是:在策划的眼里宠物背包已经在人身上了,所以他们在考虑问题或者提需求的时候会基于此,但是在程序实现上它还是场景的一个箱子,从而导致策划的逻辑和程序逻辑不匹配。后来果然发现了bug,比如玩家的基础背包满了,宠物背包没满,但是地上的东西就是捡不起来。这问题的原因就是宠物背包的物品进入逻辑不是这样的。跟服务器那边又商量,得到的还是一个很取巧的办法,把宠物背包当做基础背包的一个扩充,用一个字段来区分。对于这种方案我很服了。后来找主程商量,考虑到时间成本,就让客户端这边做一个数据和逻辑的分离,来适应服务器的这种取巧的方案。对于这种结果,我内心是抗拒的,因为我明白,这种解决方案依然还是没有从根本上解决问题。这种修bug的样子,像极了网上流传的那张水管工修水龙头的gif,哪里漏水就修哪,但是没有着眼大局和根本问题。最后的结果很可能是这条水管越修越漏水,最后爆掉。算了,这次我再妥协一次吧。在这吐槽一下,不然我心里难过。

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦