小游戏开发初衷

小游戏开发初衷,第1张

最近开发了一个小游戏,正在测试和审核中。小游戏的乐趣在于点开即玩,种类丰富和在线匹配。我做的小游戏是跳棋,充满了童年回忆的游戏,现在棋盘找不到了,只能在小游戏上玩。

人机算法

激发我的开发热情是人机路径的算法,通过搜索可选路径,找到最优路径,让我有一种挑战自己的乐趣。现在我跟人机挑战了无数次,根本毫无胜算,因为人机走的都是最优路径,而且经常堵住了我的路径。就这样玩下来后,我的心态好多了,本着屡败屡战的勇气,坚持到了现在。

人机算法主要的思路是这样的,把跳棋的十个球都搜索一遍,选择走得最远的球和路径。具体到每个球,就要根据球的当前位置,搜索六个方向的路径,路径就是一个位置一个位置的搜索,类似多叉树的数据结构,要检查位置是否重复,不重复才能加入到路径中。最后选择球的最远位置,通过多叉树数据结构的特点查找位置的顺序,组成一条可用的路径。

在实际的测试和改进后,人机算法还要解决开局的路径选择,根据玩家的不同区域,选择合适的开局路径,可能会有惊喜的效果!在游戏过程中,还要考虑球的分布情况,在本区域或本营地的要优先搜索路径和选择,然后由近到远考虑公共区域或公共营地的两部分,最后是对面区域或对面营地的球。同一区域或营地内,球的数量比较少就要优先考虑,避免落单孤立无援!如果球没有路径只能移动,又要优先考虑的话,要选择有跳板球的位置,或者可以考虑是否被自己的球堵住了,先选择前面挡路的球和路径。

跳棋模型

现在的小游戏大部分使用二维的布局方式,但是很多引擎已经有三维的功能,三维作为一种未来趋势越来越明显了。正好我之前的工作涉及到三维模型的建模和三维模型的软件开发,所以跳棋的棋盘和球都使用了三维模型。使用软件提供的基本模型加以修改,再贴上合适的材质和颜色就可以了。

后来发现模型太消耗性能了,手机容易发热,耗电也比较大,还可能掉帧。所以对模型进行了简化,球看上去有点粗糙了,其它都还好。这样之后,性能就上来了,再用上引擎提供的动态合批渲染,又设置了帧率40,刚好适合球的跳动效果,这才符合小游戏的本色。现在手机运行起来完全没压力,基本不发热,耗电量少了很多,手机玩王者荣耀并且效果设置最高,玩一局有点发热,耗电量是小游戏的三倍。

未完待续……

游戏的菜单和提示都是使用二维组件,使用Cocos Creator 开发,后台和相关服务使用微信小游戏的云函数和相关API,后面会详细介绍一下……

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/732911.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-27
下一篇 2022-04-27

发表评论

登录后才能评论

评论列表(0条)

保存