很多小伙伴在制作游戏的时候苦于没有思路,实际上制作一个游戏是很简单的,我们可以先从小游戏开始思考。
小游戏的概念和分类
概念:单机或联机类型,操作简单,效果简单,体积不大,玩法单一类型。
特点:体积小,无剧情,操作简单
分类:射击类、剧情扮演类、塔防策略类、休闲类、模拟经营类等等。
类射击类型小游戏解析
一般情况下,类似捕鱼游戏、射击游戏类型的小游戏,实际的游戏结构为以下构成:
- 情景层【背景、音乐、环境效果、不同场景切换等】
- npc层【如自由翱翔的鸟、苍蝇等】
- 玩家层【如捕鸟的鸟网、大炮、手枪等】
- 逻辑层【计算得分、计算血量、伤害等属性】
- 效果层【打击效果、碰撞反馈等等】
举例:如捕鱼达人、抢滩登陆
剧情扮演类小游戏解析
一半情况下,这类游戏体现为对话框和场景,类似视觉小说,实际这种游戏结构很简单:
- 表示层【文字加载、npc展示等】
- 情景层【背景、音乐、专场等】
- 交互层【选择不同事件线,进入到不同线结局,对话框,场景切换按钮等】
- 逻辑层【计算相关属性,匹配不同剧情的触发】
- 效果层【专场或相应的视觉效果,可有可无】
举例:橙光游戏阅读器
小游戏结构的实现思路汇总
以上就只举例两种类型的结果,想必大家已经清楚实际的情况,也就是类似的这五种结构层面进行研发,并不难。
而实际上一个小游戏的机构因人而异,在我们去制作一个小游戏的时候,我们要思考一件事情,那么就是这个游戏的操作和对象。
操作便是如何操作【玩法】,如做一个简单的捕鱼游戏,那么我们就可以设定渔网,渔网可以漂浮在页面场景中,点击鼠标即可触发预防捕捉的效果,如果渔网捕捉的坐标是鱼儿所在坐标那么就直接成功捕捉鱼,触发计分。
而对象则是鱼儿,我们便要思考鱼儿的运动效果,如从x坐标到y坐标,从一个点到另一个点游动的动画和实际的动画移动坐标情况计时,通过计时来解决鱼儿移动的对象参数和属性,并实时传递参数到逻辑方面的类,在触发捕鱼网时,计算坐标从而让操作达成一定的反馈。
小游戏开发的思路和技术
实际上小游戏开发利用js即可实现,但使用游戏引擎更佳,但实现的研发思路都一直,那便是对场景进行逻辑书写,对对象进行逻辑书写,效果书写以及逻辑参数的展示。
1.web小游戏:html5+js就可以实现,也可以使用flash。
2.抖音、微信、百度小游戏:laya、egret、cocos、js、ts等
在游戏开发的过程中,实际上绝大数都是前端来决定的,而非服务器,服务器更多的角色时通过即时通讯协议【socket、tcp、udp等】,来同步游戏数据来达到多人联机的效果。
感悟:对于很多效果很好的游戏则需要建模和动画补充,实际上很多的游戏都可以理解为动画游戏,人们操作游戏便是操作了动画的变化。