VUP方面:
照旧,玩游戏,学习,上视频,以及更新立绘和L2D模型制作(目前正在拆分,准备绑骨)。
游戏方面:
(资料图片)
说下之前的进展,由于12月发烧躺了一个月修养身体,而且我还需要学习其他知识,因此游戏开发没多大进展。
不依赖godot官方出IK系统,我自己已经实现了这个手臂屈伸功能。LOOK。
原本以为CC那个手臂弯曲是IK系统,结果仔细研究后发现并不是,只是一个距离感应屈伸系统。实现起来要容易的多,这样横版射击游戏完成了一部分。接下来应该是物品和投掷系统吧。
godot的粒子系统据说有碰撞了,在4.0,但是我没找到具体的实现方法。
现在还是继续在建模,调骨骼,做动画,导出渲染成2D序列帧的重复过程。
加入了小霸王龙,鳄鱼等看起来非常霸气(牙齿锋利)的游戏敌人。
做游戏需要弄很多很多的怪,工作量不是一般的大,别说工作室,人家有专门的美工团队,我是单干。
游戏引擎方面:
目前使用的引擎是godot和unity,它们都是方便的现成的开箱即用的工具,我已经把语言都换成了C#,为了让游戏代码方便于在两个引擎之间移植。
但是由于我不喜欢godot和unity这种容易被提取资源的引擎,在发布之前我必须把代码进行复杂的混淆然后把自己的代码进行时间固定,因此我打算在未来打造自己的引擎,用C语言或者其他语言来写。弄成编译型的游戏就好许多了。
渲染引擎:
我曾经有三个月的时间都在纠结学习opengl好还是DX11,DX12,Metal,Vulkan好。后来结合自己的实际情况考虑,我选择了DX12。
下面说说自己的理由:
OpenGL,比较适合入门,也是最简单最高级(编程用语,指层级高,越底层越接近汇编和二进制机器码)的API,同时它跨平台,但是毕竟太老了,而且IOS和Mac那边也开始不支持opengl了,可见在未来它的情况会比较糟糕,除非有大的更新,但是去官网看了下,发现不太乐观,因此不纳入考虑,国产手游大多用OpenGL ES3.0。
Dx11,也是比较老的API诞生于09年,但是非常稳定,支持老机器,许多引擎也是默认支持这个的,比如unity和ue4,Unity一打开就是DX11哈哈。但是支持多线程貌似没那么好。
而且它和DX12是有一些语法上的差异的,为了避免将来更换的麻烦就不选择了(如果没有出12的话,我可能会选它)。厂商用它做出很多优秀的游戏,现在也很不错。
Metal,ios和macos专用,它比较好学,比opengl层级低一些,但是比vulkan层级高,目前没有打算移植到ios所以这个pass,因为时间不够,第二个就是成为ios开发者门槛较高,
需要信用卡而且需要每年99刀的成本。以后有需要,资金多了再考虑。再学一下metal就好了,就当是打补丁,说不定到时候会有兼容层(指DX12可以直接转换成metal)呢?
毕竟游戏引擎也不只有渲染引擎,听说渲染引擎只占一个游戏的5%左右。
Vulkan,16年出的,目前最被看好的API,但是这些年来貌似不怎么huo,大家选择的依然是DX,至于为什么下面再说,vulkan是底层的开源跨平台API,好像前身是AMD的火山灰,有很强的多线程能力,
这个和OGL就是相反的了,OGL是比较高级代码量很少,但是多线程的运行效率不佳,而vulkan则是比较底层,运行效率高,但是代码量超多,如果说dx11是400-500行代码画一个三角形,那么OGL就是170行左右(其实渲染相关的核心部分才50+行),vulkan则是890行代码。而且每一个函数都几乎要写几十行,设置一个管线要上百行代码。新添加一个功能也要很多代码(OMG)。
godot4.0就是用的VK,还有一点就是我发现如果vulkan出bug,有概率会造成操作系统死机,直接放弃,不是说VK不好,也不是说DX12就一定不会导致系统崩溃,而是我技术不行无法驾驭这只烈马。有请哪位高手上马一试!
Dx12,14年出的,综合来看最适合我的API,因为代码量比dx11还少,才300多行就能画一个三角形,也就是一些概念有点不好懂,设置交换链啊管线什么的,真的比vulkan简单很多。
也许有些小伙伴会说,DX12在某些测试下成绩并不好啊。优化和改进是需要时间的,DX12经过多年的不断的优化后相信它的性能和稳定性也会像DX11那样猛如牛。
DX12也跨平台,不过是跨自己的平台,比如MS手机,MS的XBOX,平板,WIN10等,之前听说不支持WIN7,但是貌似WIN7也能安装这个,所以我不会特别担心它的兼容性。实在不行还可以双系统啊,反正有的是办法。
dx12跨平台能力不如ogl和vk强,但是人家稳定性好,MS对原生API的支持应该会好过别人的。linux和mac嘛,我去steam看过调查记录,上面显示的是win系统玩家占了95%以上而linux和其他系统只有剩下5%左右,所以为这两个系统特别弄一个版本意义不大(毕竟mac笔记本电脑不是拿来玩游戏的,这个就连海外论坛的人都承认的),更何况linux现在不是有wine吗(还有其他的接口)?直接兼容DX就行了。而且我以前用DX9开发过一个GALGAME引擎(虽然没完成),但是也算是有点基础和怀旧的感情吧,哈哈。
另外选择DX12也就意味着和主流的手游无缘,毕竟我不像某些手游大厂,我没有那么多精力和成本去投资手游开发(做手游是需要很多钱D)。因此安卓和IOS平台我都不优先纳入考虑的。
物理引擎:
我选择的是bullet,因为Bullet是一个开源的物理模拟计算引擎,而且是世界三大物理模拟引擎之一(另外两种是Havok和PhysX,而unity用的就是N卡公司的PhysX)。
广泛应用于游戏开发和电影制作中。我最怕的就是授权费,开源赛高。
作品将来会登陆的平台:
目前还是以windows桌面平台为主(玩家最多的地方),主打win10(我目前使用的就是这个)和win7(如果可能),未来win11也成为可能。
steam ,因为开发者申请不能通过被绊了(见图),所以以后游戏不考虑登陆steam,因为我不想花600多还要受气。
以后可不要来问我为什么不上steam哦 ⊙ω⊙ ,不是我不想,是人家不让。
微软,他们的PC平台和XBOX可能无法上架,因为开发者账号的申请需要信用卡,我没开公司,流水不稳因此办不了信用卡。
PS&NS,这两个就不考虑了。那个太遥远,除非PS5支持DX12并且愿意和个人开发者合作。
安卓,首先海外的官网不用特殊办法上不去,国内平台不考虑,而且开源容易有那个(懂得都懂)版本,许多玩家付费意愿不高,没赚头(除非我闲着没事干)所以pass。
IOS,在上面metal部分已经说了,不再重复。
如果有哪位小伙伴有好的主意,还望不吝赐教。
就这些,继续加油制作哩!!