内托体头 发表于 2021-2-11 15:11

2020的年度总结

大年三十坐上了回家的高铁,是时候整理一下这一整年了,也没什么提纲,也没整理过思绪,想到哪里就写到哪里那种。
又是跟Unreal较劲的一年

新公司,新团队,新项目,熟悉又不熟悉的unreal开发节奏。
Unity和Unreal到底哪个引擎好用?这大概是能听到最多的讨论了吧,身边有cocos转来的,有Unity转来的,每个人对待过去的开发环境都像前女友一样,诸多抱怨,又有诸多不舍。
如何为一个新项目选择合适的基础框架
为一个新项目去选择各种各样的技术选型,犯错和考虑不当是在所难免的。
Gameplay、配置、界面制作、网络通信、模块封装和解耦,太多需要考虑的细节了。
个人倾向是不要想着在初期做太多封装,毕竟人员配置,开发节奏,游戏设计,都不可能在项目最初期就完全明确,过度的封装只会导致开发中出现各种功能实现和框架设计不符,而且还会在前期牺牲快速迭代游戏玩法的时间。
好的基础框架终究是在一段时间的开发和人员磨合中提炼出来的,不需要怕犯错,把基础框架试错当作游戏开发中固定环节就好。
下面随便举几个想得起来的例子吧。
用什么样的配置方式
Unreal有DataTable,DataAsset等自由的配置方式,但是一旦到了真正的项目开发环境,使用上却没那么方便。而且Struct大量写在C++代码中,热更表结构也是一个很大的问题。
更多的人还是习惯用Excel去配表,转CSV或者转二进制文件来读取使用,但是和Unreal自有的一套配置体系又没那么兼容。


我们在选择配置方式的时候关注的到底是什么?
我们需要有快速配置的能力,有快速上手的工具使用,比如Excel,基本上能招来的人都会使用,相比xml这种(xmlspy也不是很方便)就友好的多。
需要保持服务器客户端的一致性,服务器和客户端读取同一份配置太重要了,否则协同开发甚至版本发布都可能会出现偏差。
便于版本管理的比对,Excel是可以支持版本比对的,当然最方便的还是文本文件啦。


各种各样的配置方式都有优劣,不一一列举,直接说我们的选择。
在一些系统模块,比如装备道具和一些数值成长上,我们用Excel做配置,转Sqlite存储。战斗相关,需要大量引用到蓝图的配置依然采用DataTable。
此处感谢 @大钊 提供的思路。Sqlite储存的.db文件对于服务器的同学来说再熟悉不过,Unreal也很好地支持了Sqlite的读取,甚至我们可以用联表查找,用视图来处理掉很多原来要编写代码来实现的功能。
策划用Excel配置好后,直接用工具导成Sqlite文件,服务器客户端用同一份文件,完美解决一致性问题。
版本管理上策划也只需要关注Excel的修改部分,导出即可。
Sqlite作为资源文件完全支持热更需求。我们将Sql查询全都写在lua中,即使表结构改动,只需要修改lua的读取方式就可以保证不会影响到C++代码的数据获取。
当然,由于我们用DS作为服务器,所以战斗相关的很多配置依然使用了DataTable的方式,毕竟Excel也没法去做编辑蓝图引用这样的操作。


什么是合适的技能配置方式
首先我们使用了GAS的Gameplay框架,所以自己写个技能编辑器和技能框架的事情就不做考虑了。
为了方便策划在游戏中的配置,CustomDetail的编辑器开发还是少不了的,毕竟每个技能都衍生出一堆蓝图文件太可怕了。
GAS其实是一套非常高自由度的Gameplay框架,通过一套Tag,完全可以达到能想到的几乎所有效果。但是配置起来太搞脑子了,攻击、受击、大量的状态间转换,让纯粹的Tag配置成了噩梦。
我们选择从最高自由度开始进入配置,当某个模块复杂度高到一定程度的时候,给程序封装。还是得既保证快速迭代和自由度,兼顾配置复杂度和人性化处理。


团队管理上的一点心得

跟人打交道,当一个指挥棒,去了解每一个人的性格、工作习惯,变通的安排每个人的工作内容,解决合作开发中大大小小的矛盾,真是一个有趣又磨人的环节。
招聘
新团队的第一关大概就是招聘了,虽然以前也做过不少面试,但是今年的面试真是分外多。
除了基本的学习能力,解决问题能力,这一年的招聘让我更加倾向于关注应聘人与人沟通能力,对游戏行业的热情。
解决问题能力可以慢慢学习,但是沟通和热情真的太重要了。
有几个面试,对方表现出了很强的专业技能,算法数据接口和一些框架都如数家珍,但是履历告诉我这个人以往的工作经历很有问题,变动频率高,接触重要开发任务的机会少。
理论上这么强的能力能解决问题应该没问题,然而实际上,毕竟你写的任何代码都是会被别人读到,被别人修改的。如果无法和其他人沟通,自顾自地写,自顾自的去追求极致,很容易走歪,毕竟做项目不是写OJ,清晰易懂比极致效率更重要(不要抬杠,这里只是说大多数情况下)。
热情则比沟通更加重要,每个面试我都会问对方,玩游戏么?
其实35岁危机不是年龄到了,而是心态老了。游戏这个行业真的是需要热爱的,做好T型人才,做一个游戏开发者,而不是一个程序/美术,在工作上的表现真的差很多。


好了火车到站了,就总结到这里吧。
以上

伊索谗言 发表于 2021-2-11 15:16

伍德聚聚新年快乐![种草]

因醉鞭名马幌 发表于 2021-2-11 15:21

新春快乐!

宇宙无限 发表于 2021-2-11 15:24

快乐快乐
页: [1]
查看完整版本: 2020的年度总结