这是我参与「第四届青训营」笔记创作活动的的第10天.
从最为广泛的定义来讲小游戏是一种有组织的玩耍,一般是以娱乐为目的,有时也有教育目的,在英语中,体育比赛,也是游戏,只要其活动本质带有目的、规则、挑战和互动,我们都可以把其归为游戏。
回顾过去从街机家用电脑、LCD掌机、3D出现到网络游戏出现游戏的控制方式彻底变革,到现在移动端小游戏呈现高分辨率,高开发成本特性.
从游戏开发的团队分工来看,组建一个最小但最完整的游戏开发团队只需要3个人:策划、程序、美术。如果能力足够强的话完全可以作为独立开发者。
借助游戏引擎,能够给你一套完整的实现方案,不需要你再自己去拼凑、封装,让你花更少的开发时间做出更好的效果,特别是关于渲染效 率和性能优化,它提供游戏开发时需要的常见功能:引擎会提供许多组件,使用这些组件能缩短开发时间,让游戏开发变得更简单;专业引擎通常会能比自制引擎表现出更好的性能。游戏引擎一般会包含渲染器,2D/3D 图形元素,碰撞检测,物理引擎,声音,控制器支持,动画等多个部分。
来看一下Web游戏引擎的通用能力,第一个是预加载,游戏中往往存在大量的静态素材.包括场景、元素、声音、动画、模型、贴图等,如果以原生 JS进行请求,并统筹请求时间和加载的时机,将会非常麻烦。游戏引擎中的预加载引擎将加载时机、加载过程加以抽象,解决加载编码中的效率问题。第二个是展示与因层、组合系统,对于 web游戏编程而言,往往选择 Canvas 或 WebGL 作为渲染方式。而 Canvas 和 WebGL 作为底层的APl,接口非常基础,需要用大量的编码来编写简单的展示。而且图形之间没有组合和图层,很难处理元素组合和图层题。渲染引擎和图层、、组合系统应运而生。动画系统:动画往往被分为缓动动画和逐帧动画,这里讨论缓动动画系统。缓动动画系统在原生JS 中需要搭配帧渲染进行考量而进行书写,代码量和思考量巨大,抽象程度低,所以需要游戏引擎动面系统.
期待下一次相遇,我们一直在学习