楔子
对于游戏,最初的认识,来自于小时候的小霸王学习机。当然,这是一个具有年代感的东西,以至于新世纪的小伙们可能对其完全陌生。
对,就是这个看起来像电脑键盘的东西。可以说是我们童年时代快乐的源泉之一。
再后来,也就是两年前。我开始真正接触和了解游戏开发,那时开始萌发实现自己的游戏的想法。
困惑
对事物的探索源于未知。
作为一名初学者,一定会对游戏中很多实现产生疑问。
我当初就很好奇,《Super Mario》的地图是怎么绘制的?mario
是怎么跳到砖块上而不落下的?
这些疑问,后来也一一找到了答案。
探索
以《Super Mario》为例。要实现游戏中的功能,我们需要:
- 绘制画面:动画、效果以及画面中的一切
- 碰撞检测 & 物理效果:撞击砖块、障碍物以及攻击
- 地图编辑器:这么大的地图不可能是一张图
渲染
也就是画面绘制,如果只是简单的画个图,我们可以直接用
Canvas
甚至直接用HTML + CSS
。
Web
玩家可以选择:
-
2d:
-
3d:
Phaser
和 Babylon
定位是游戏引擎,包括了很多功能而不止是渲染。
动画
不要以为所有的效果都是代码写的~
碰撞检测 & 物理效果
物理引擎是个好东西。
Web
玩家可以选择:
地图编辑器
地图编辑器只是方便设计关卡的,真正的渲染还得靠游戏引擎支持或者开发者自己实现。