大家今天瞎折腾了一天,搞了个小玩意儿——蜗牛竞速游戏。别笑,蜗牛虽然慢,但咱们可以让它们在咱的电脑里“飞”起来嘛
起初的念头
事情是这样的,昨天下午我刷小视频,看到一个拍蜗牛下雨后慢悠悠爬的,突然就想,要是这些家伙能赛跑,那得多逗。现在的游戏都追求啥速度与激情,我就想反其道而行,整个“慢”中取胜的,或者说,让这些“慢”家伙也疯狂一把。
动手前的准备
说干就干,我这人就这样,有了想法就想马上试试。我先没想那么复杂,就想着先让几只蜗牛能在屏幕上动起来,有个跑道就行。美术啥的,我自己就随便画画了,反正也不是要拿出去卖钱,自己玩得开心最重要。我找了些蜗牛的图片,观察了下它们的外形,然后就用最简单的工具开始画,火柴人级别的蜗牛诞生了!跑道嘛更简单,几条线一段弧,搞定!
让蜗牛“跑”起来
这部分就稍微要动点脑筋了。我先设定了每只蜗牛都有个基础速度,然后,为了增加点趣味性,我寻思着不能让它们跑得一样快,不然不就没意思了。所以我就给它们的速度值加了点随机范围,这样每次比赛开始,蜗牛们的起跑速度和最高速度都会有点小小的不同。
接着就是控制了。最开始我想的是玩家控制一只蜗牛,跟电脑比。但我后来一想,几个人一起玩不是更有意思?所以我就改成了让玩家押注,看谁的蜗牛能赢,这样参与感更强点,也不用费劲去搞复杂的操控。
增加点“料”
光跑还是太单调了。我又琢磨着给赛道上加点小花样。
- 加速带:蜗牛爬上去就能“嗖”地一下往前窜一小段。
- 减速区:比如一小滩烂泥,蜗牛爬上去速度就大减。
- 小道具(随机触发):比如有的蜗牛突然“打了鸡血”一样,短时间爆发一下;或者有的蜗牛不小心踩到“香蕉皮”(虽然蜗牛应该不怕这个,但就是个意思),停顿一下。
这些小元素的加入,一下子就让比赛过程变得不可预测起来,刺激多了!
磕磕绊绊的调试
中间也遇到不少小问题。比如,蜗牛有时候会跑出赛道,或者几只蜗牛叠在一起分不清谁是谁。我就一点点调整碰撞检测的逻辑,给蜗牛之间加了点间隔,跑出赛道的就让它强制回到赛道上,但会损失点时间作为惩罚。还有就是数值平衡,加速带太强了不行,减速区太弱了也没意思,这些都得反复测试,调过来调过去,那叫一个费劲。
最终的效果
经过一番折腾,现在这个蜗牛竞速游戏总算是马马虎虎能看了。开始比赛后,几只颜色各异(我特意涂了不同颜色)的“火柴人”蜗牛就在简陋的跑道上你追我赶。有时候领先的蜗牛突然踩到烂泥慢下来,后面的就趁机超过去了;有时候落后的蜗牛走了狗屎运,连续吃到加速,一下子就反超了。看着它们在那儿“激烈”比拼,我还真觉得挺有成就感的。
总结一下,今天这个小实践虽然简单,但从一个想法到动手实现,再到解决各种小bug,看到成品能跑起来,这个过程还是挺有意思的。主要就是体验了下游戏核心玩法的设计和一些随机元素的加入对游戏性的影响。下次看看能不能再给它加点新花样,比如不同能力的蜗牛啥的。行了,今天就分享到这,我去再玩几把我的蜗牛赛跑了!