芭芭拉冲鸭!菜鸟拿cocos写的第一个游戏

5,413 阅读3分钟

初衷

其实我想很多程序员在接触it之前都想着是做软件工程,做游戏开发吧。但是大学之后等等的时光过去了,发现自己成了java curd工程师,前端api工程师。当初的游戏开发越来越远。

看着大佬们一个demo都是贪吃蛇,俄罗斯方块,羡慕到不行。

真是的不入这个门,不知深浅。

这里我不讲如何去入门,怎么写的我的这个游戏代码。我只讲入门,因为很多游戏引擎官方都已经有完善的示例,入门教程。大家自己跟着做就足够入门了。

主要是我也是菜鸟,只能说分享下我怎么入门的

一、游戏开发原理

渲染:

游戏实际上可以看成是视频开发,核心原理都是一秒钟多少帧(比如一般的60帧,下面都用60帧举例),一帧等于一张图片。而视频播放的原理就是每秒钟播放多少张图片形成一个连贯的视频。

也就是说你的游戏越复杂,那么每秒都是在重新画一张这样的图片。也许远不止你看到的那么一个屏幕大小。

一般小游戏图不多,那么就还好,但是如果页面复杂了,那么cpu就不够用了。所以需要gpu来负责页面渲染,才能减轻压力

计算代码:

等你真的去写过游戏之后,就知道,其实你的代码在传统服务端,或者页面端只是按需运行。也就是用了,调用一下。

但是游戏里面,就是有多少帧,跑多少次。所以这是性能杀手啊。

人物运动:

人物为什么动了呢,因为就像视频一样实时的像画画一样重新画了60次。你的代码就是在这60次里面,不断的去变化人物或者物体的坐标。要是有类似真实的物体碰撞,那一个函数就是上百行代码的计算量。

数学和几何:

真正大佬的领域,游戏开发上限取决于你的数学多好,因为你所有物体运动,都需要运算。2d游戏运算x,y轴,3d就是x,y,z。

就拿我们常见的跳跃动作,怎么跳的不生硬,那么就需要学习数学的抛物线计算。

二、怎么入门

我直接举例下几个框架吧,别直接怼开源库了,我是真的玩不来。比如threejs玩过,但是只是知道原理,和抄,但是还是不会写。

游戏热门框架:

cocos 主要是2d游戏多,一刀999基本是他。老版本为c++一个开源库,现在官方文档为js

unity 代表作:原神 语言:c#,国产游戏的主流,如果说cocos百分之30,那么剩下百分之60都是他

虚幻Epic:吹得最多的引擎,语言:c++,主要编写pc端大作,在电影,动画,游戏各个行业有有用到。比如复仇者联盟里面的人物渲染,也用到了它。

然后学的话,直接到人家官网去找示例,找教程。比如去培训班靠谱多了。

然后我个人是前端,所以我用cocos入门,并且cocos也有3d,听说是最近2年才出来的。同样,用js语言的还有白鹭egret,layabox,这两个都偏3d的多,但是官方没有什么app推荐,都是小程序上面的3d游戏。

然后我想说,国内的入门教程良心啊。我为什么没直接上手虚幻和unity呢?因为入门教程不直观简单。

二、个人菜鸟游戏示例

操作方式:左右移动,空格跳跃  

github地址:github.com/ht-sauce/ba…

游戏示例:ht-sauce.github.io/barbara_go/