目前已经历了两款游戏的制作。而两款游戏的新手引导,都是由我来完成的。因此,想写篇文章记录制作新手引导过程中的一些心得。
http://blog.youkuaiyun.com/operhero1990/article/details/51482734
一、新手引导的分类
从触发方式上,引导分为强制引导和非强制引导。现在国产游戏上来就是一大段的强制引导,强制玩家点击某一区域来熟悉游戏。强制引导过程中,玩家没有多余的操作选择。这种方式虽然受到了很多的诟病,但依然大行其道,这背后的市场数据分析暂且不予讨论吧。而非强制指引,是根据游戏进度和剧情需要,触发不同的引导。再我看来,非强制指引,只不过是由某种特殊事件触发了一段强制指引行为而已。所以,强制指引是实质,非强制指引只是再次基础上做了灵活运用。
在来看看强制指引。大体上可以分为对白和指引点击两种情况。对白用于介绍剧情,指引点击则指引玩家具体操作。由于项目使用的是cocos引擎,且游戏逻辑使用lua脚本编写,因此下面将以cocos-lua方式距离说明。
二、新手引导的实现
如何构建一套完整的新手引导系统呢?最终要的就是为策划构建一张新手引导表格,再以此表格为依据,实现一个管理类guideMgr以及相应的表现UI(假设我们按上节提到的对白和指引的分类方式,则需要分别实现guideDlg和guideOper)。
<表格>
那一张新手引导表格需要哪些内容呢?这就需要设想新手引导会遇到哪些问题:
1、同步服务器?告诉服务器我完成到了哪一步,一次来获得相应奖励或判断完成新手引导
2、重启游戏后继续引导?因各种原因重启游戏后,需要从上次中断处继续引导,第一个问题解决了,这个问题也好解决
3、游戏随机性大,如何确保引导不出问题?因为新手引导需要确保流程的通畅,以为游戏中的偶然因素需要排除。可能需要做一些特殊的处理,比如构建一些虚拟数据来取缔原来的游戏随机数据
4、如何指引特定界面的特定按钮?如何确定上一步指引打开了指定界面,并且当前指引了特定的按钮
带着以上问题,我们来设计引导表格:
指引id。id有两个作用,第一个是用于客户端与服务器的同步,第