
在线商店中的股票可能会有所不同,但是如何使它们对于客户而言看起来很有趣始终是一个问题,我们试图将具有常规客户统计信息的普通股转变成Dendy风格的游戏。
在这里,我们将讨论如何在浏览器的小型游戏中形象化营销动机来吸引客户。阶段1.从构想到了解需要什么
晴朗的一天(夏季开始之前),营销部门提出了这个想法,以组织一次激励活动,以批发方式分发客户。 与往常一样,根据源数据,我们得到以下信息:
- 一些客户编号
- 客户指标
- 客户在一定时间内购买的总金额是多少
- 在这段时间内,客户获得了哪些品牌?
- 客户如何“诚实”且负责任地履行我们对产品供应商的责任
- 客户根据与我们的合作有什么“特殊”的价格条件?
- 某些动机工具集。
- 我们可以为客户的合作和表现提供的“礼物”清单
- 他当前报价的“改进者”
- 向“最...最...最负责任和最活跃的客户”颁发“超级奖”。
- 客户集中点是具有在线订购系统的个人帐户,我们可以在其中提供某些内容并报告重要的内容。
- 会计程序(“黄色”)-每个客户标识符及其指标都有常规信息。
有了这样的数据集,您可以在旅途中使用个人帐户进行组织:
- 标语+“购买并获得此”
- 或带有客户参数的表格,您每天可以在其中上传会计程序中的数据
- 由于该网站位于1C-Bitrix上,如果满足某些条件(取决于客户的标识符),您可以制定复杂的“篮子规则”以享受一定折扣,或者在API中显示自己的逻辑并显示一些统计信息。
我们做了所有这一切,并且正在这样做以通知我们的客户。 但是在这种情况下,我想尝试其他方法-创建游戏-指标将以抽象数量可视化。
第二阶段。所以,我们制作了游戏,现在TK听起来像这样
我们的主题是备件,并且在很大程度上-汽车零件的批发销售,据此,确定了以下游戏逻辑结构:
- 在聚光灯下-汽车应沿其行驶的轨道
- 路线从某处开始并在某处结束(开始和结束),即该路线具有以km为单位的给定长度。
- 开始是指标的参考点-“通过的方式”
- 终点线是到达的终点,我们可以为客户提供特殊特权或非常有价值的奖励。
- 轨道上应该有停车点(这可能是障碍,是决定的停止点)。
- 决策点(检查点)-应该给客户一个“小礼物”,然后返回到“小礼物”的开始或拒绝,然后继续。
- 障碍-应更改一些指标。
- 燃油将用于驱动汽车。
- 加油是一种抽象,客户遵守销售条款+完成任务/任务可获得的升。
- 每100公里的油耗。 在汽车中-这也是一种抽象,取决于客户的“诚实”和“责任”指标,并遵守其对我们作为供应商的义务。
- 燃油消耗应在一定等级范围内且在合理范围内。
在“伟大而强大”的帮助下,将工作分解为小子任务并了解实现工具的选择是一项艰巨的任务。 为了不创建用于组织汽车运动机制的“两轮”车辆,做出了选择使用JavaScript框架的选择。
我们为自己确定的游戏框架要求如下:
- 2D地图
- 地图精灵
- 事件模型
- “快速入门”
- 该文件
总共审查并测试了3-5个著名的解决方案(包括鲜为人知的PointJS)。 考虑到所有这些,确实是创建游戏的绝佳引擎,但是您需要一些简单的东西,因此选择了enchantjs。
Enchantjs是一个简单的引擎,具有用于创建简单2D游戏的必要工具集。
第三阶段。技术设计
在充分利用Enchantjs之后,是时候概述一个小型应用程序结构了。
-要保存的表和数据(谈论MySQL)- 玩家当前数据(影响游戏当前参数的数据)汇总表。 此表的一部分在游戏过程中进行了修改,部分是从会计程序中进行了修改。
- 汽油升的变化。 这些是客户可以填写其虚拟汽车的抽象。 此数据应仅来自会计程序。
- 里程变化的历史。 客户开车去的地方,汽油用尽的地方,他去了检查站。
- 油耗发生变化。 例如,今天一位顾客消费了9升的汽车。 100公里,明天有客户要评论,他的汽车消耗量增加到11升。 每100公里。
- 1C-Bitrix中的Infoblock,市场营销专家将为客户输入任务(先做……然后在这里……用照片或链接确认,您会得到糖果或减少的消费)
- 具有完成的客户分配的表。
- 检查点表(需要在游戏地图上绘制带有标志的精灵)
- 我们可以在检查站提供给客户的礼物表。
- 收集的检查点表。 (客户到达检查站,选择了礼物,然后我们写下了)
- 汽油消耗/到来的历史。 即,在驾驶时有费用,在给罐加油时有燃料到达。 需要此数据来通知客户端。
-组件1C-Bitrix- 通用组件模板
- 在游戏中处理用户请求
- 处理发生在游戏场上的事件
- 处理用户在游戏管理界面中执行的动作
-模块1C-Bitrix- 所有必需表的ORM
- 一些服务操作
- 代理商
-与会计软件共享的API处理有关游戏计费程序数据的请求。
处理有关在玩家会计软件上提供数据的请求。
阶段4.游戏场景的实现
在实现中,我将给出一个仅涉及enchantjs和游戏场景的示例。
首先,我们需要为游戏创建一个场景并形成一个地图。
该地图是由一个数组数组构建的,其中每个嵌套的数组都表征了来自地图材质原始精灵的单元格编号。
地图中将用于构建游戏场景的部分enchant();
获得了用于创建游戏场景和启动游戏的基本语法。
最重要的是,我们在HTML页面上绘制了一个矩形,可以在其上操纵精灵。
我必须马上说,在实施游戏时,我不得不放弃附魔事件模型和所有动作都作为fps的一部分在fps值的影响下发生的概念。定义游戏的主要场景,绘制地图,放置标志并将机器设置为起点。
var SceneGame=Class.create(Scene,{ initialize:function(){ Scene.apply(this); game = Game.instance; var label=new Label(' ');
结果,我们得到一个带有地图的场景,上面有一条道路。 在屏幕截图中,未显示标志,并且未在起点(左下角)安装汽车。
enchantjs中的每个sprite对象至少始终包含有关坐标系统中的位置以及sprite旋转角度的信息。
即 为了在绘制的地图上进行汽车的移动,需要:
- 描述到达轨道弯道时其在太空中的动作
- 根据子画面的旋转角度来描述汽车的动作和运动方向。
也就是说,如果旋转角度为0,并且由于汽车的精灵从下往上开始,那么我们将沿着Y轴移动到坐标轴的零。接下来,我们将遇到1号轨道的弯曲,并且必须将汽车的精灵旋转90度。 此外,知道我们位于90度角后,我们沿着X轴移动,直到第2条轨道的弯曲,等等。
因此,我们教车沿绘制的坐标系移动。
为了使汽车与道路的交互作用达到我们熟悉的值-以行驶的公里数为单位,有必要编写一个附加功能,以公里数为单位。 从0到3000,并返回路段上该点的坐标。
对于汽车运动,我们使用
setInterval在汽车运动时增加x或y值
在移动过程中,游戏场景中会发生以下事件:
- 打旗
- 燃油端
- 到达终点线
到达这些事件后,将创建事件,并在1C-Bitrix组件的控制脚本中对其进行处理。
更多...更多
完成游戏系统的以下步骤是:
- 创建带有控制按钮的界面
- 对比赛现场事件的反应
- 根据用户动作更改游戏参数
- 在后端检查车辆参数
结果就是在LC中玩这样的游戏