转行游戏开发三周年总结–内功修炼以及技术之外的探索

ProLightsfx 2025-7-13 11 7/13

 

零、导语

总算是忙完了一波,接下来一两个月的周六应该不用加班了。终于有充裕的时间,可以好好想一想,写一写了。 说实在的这篇总结断断续续地写了三个月,最近加班期结束了,才得以写完。没办法,人很疲惫的时候总是容易变懒的[狗头]。

前两年的总结详见《从通用后台开发到游戏服务器开发的经历分享》、《转行游戏开发第二年,开始修炼内功》。

这次总结分成游戏开发的总结和自己内功修炼的总结以及技术之外的探索,这三部分。

感觉后台开发核心是安全(容灾、高可用)、可扩展(可复用)、性能,这三点。最近一年专门的性能优化做的比较少,这里就不写了。主要写一写自己做游戏开发时,对于安全和可扩展性的思考。

一、游戏安全

可能也是后知后觉吧,以前推荐系统后台开发的操作主要是就是刷刷刷、点赞、收藏、购买、评论、分享,用户可操作的事情其实不多,所以我们常做的是可用性容灾,做好监控,做好兜底措施。并且努力确保一定的可扩展性以及进行优化性能。

相对来说,但感觉游戏领域,玩家的可操作空间就要大的多。可以造装备、可以打怪、可以造房子、可以赚钱、可以钓鱼等等。那么玩家和服务器的交互也就比互联网后台要多的多。从而游戏开发的安全防范重点会是对于客户端请求参数的检查,并且这样的检查无处不在。

这里举一个自己亲身经历的例子。有一个回购逻辑的参数漏了检查负数(购买和出售都检查了,不知道咋的就漏了回购的参数检查了),有个玩家伪造了客户端协议,此系统回购负数个传奇道具,然后待回购的传奇道具就++了,然后再低价进行真实回购。(这里因为卖给系统都是远低于市场价的,而回购价等于当初的出售价。相当于玩家通过如上漏洞可以远低于市场价获取传奇道具)。

所以在分析功能需求写完总体实现方案的时候,就需要额外加一项来想一想风险点、临界条件。

比如玩家开挂伪造参数,传个负数。比如批量接口,玩家传入海量参数,恰好没有超过rpc包大小,可能导致服务器卡死。游戏玩家非常聪明,永远不要低估他们。

二、游戏业务开发中的可扩展性

就目前累计的经验而言,游戏开发是我遇到过最业务化的开发项目了。很多功能都是独特的功能,真的没法复用或者复用成本很高,甚至很多业务功能刚开始开发就砍掉了,或者刚做完就砍掉了,市场和需求都变化太快,没办法。一般只有在开发量差不多的情况下尽快考虑可扩展性,如果复用成本太高的话,就特事特办了。反而是等第二次出现类似的情况了,再加一层抽象来通用化,会更好一些。毕竟只有一个使用场景的话,常常即使根据经验和预测来考虑可扩展性,等第二个例子出现的时候很可能还是需要改一波来适配。当然,像组队、匹配、任务、评论等常见功能系统还是可以直接一开始就设计的通用一点的,比如各个地方都可能需要组队,比如很多子系统可能需要接入评论系统,比如很多系统可能要使用任务系统作为一些解锁条件。 在游戏开发领域,权衡开发成本与可扩展性的时候,一般情况下,我认为还是开发成本的权重更大一些。

三、内功修炼

还在提升中吧,不断的在实践各种设计原则。现在反而是看到很多不遵守设计原则的代码,会如同强迫症一样的不爽。但在软件研发过程中技术债是不可避免的,这也是客观事实。从这,也是额外总结了一条经验:现有代码觉得看着很违背自己的设计原则,如果自己改的动的话,就跟原作者确认下自己有没有理解错,然后直接改了。自己改不动的话,也没有必要吐槽,没有意义也浪费能量。当然有时候也依然会忍不住吐槽[捂脸],这大概是年轻的代价吧。

四、技术之外的探索

我们一直在率性而为和遵循社会规则之间徘徊。但人总是会越来越完善越来越成熟的。对我来说,一个长期提升自己的办法是进行大量各种书籍的阅读(人物传记、历史、社会学、心理学、法律等),这或许是扩展视野提升认知的最便捷的方式了。

《曾国藩传》的时候,深刻的体会到没有必要一副世人皆醉我独醒的行事风格,过于显露的特立独行反而办不好事,很多事情都得藏着,看上去和大家一样就好。用对方的思维方式和语境与对方相处沟通,或许是最有效的(笔者自己也还在慢慢实践中)。看到曾国藩第一次打败仗就跳河自杀了(然后被救起来了),说实在的挺逗的,后来下一次败仗甚至又跳了一次河但又被救了,原来那样厉害的人早期也是一遇到挫折就容易扛不住的。大家都是逐渐变的更加成熟的。

《三体》三部曲的时候,真的很震撼,不说文明延续,哪怕只是为了留下文明的痕迹,试过未来各种高科技都做不到,最终依然是把字刻在石头上才能保存的更久远,何其悲哀与无可奈何。感觉看前两部就够了,第三部太悲伤了。

《明朝那些事儿》倒是没有太大感触,合适的人做合适的事吧。

读了《乡土中国》之后突然明白了,为什么我的家乡甚至很多其他地方都是只有方言但没有方言对应的地方文字。简而言之是没有必要,方言已经可以满足几乎所有生活和生成中的交流,而文字主要是官方性质的,所以没有产生地方文字的必要。这很有趣,突然明白了以前一个没有去探究的疑惑。

《小镇喧嚣》能看到的是自己很少接触到的乡镇与村委会与百姓的互动结构与共生。算是提升视野了。大概是教我们做人做事把握分寸,努力寻求彼此利益最大化、困境最优解,带着人情世故去做好事情。

最近看的《学习法律》虽然比较零碎,但是把生活和工作中可能遇到的很多法律问题都用挺好的例子讲解了一遍,挺好的。以及解释了“疑罪从无”,破产机制,人贩子为什么不一律判死刑等看上去“不近人情”的法律规定的制定原因。

今年5月开始也是终于开始健身了,每周跑两到三次步。每次大概20分钟跑3公里,跑完挺舒服的。身心健康是一切的根本,不然想干个啥事都干不了。

五、下一个十年

感觉高考结束后的这十年(大学四年工作六年),过的真的特别快,一恍惚已经三十虚岁了。人生是一场修行之旅,且行且珍惜吧。愿明天、明年、下一个十年,大家都会更好!

六、关于

 

本博所有文章均为博主原创,未经许可不得转载。

https://www.prolightsfxjh.com/article/summary_of_game_dev3/

Thank you!

                                                                                                                                             ------from ProLightsfx

如果你对推荐系统、游戏开发、C++优化、程序员内功等感兴趣或者想参与讨论的话,欢迎关注笔者公众号.

转行游戏开发三周年总结--内功修炼以及技术之外的探索

- THE END -

ProLightsfx

7月13日21:27

最后修改:2025年7月13日
0

非特殊说明,本博所有文章均为博主原创,未经许可不得转载。

共有 0 条评论