Unity+kbengine制作上架Steam探索一条独立网游的极限求生之路

**

Unity+kbengine制作上架Steam探索一条独立网游的极限求生之路

Unity+kbengine制作上架Steam探索一条独立网游的极限求生之路_第1张图片

Unity+kbengine制作上架Steam探索一条独立网游的极限求生之路
Unity+kbengine制作上架Steam探索一条独立网游的极限求生之路_第2张图片

大家好!在写这篇长文时,我制作的游戏已经在Steam上发布了,免费性质的游戏,我用工作之余耗时一年做的探索性开发最后在2021年2月11日农历大年三十这天在Steam发布.游戏内没有内购,也没有充值渠道.只是单纯的想完成这样一次尝试.

那么它叫什么名字?它叫极限求生,我把它定义为探索性作品,为何?因为它没有商业属性,它的作用更像是一个成语“抛砖引玉”!我的目的并不在游戏本身好不好玩,所以我不大在乎差评,我的目的更远一些.

现今国内的环境对个人开发者来说是举步维艰的,单机游戏、休闲游戏的开发者虽然可以各种“不公开”手段上架,但什么时候个人可以名正言顺的拿到牌照开发网络游戏,这就是我写这篇文章的目的.

我希望往池里扔一块石头,先泛起点点波纹,让波纹所到之处,激活它们的梦,即便我石沉大海,也至少发出了声音.

Unity+kbengine制作上架Steam探索一条独立网游的极限求生之路_第3张图片

上面的话,我做了一些隐喻但不方便展开来说,本文只想起到一块砖的作用,希望把一块块玉引出来,让世界看到现在中国做游戏的青年都有着自己的梦想,有创造力,不仅仅只是打工人!

回到正文,首先,阅读到这篇文章的网友如果职业是IT开发、设计相关的,那么我可以肯定的答复你,只要你有创意,从你下定决心做一款独立游戏到最终发售,只需要付出时间就行,质量和时间成正比,有用的合伙人可以大大减少你的工作量和开发周期,钱并不是决定性的因素,实践证明,钱只是有钱人实现梦想最快的途径,然而,我们做独立游戏,不正是因为大部分都没钱吗?但大部分有钱的“老板”都比较浮躁,他们希望你开发越快越好,所以,当你没有老板的紧箍咒,就随心所欲了.

如果你不是IT人,那么你读到这篇文章,也可以了解做独立游戏开发要经历什么,现在及未来面临什么问题!


Unity+kbengine制作上架Steam探索一条独立网游的极限求生之路_第4张图片

我开发的这款游戏整个策划文档并不多,初期有个灵感笔记,但绝大多数都来自开发中临时产生,想到了,就写上去,其实开发过程中,大部分都做了修改,然而当你一个人要同时做主程、后端、模型、UI等杂七杂八的工序时,文案性质的东西,就可以忽略了,很多时候,重构与改造就是一念之间,也不需要和别人讨论需求,因为你就是主宰,这个过程是先苦后爽的,当你一开始没做对,后面修改出了新的玩法,结果内心是暗爽的.


先来说说客户端的开发,这款游戏是Unity 2020 HDRP的工程,我最早使用Unity是2017年,在接触到unity之前,我是一名开发应用软件的程序员,各个平台的客户端语言都写过,直到2017年时,我开始自学Unity并且开始陆续接触到HDRP工程,没记错的话Unity2017往前是数字版本,2017开始unity才有了“年号”,称霸的野心昭然若揭,尤其在手游端.打住!停止对Unity的恭维,回到正题,HDRP工程和“标准”工程之间有什么区别?技术上的内容网上一搜一大篇,我想表达的不是这些内容,我真正想说的是一个独立开发者对工作量的把控一定要做好,前期的架构非常重要,我本来是依然采用”标准“工程开发的,因为从17年至今,我不管是从assetstore、第三方渠道、还是自己的代码积累,都有一大堆与之版本和环境匹配的Package,如果我采用标准工程,整个业余开发周期可以从一年缩短到半年或者更少,工作量为何会少这么多?正式因为之前积累的诸多“标准包”在HDRP工程中需要重构或者更新甚至不支持,举个例子HDRP材质的贴图重制工作,你需要将很多非HDRP模型的贴图重新合成HDRP支持的贴图,对于本来就架构的超大场景的PC平台来说,简直就是手工转换工作的噩梦,但我依然挺过来了,可以说近似于车间式的工序了,其他关于特效的shader、光照之类的细节就不一一举例了,简而言之,我想尽可能的达到我心目中的“发售标准”,所以坚持渡劫,最后还是完成了,当然因此也积累了HDRP的一些开发经验,如果你有充裕的个人工作时间,那渡劫的价值是大于速成的,我的开发时间比较充裕,周末和晚上都可以做,生活压力也没那么大,所以我选择了前者,如果你手上已经有一份比较匆忙的全职工作,私下时间还要找对象、约会、看电影之类的事,那么我建议你在经验不太丰富的时候选择后者,从相关技术案例更多的“标准”工程开始你的独立游戏项目,这样基本上你能想到的功能和代码,都能搜到,可以大大的缩短你的产出周期,有利于你的创作热情的维持,做游戏,如果没有热情就等于没有创造力,没有创造力还做啥游戏?


Unity+kbengine制作上架Steam探索一条独立网游的极限求生之路_第5张图片

上文用客户端来讲到工作量的把控,其实对于后端、美术、UI等各个游戏工业流程都一样,我个人形成的独立开发经验就是不管任何工序、都从模仿开始、到局部改造、全部改造、最后才是新建,你是不可能把一个由一百人团队完成的工作让你一个人完成的,就像罗马不是一天建成的,但是,我可以借鉴修建罗马的经验吧,举个例子,极限求生的人物设计,我没有采用原画到建模的流程,我使用DAZ和icloneCC来做基模设计,用FaceGen来设计脸部基模和贴图,将自定义的脸型和DAZ标准人物合成,然后使用maya重新蒙皮、substance来重新制作贴图,最后再导入Unity中检视奔跑动画,期间反复合并顶点、减面、修改部件、复制蒙皮直到在unity里正常动画就视为工序完成,这样我就可以按照这种模式,完成一个个人物的设计,举一反三,装备、建筑也同理,只要你的模型和参照物不一致,外观贴图也不一致,那么你就构不成“copy”,总不能只有罗马才可以有欧式建筑,你只要学到了方法就行,现在大部分小厂不就是有一大堆基模吗?能改的就改,实在不能改的奇怪物体才想办法,如果你的创意正好契合参照物,那作为独立游戏开发来说,你只有毫不犹豫的模仿、改造,否则光是人物的头发制作就会pass掉一大堆刚有热情的人,我就坦率的说,我的人物头发基本上都是直接嫁接的daz发型,只是进行了顶点、面的优化,如果事事巨细,那么写这篇文章可能还要等上几年.


Unity+kbengine制作上架Steam探索一条独立网游的极限求生之路_第6张图片

关于前端的部分先讲到这里,如果你的目标是”独立单机游戏”,那么以上心得就已经够了,但是我的目标是“独立网游”,顾名思义,就是多了服务器运维与后端开发的工序,这需要有一定基础的程序员从业经验,如果你的职业是一名画师、建模师、UI,我个人觉得你的创造力应该用在单机游戏上,用好Unity就足够了,因为后端的逻辑编码业务不仅需要严谨还会让你初期感到bug层出不穷,一个小小的接口和字段的bug可能会让你崩溃,并且每次测试都需要启动服务联调,就测试工作量而言就是纯单机游戏的两到三倍,但是当你经验越丰富的时候,你会发现所有的计算机语言都是象形文字而已,三个小时学会一门语言对于一个老程序员来说并非难事,所以好钢要用在刀刃上,因为我是程序员出身,所以我可以兼顾两者而侧重程序,后面再慢慢优化美术,如果你是美术出身,那你应该果断把精力用在出色的美术上,不要为如何优化sql、接口、数据库设计、负载均衡、云服务、代理等浪费你宝贵的热情。


Unity+kbengine制作上架Steam探索一条独立网游的极限求生之路_第7张图片
Unity+kbengine制作上架Steam探索一条独立网游的极限求生之路_第8张图片

那么在独立网游的开发过程中,如何高效、稳定的完成服务业务才是重中之重,不要纠结于选择哪个框架更牛、哪个语言性能更佳,一切从快、准、狠出发,马上就能上手编码是第一要素、准确的击中你的功能需求其次、不懂的部分对自己狠一点去学,这样我在诸多后端引擎中就选择了kbengine,这里没有广告的嫌疑,因为我本身长期使用的开发语言就是Python,我的个站就是用Django搭的,当然像c类型的其他语言我也会使用,所以我了解到kbengine时,便进行了初期的demo调研,发现的通信速率、安全性、和逻辑业务、部署都非常适合小团体、个人使用,完美的契合独立网游的后端解决方案,如果你的c++功底扎实,你还也可以站在小巨人肩膀上从底层改造出一个你的kbengine,更何况这个引擎还有个友好的社区,初期一些疑惑在社区论坛和github上都能得到解答.那么这个框架就满足了基本的可应用的条件,可不可达到商用则正是我本次探索性的尝试,事实说明,技术上是可行的.另外游戏中涉及到的诸如头像图片上传、短信验证等业务我都交给第三方云服务来“替我工作”,相当于借助他们的带宽、存储空间来减少我游戏业务服务器的压力,我主要接入了阿里云做短信、七牛云做头像,我只需要在python和c#上分别接入sdk完成编码业务对接就行,经过一段时间的生产服务验证,这样的结合是可行的,但是你要多花些时间写代码做好短信防刷防重加密与图片本地缓存hash比对等必须的逻辑保障业务,最大程度的把第三方业务的成本降低,这样基本上到目前为止一直都是免费使用着两者优质的资源,为我解决了比较大的文件与带宽成本之间的需求。



综上所诉,一个独立网游的前后端部分工作就完成了,但是要满足“发售条件”的游戏来说还不够,游戏的平面及宣发非常重要,那么在这一块你要面对的是开始学会并且慢慢的熟练进行平面设计、视频设计、平面设计的经验还可以提升你的游戏UI经验,所以这是最后一道必须经历的“渡劫”,我还是依然采用上面提到的模式,先模仿再创造,你可以上各种视频网站学一些基本教程,针对性的学Photoshop、Ai、Sketch、AE,不必每个软件都从入门到入土,我的经验就是选择某站上最热门的视频,以两到三倍速快速看,边看边照着做案例,长期废话或者不看就懂的部分直接拉过,这样基本上不到一周你就把这些软件的入门教程看完了,当然入门与否还得用作品来检验,这个时候你的游戏就是你最好的实验产物,同样是模仿到创造的流程,你不能在最后一个部分花大量时间去设计logo、设计原型图、再手绘、上色、切片等,那你游戏前后端开发用了1年,在宣发平面上就去了大半年,这样是不行的,我对平面设计这一块总体都是控制在不超过两个月之内,最快的办法就是从unity商店里买一套比较契合logo风格的UI,一定要有PSD源文件的资源,然后在PS里进行布局、配色、线条、滤镜、甚至用印章工具、智能填充等这些功能来修改它,这种方法可以非常快速的做出一套游戏UI且和原版有一定的区别,我这款游戏就是采用这种方法制作的UI,动效部分使用的AE的特效模版编辑导出序列帧制作的,这样一个月左右,极限求生整套UI+Logo+动效的设计就完成了,剩下就是录制一些游戏视频、和截图了,到了这个阶段,你的角色就要转变为玩家而不是开发者了,你要从玩家的角度出发,拍的视频和截图如何第一眼就抓住玩家的眼球形成永远的潜意识,就是衡量你制作的这些视频、图片成功与否,不好意思,理论我也会讲,目前我发的某音、某博、的图片文章等都没用,也许是我制作的视频还不行,也许是没钱推,总之发一些游戏的相关视频、图片是必须的,李子柒也不是第一个视频就成了网红,你要做的就是不停的发新内容,量变到质变是一个过程.只要你有新的内容.


Unity+kbengine制作上架Steam探索一条独立网游的极限求生之路_第9张图片

最后我想感谢这个时代,有adobe全家桶、unity、kbengine等许许多多的富有创造力的软件、程序框架可以供你使用、还有一些大厂提供云服务给你支持,它们的存在能满足你的想法,做你想做的事情,这不正是你进入社会对工作最初的看法吗?做游戏、玩游戏就是我想做的事,我也是业余的开发者,有一份在职的程序员工作,干了八年多了,能平衡好工作与业余创作就能去做你想做的事,我偶尔还会打dota2、csgo来度过无聊的时光,但是我写这篇文章的终极意义其实是希望个人的声音,变成群体的声音,我们有许许多多优秀的开发者,它们做的游戏能拿到牌吗?个人什么时候才能名正言顺的做游戏呢?总有人把游戏看成精神“鸦片”,每年都在“控制”,深怕游戏荼毒我们的花朵,那资本为什么不针对不同年轻层开发不同入手层度的游戏呢?我想开发的游戏从一开始就根本不想未成年人来玩,因为他们的确缺乏自制力,资本为了市场才不会分级,他们赚的盆钵饱满,分级才是对花朵们最好的保护,也同时给成年人提升一些“精神见识”,我很难体会到一个moba手游里一个三十多岁的打工人和一个没写完作业的小学生在一起玩有啥乐趣,喜欢小朋友不如多花时间陪陪自己的孩子,玩游戏就“光明正大的”玩成年人的游戏!


我希望未来,我做游戏不用偷偷往steam上发,提交安卓、苹果市场的时候不会因为没资格办版号而放弃,我身边的朋友都说手游才能赚钱、才有市场,我难道不知道吗?而且做手游我还可以缩短很多开发周期,打造一些小而精的独立游戏,但是一想到前前后后要办好多证,好多都只能以公司名义办,就算了,但是路总会有的,人走的多了,就成了路,当咱们国家做独立游戏的人越来越多了,说不定有关部门会给咱们办理的资格呢?我指的不是休闲游戏,是独立网游,对,是由个人或者小团体运营的网络游戏,这就是我的想法,游戏可以审核、分级,你可以驳回,让我去修改,但如果连送审的机会都没有,那岂不是最老的“治洪之道”,大禹治水不就是因为引流而不是堵流而成为流传千古的佳话吗?我的梦想就是有一天,我可以做一些小的独立网游通过审核,拿到牌照,正经的往国内市场上放,不用在为了要做游戏而抛弃国内市场,我老妈快退休了,他总是对我说,“你做的游戏啊,什么时候才能在手机上玩到啊!你往国外发,有啥子意思嘛!亲戚朋友都不知道你在做这个,还以为你闹着玩的.我也想给他们看看这是我儿子做的”,我也无奈,总对他说,以后吧!以后有机会的.

头号玩家里老头阿诺克是我梦想里最想成为的人,但我觉得可能很难,普通中国人的人生有三大难题,结婚、生子、中年危机,度过这些还有“不可抗拒力”,但愿能活到那一天,游戏不再被视为“毒物”,青少年和成年人有各自的游戏环境,做游戏的人可以“大庇天下寒士俱欢颜”,我也能做一个“绿洲”,即便没多少人知道,当我的肉体生命衰竭后,思想还可以保存在绿洲里,继续的活下去!

Email:[email protected]

你可能感兴趣的:(陈世杰的独立游戏开发,unity,unity3d,游戏开发)