前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >为了研究一笔画完,结果做出了个游戏

为了研究一笔画完,结果做出了个游戏

作者头像
花叔
修改2019-08-07 18:30:49
1.9K0
修改2019-08-07 18:30:49
举报
文章被收录于专栏:花叔的专栏花叔的专栏

某天,我看到流行的、一笔画完类型的小游戏,于是就在那想,这种游戏的关卡构建是不是都是人工构建的,还是说程序可以随机生成。

结果想着想着就想动手试试,恰好最近在研究一款叫playcanvas的3d引擎,于是弄了个3d Demo。

为了快速演示,demo里的格子没用特别复杂的模型,而是用了简单的正方体模型,演示的效果是随机生成一个有解的布局,通过触碰或滑动屏幕来构造一次走完的路线。

demo没花我太多时间,大概两个小时就搞定了。

要不不开始,一开始便不可收拾,我不想它就是个简单的演示demo。

所以接下来的周末,我都沉迷在这个demo的优化过程中了。界面怎样在短时间内美化?到底随机地图的关卡怎么构建?是不是该用小程序云?能不能做点只有小游戏可以实现的功能?

一系列问题突然在我脑海中盘旋。

显然最后都实现了,现在回想起来有种类比于“为什么当年高考都能扛过去”的感觉,所以这里记录一下开发历程中的思考。

代码逻辑,太枯燥这里就不细说了,有兴趣的同学可以线下交流,这里通过几个问题抛点大家能理解的业务思路。

界面怎样在短时间内美化的?

有朋友说目前的视觉不太好看,我只想说,两周的开发时间,而且只是下班后或者周末的业余时间搞的项目,从策划到交互到视觉到开发,都一个人包办,你想要专业级的视觉呈现,是不是太苛刻了。

所以,视觉上走的是一种折中的开发方式,比如说,不做2d的,做3d的,在视觉表达上,3d引擎为我提供了透视、光照、阴影等现有的效果处理方式,我可以轻松的画出一些低精度模型,加点光加点影,画面就显得不会太违和。

所以,我第一次用3dmax画了个小鸡模型。。。

其他UI层面的元素,就用photoshop稍微画画就好。

到底随机地图的关卡怎么构建?

对于有解关卡的随机构建其实很简单,大体逻辑是:随机定点,然后从三个可选方向中选一个行走,一直走到无路可走时,此路线就是一个关卡,目前游戏中有个“发起挑战”的模式,其实就是这个思路的缩影。

但怎么判断这些关卡的难度呢?这成了我最头疼的问题,依据总个数?不行,只能算是其中一个维度。按照起点和终点的距离?好像也没有固定的算法。到最后我也没得出判断难度的程序判断标准,只能人为定义了一些比较难的关卡。

是不是该用小程序云?

一笔一连小游戏目前远端的逻辑基本都放在小程序云上面,但也有部分逻辑需要自己搭建第三方服务器来支援。

小程序云为游戏提供了玩家游戏记录存储、排行榜逻辑处理等基础处理功能,但诸如“生成小程序码”、“调起微信商户功能”等需要服务端二次校验权限的接口,小程序云目前是不支持的。

以结果来看过程的话,中大型游戏用小程序云会有挺大程度的限制,但小型的小游戏用小程序云应该绰绰有余了。

能不能做点只有小游戏可以实现的功能?

答案肯定的,我做demo有个习惯,总想利用它做点新功能的预研或者做点老接口的综合应用。一笔一连小游戏中就有两个点是为了好玩或者研究而做的。

第一个是“动态消息”的功能

实际落地点是游戏中的“集结赢薯条”功能(更多细节可参考这里):

第二个是发红包功能

这可能是个有争议的功能,花叔只是好奇玩一下,有成型的体验demo,但目前没上线,技术上能跑通的。

主要的业务逻辑是:

首次需要构建小游戏另一个可以发起企业付款小程序间的openid映射关系,当存储后,以后的每次领红包操作,即可根据关系去间接调起商户接口发起(有规则风险)。

而技术逻辑大概是这样:

只要玩家首次完成这个交互,把这个关系构建好后,未来的就再也不会有跳转付款小程序的前端交互了。

当然,如果小游戏和付款小程序是同主体,他们间的openid理论上能动态互转,就可以免去“通过前端跳转来构建两个openid关系”的繁琐步骤。

好了,说了听多了。

结束...

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-11-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 MinProgram 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档