转游戏开发(cocos)的一些学习感悟

513 阅读6分钟

博主本人还没真正上岗过游戏开发岗位,但是之前做过前端的实习,因此这是一篇学习感悟,可能有失偏移,望各位掘友们指正!

为什么会有转游戏的想法?

原因很简单,就是为了找工作。之前想做前端工作的但无论在论坛里面,还有身边的一些人,包括加的一些掘友群都可以能感受到传统的web前端开发这行确确实实不好做了,经过很长很长一段的思考,摸索,实践等最后选择了走游戏开发。

游戏开发真的不卷吗?真的好找工作吗?也未必,因此我没有随大流了去学ue unity 选择了cocos,避开热门赛道,另辟蹊径会不会更符合我的需要呢?

cocos主要是做移动端小游戏的游戏引擎,在国内有很多的游戏都是使用这个构建的,同时cocos是使用Ts作为开发语言,其实也不止cocos,就我所知道的还有layabox也是使用Ts。

好玩的是当我在某聘是选择岗位意向的时候,他们把cocos划归到前端开发中了,哈哈,可能最后兜兜转转还是在做前端。

1.可供学习的资料过于稀少了

这就是我初期接触的时候最大的感受,相比于前后端有丰富的学习视频,详细的学习路线,并且还会根据时间实时变更,总能找到最有时效性的资料。可cocos相比,确实真的很少,我最常是到某站上去学习,官方的教学视频都是21年的,同时一些个人up发的视频有的也是一些老的版本,我去到官方论坛找也是过去的学习资料,这对我这个初学者来说确实是很大的恶意。

我曾尝试通过网络搜索寻找相关的学习资料,却发现很多视频教程和博客文章并未深入到实现细节,或者与我所使用的 Cocos 版本不相符。这种信息的不对称让我在学习过程中经常感到挫败,无法快速解决遇到的具体问题。

我这个人灵性不高,很多人会跟我说看官方文档不就可以上手吗?唉,确实是真没有哪个能力。

哪这个时候就需要耐心了,我于是看了3个基础教学的视频课程,因为每一个课程教的内容虽有重合,但我更关注的是他们之间不重合的地方,并且有很大的不同,各有各的侧重点。比起的官方文档上冰冷的文字,这个更合适我。但最后我发现他们依然没有讲完大部分的api和Cocos Creator这个编辑器的功能有哪些,最后都要回到文档一个一个查询和使用才可以体会,这相比我之前接触前端开发系列课程,差别真的很大。

2.对TS的理解和使用更深了

一名JavaScript开发者,我对TypeScript并不陌生。之前零零散散地使用过它,却从未真正理解其背后的设计理念和强大之处。

在Cocos Creator中,游戏对象由各种组件构成,每个组件都拥有自身的属性和方法。JavaScript的动态类型特性,使得这些属性的类型缺乏约束,容易在运行时引发错误。

游戏逻辑的复杂性往往超出想象,各种事件和交互逻辑交织在一起,容易导致代码混乱不堪。TypeScript的模块化特性,帮助我更好地组织和管理游戏逻辑。TypeScript的模块化特性,使得游戏逻辑更加清晰和易于维护,也方便了团队协作和代码复用。

但这是痛苦的,坦率的说写TypeScript真不爽啊!自己确实还没有完全适应这种感觉,之前写js那种感受,TS我常常就是三步一个报错,要思考的东西感觉比之前的js多了很多。

更是可以理解那句话,你如果你对java熟悉,哪你熟悉ts比js还快的说法了。

3.思维模式的转变:从页面到场景

其实前端开发和游戏开发总体来说都是做一件事,做一个和用户交互的页面。

前端开发注重的是页面的布局、样式和交互,而Cocos游戏开发则更关注游戏场景的构建、角色的控制和动画的实现。这种思维模式的转变对我来说是一个不小的挑战。我需要学习如何使用Cocos Creator的场景编辑器来构建游戏场景,如何使用脚本组件来控制游戏角色的行为,以及如何使用动画编辑器来制作游戏动画。

例如,在前端开发中,我习惯于使用HTML和CSS来构建页面布局,而Cocos Creator则使用节点树和预制体来组织游戏场景。我需要学习如何使用这些新的工具和概念来构建游戏场景。

4.开发流程的差异:从模块化到面向对象

前端开发通常采用模块化的开发方式,将页面拆分成多个独立的模块进行开发。而Cocos游戏开发则更倾向于面向对象的开发方式,将游戏对象抽象成类,并使用继承和多态等面向对象的概念来组织代码。当然当然cocos也会使用模块化开发的思想。

例如,在Cocos Creator中,我们可以将游戏角色抽象成一个类,并将角色的属性和行为封装在类中。这样可以提高代码的可重用性和可维护性。

最典型的就是我和还在做的这个使用cocos复刻植物大战僵尸的项目学习

一个植物他首先是有一个植物Plant类  再根据你是向日葵类,还是豌豆射手类去给你定义你是什么植物类,再你看是什么豌豆射手类,普通的还是寒冰射手,还是发生两个豌豆的射手,都有差别。

5.从浏览器到Cocos Creator

Cocos Creator同时支持浏览器也支持是游戏编辑端进行调试,处理报错和之前的处理前端的完全不一样,要使用cocos自己的方式,这也导致确实有种一个Bug要改很久很久,而且很难找到原因,这都是我对Cocos Creator这个编辑器不够熟悉的原因。

因此是制作环境的改变需要我学好如何调试。

以上就是我对于从前端转cocos的一些自己的学习感悟和遇到的问题,其实到这里我也不清楚到底是写了啥,与其说是感悟倒不如是自己想倒一些苦水罢了。

这是我目前还没有完整的做完第一个项目,很多很多东西都还没有涉及到,比如如果从单机游戏变成网络游戏,甚至对Cocos Creator还可以说完全不熟悉。总的来说,我个人比起前端开发,游戏开发要更难些,也更累。

如果各位掘友们有其他的想法欢迎评论!