游戏开发流程-微信小游戏(含源码)
我们平时玩过各种各样的游戏,那么一款游戏是如何开发出来的呢?流程是怎样的呢?如何从零基础来开发一款属于自己的游戏呢?对于新手来说,不知从何下手,也没有系统的资料来参考。万事开头难,很多人就是这样放弃了,很可惜。我也是一个新手,但是我很想体验游戏开发的整个流程,所以,一切从零开始,也饶了很多弯路,但是一步一步走下来,你会体会到其中的乐趣,过程最重要。 今天,我就简单分享一下做游戏的流程,如有描述不当的地方,还望指正。
我的小游戏源码分享:https://github.com/starbxx/Game
对于新手来说,想要做一款游戏,要从几个方面入手;
1. 游戏类型
2.游戏定位和引擎选择
3.游戏制作流程
定位好游戏,选好引擎后,我们该干什么??这里我们饶了很多的弯路,希望大家可以节省时间。
(1)了解游戏的开发流程。
对于一个新手来说,首先要大概了解游戏的开发流程。对于一款3D游戏来说(其他类似),开发分为几个模块:
-
游戏策划。在开始开发之前,要写好游戏策划,包括游戏的玩法、规则、关卡设计、角色设计等等,各个细节都要写清楚,写详细。一份好的游戏策划可以节约开发时间。 美术设计。要想做一款好的游戏,美术是少不了的。唯美的画面才能给人视觉上的冲击。美术设计主要是设计游戏的场景、人物demo、道具以及游戏UI等。 技术美术。美术设计重点在设计,那么技术美术就是要利用相关软件来实现这些设计,在计算机上制作出完整的模型。 动画设计。对于3D游戏来说,模型少不了骨骼动画,因此还需要制作一些模型动画。 主程序。编写游戏框架和逻辑。 前端。主要负责编写前端程序,与用户直接交互的游戏scene。 后端。主要负责编写后端程序,保存用户的游戏数据。 测试。分为测试和测试开发,测试主要是黑盒测试,可以邀请一些外人来玩游戏demo,提出意见。测试开发是白盒测试,遇见BUG自行修改。
虽然一款游戏的开发流程分为多个模块,但是都可以并行的,像我们的团队其实就只有两个人,但是明确的分工能够节约很多的时间。
(2)熟悉和学习相关软件。
熟悉相关软件真的太重要了!!而且要了解相关软件的兼容性以及插件的使用。在我们的开发中,用到了很多软件。
好了,我们的小游戏使用到的工具主要的就是这些,希望新手宝宝们可以快速找到要使用的工具,不像开始的我们一样迷茫。。。
(3)明确的分工。
开发游戏,明确的分工真的很重要,特别是人手不够用时,一个人可以挑两个扁担,哈哈哈哈哈。
(4)先制作一个简单的demo,web工具跑起来,再去优化。
(5)真机调试,设置玩家权限。
(6)优化。
优化!优化!优化!重要的事情说三遍。 小游戏的开发局限性比较大,游戏的demo包整体大小不能超过4M,对于2D游戏这不算什么,一般都可以压缩到4M以内,但是!!对3D游戏来说,特别是逻辑还挺复杂的3D游戏,几个模型的大小估计就超过4M了,别说加上贴图和代码包了。所以!优化很重要! 优化可以从几个方面入手:
-
优化3D模型大小。3D模型是以文件的形式存放,文件中记录着点数和面数。所以我们在制作3D模型的时候,尽量使用最少的点数和面数,这样可以减少加载和渲染的时间,还可以减少包的大小。 贴图压缩。一般来说贴图的大小必须是256256,512512,10241024.。。等,那么对于场景中的一些小的道具,比如吸铁石,就不需要用10241024的图或者更大的图,可以使用相关工具将图片的大小调的很小,在体积和视觉上做一个折中。 图集打包。UI界面中的一些元素图片、按钮图片,不用每个都存为一张单独的图,可以整体打包成一个图集,加载的时候一起加载,可以节约空间。 代码冗余。对于一些需要重复使用的代码块,比如触发器、碰撞器等,可以生成一个相应的组件,需要的时候挂在物体上,不需要的时候移除。 模型,贴图循环利用。对于一些重复使用的模型或者贴图,在内存中保留一个副本就行了,需要使用多个的时候clone就好了。
部分图片:
游戏源码(仅供学习):https://github.com/starbxx/Game
