本文由触控科技内部举办的GamJam大赛“宝石花”团队(成员:李旭郑巍李创王传祥李远马泽华)投稿并提供源码。
本次我们来挑战如何在48小时内通过手机游戏的形式讲述一个完整的故事,并通过故事传达情绪和情感。最终效果是令人满意的,但是受限于时间和资源,开发过程中留有很多遗憾。从本篇文章开始,我们会逐步总结开发过程中的心得体会,修复游戏中的缺陷,完善功能,希望这一系列文章能对大家有所帮助。
讲述故事
既然确定了游戏的最终目的是通过故事来传达情感,那么首先要做的,就是确定要讲述的故事。一个好的故事在题材上首先要能够引起广泛的情感共鸣,其次要利于表达,能够在开发团队能力范围内完成,最后要综合考虑实现成本,保证故事中的要素在可控范围内。因此,确定以成长和家庭作为故事题材之后,在开发工作正式开始前,通过故事板的形式,理清故事要素,章节以及各章节叙述成本是有必要的。使用故事板的另一个好处是能够增强团队成员对于开发内容的理解。绘制故事板并不需要高深的技术或复杂的工具,拿起你手头的纸和笔,尽可能详细的把你能想象到的游戏的最终形态绘制出来。如下图所示,一开始的随手涂鸦最终将在开发过程中起到至关重要的作用。
(游戏的故事板)
(游戏实际画面对应于故事板中的场景#7)
使用故事板的另一个优势是在开发初期就可以对开发的工作量有一个大概的估计,这在48小时比赛这样极限的开发过程中更为重要。从故事板中可以知道,游戏总共包括12个场景(标题画面场景未在故事板中标出,场景#1包括左右两个部分),而我们的开发团队是由5名程序加1名策划组成,根据每个人的能力采取认领场景的方式,很快解决了任务分配的难题。
遗憾的是由于临时组建团队,并受限于时间,最终完成的版本在完成度上做出了大幅让步,讲述故事,首先要保证的是故事的完整性,其次考虑的才是故事的叙述形式。也因此,对于游戏元素的取舍成为了艰难的任务,我们的经验是,尽早放弃实现成本高的元素,集中利用已有元素,尽可能减少编码时间,以保证为资源制作和测试预留时间。例如游戏中下雨场景本来打算使用一个shadr来显现涟漪效果,这个shadr可以实现涟漪在相互碰撞时产生的叠加,但是在开发进行约一小时左右时,我们意识到使用该shadr的渲染效率过低,并且这一效果对叙述故事并无帮助,于是转而使用最基本的精灵缩放来实现,最终得到的效果要比预期好很多。
技术实现
游戏中最大的技术难点在于2d可视范围,我们这里直接使用了cocos白癜风报销基金献礼国庆中科白癜风帮扶