我们如何通过遥控器制作棋盘游戏

棋盘游戏是最古老的娱乐活动之一,它聚集了朋友,家人以及游戏中实时交流和情感爱好者。

今天,我想向您介绍我和我的朋友如何决定创建自己的棋盘游戏,但不是简单,而是“智能”的

图片

第二部分可以在这里找到: 链接

注意! 上有很多照片。

我们的游戏是MoBA棋盘游戏,每个玩家可以控制自己的独特英雄,并拥有自己的特点和能力。 目前,我们拥有由Arduino和胶合板制成的原型的第一版。

我们游戏的主要特点是在游戏过程中无需触摸人物,游戏本身必须移动它们并显示所有应用的能力。 玩家只能通过手机观看和控制英雄。

几个游戏的gif图像
gif

gif

gif

gif

智能游戏应该能够做什么:


  • 自己在球场上移动人物。
  • 用任何颜色突出显示比赛场地(整个区域或单独的区域)。
  • 向玩家展示他可以/不能/应该做什么,从而使游戏规则透明化。
  • 与每个播放器的智能手机交换数据。

这是我们第一个可行的版本:

图片

这个主意是如何产生的


我以某种方式为自己购买了Arkham Horror台式机。 逛完商店后,我立即去朋友那里玩。 但是,不幸的是,我们之前没有人玩过它,因此我们无法掌握26页的规则。

正是这一点使我认为,制作一个能够独立监控规则执行情况,计算必要值(无需立方体,标尺和书面纸)的棋盘游戏非常好。

我的一位朋友非常喜欢这个主意,他同意参加。

实作


我们没有开发硬件设备的经验(甚至没有人将Arduino掌握在手中),并且编程经验仅限于大学和Android小型应用程序的开发。 但是,这只会增加兴趣和欲望。

在讨论了所有细节之后,我们得出以下结论:

  • CoreXY的托架上有一个12V的螺线管,可将图形移动到整个视野。
  • 运动由两个Nema 17 17HS4401步进电机和DRV8825驱动器负责。
  • 像素地址为WS2812b的LED灯带用于突出显示该字段。
  • 安装有我们开发的屏蔽的Arduino Mega 2560负责管理。
  • 为了在游戏和玩家的智能手机之间传输数据,需要负责4个HM10 BLE模块。
  • 所有这些均由12V电源,120W​​电源和5V DC-DC转换器供电。
  • 智能手机的侧面是一个移动应用程序(当前在Android下),这实际上是整个游戏的核心。 从BLE上可以找到运动,磁铁和LED /灭的命令。

机械师


我们没有立即来到CoreXY。 从一开始,在实现运动学时,我们就受到各种组装3D打印机的DIY指南的启发。

下面是我们第一次尝试的照片:

图片

为了创建组件,我们购买了一台便宜的二手3D打印机,上面已经打印了6200米的塑料,并且到目前为止,它一直运行良好。

但是,此选项有很多缺点:

  • 组装很痛苦-轴的位置有一点点误差-马车停止了行驶。
  • 至少一个轴承不好-滑架停止了行驶。
  • 整个结构的高度过高。
  • 我们不喜欢发动机应该位于运动部件上的想法。

有一次,我们偶然发现了一篇描述CoreXY运动学的文章,并决定选择它。 她有两个优点:

  • 组装很简单,因为 所有“自定义”零件都在CNC或3D打印机上创建。
  • 低的结构高度,这受到步进电机高度的限制。
  • 步进电机是静止的。

所以缺点:

  • 大尺寸。 带有3D模型的图片显示,总面积比工作表面的面积大得多。
  • 您必须设法拉长的皮带。
  • 一种具体的移动支架的方式,我将在下面讨论。

为了最大程度地避免所有问题,我们在Tinkercad中创建了模型,然后开始订购和打印组件。

图片

该游戏当前具有以下物理参数:
宽度: 780毫米长度: 700毫米高度: 85毫米
运动场:边长462毫米正方形。
基础: 12毫米厚的胶合板,在CNC上开有用于安装零件和发动机的孔。

图片

当模型准备就绪时,它看起来像是微型且轻巧的。但是,在现实生活中,它又很大又笨重。 现在我们了解到整个结构需要优化:

  • 用更轻更薄的材料代替胶合板。
  • 外轮廓的长度和宽度不应大大超过运动场的大小(您可能必须更改运动学)。

下面,我将描述在组装过程中遇到的功能:

  • 为了确保内部轮廓和滑架的运动平稳且没有多余的声音,重要的是,皮带必须与轴平行。 还建议对轴进行润滑。 我们用普通的缝纫机油。
  • 最初,我们使用廖叔叔的LM8UU作为线性轴承,但是我们经常遇到有缺陷的试样,这些试样被松动,立即破碎并刮伤了轴。 因此,他们决定将它们换成石墨衬套。
  • 使用CoreXY运动学的运动中有一些功能。 因此,如果仅启动1台步进电机,则滑架将沿对角线行驶。 对于水平运动,必须以相同的方向启动发动机。 对于垂直-方向相反。

要计算沿X和Y的距离,必须使用以下公式:

图片

比赛场地


为了突出比赛环境,我们选择了像素地址为WS2812b的LED灯条,非常适合我们的目的。

WS2812b是采用SMD5050封装的RGB LED,具有4个引脚:VDD,VSS,DIN和DOUT。

该领域有哪些要求:

  • 较小的厚度,因此电磁体可以将图形随同拖动。
  • 光滑的表面可以毫无问题地进行滑动。

结果,运动场有条件地由3部分组成:LED条连接到的基板,胶带本身以及图形在其上滑动的表面涂层。

我们面临的主要问题是如何制成基材?
目前,我们正在使用有机玻璃,其中胶带下的凹槽在CNC上以2毫米的深度(胶带和LED的高度)切出。 自然地,该片完全丧失了至少一些刚性并且沿着切割线大大弯曲。 因此,我们只是将基材粘在表面上。 也许在下一版本中,我们将用整体式聚碳酸酯代替有机玻璃。

图片

作为表面,所有东西都被选为有机玻璃,修复后在阳台上铺在我身上,阳台厚4毫米,乳白色,分散率良好。

结果,在晚上坐上烙铁后,我们得到了以下信息:

图片

有些胶带的LED密度不同。 通常是:每米144、90、60、30。 我们停在每米30个LED的胶带上,因为 使用具有更高LED密度的胶带-很难移动人物而不会发生碰撞,并且食物所需的功率会增加。

值得注意的是LED串联连接。 因此,如果您的第一个LED烧坏了,那么其余的将无法工作。

我们的场大小为14 * 14像元,共196像素。 磁带在5V的电压下运行。 胶带中的一个像素由3个LED组成-R,G,B,每个LED在最大亮度下消耗20 mA电流。 可以很容易地计算出,如果我们想用白色点亮所有196个像素,那么我们需要将近12 A ...

寻找一种紧凑的PSU或DC-DC转换器可以在5V时产生这样的电流是非常困难的。 因此,我们决定在游戏中填充的区域不应超过60%,并且我们不使用白色/灰色(所有3个LED都打开的颜色),即 每个像素最大40 mA。 结果,我们得出该表的功耗不应超过5A。

我经常看到一个建议,那就是必须从两侧为磁带供电,以免电压损失。 但是,一方面,我们每100个LED灯带连接到胶带上,但没有观察到可见的电压下降。

电子产品


使用Arduino Mega 2560可以管理游戏的所有部分。为其分配了以下功能:

  • 进行校准,结果是我们找出步进电机必须克服多少步才能克服1个单元。
  • 从移动应用程序接收命令和数据,并将执行状态发送回BLE。
  • 根据从移动应用程序接收到的数据中的坐标,将笔架从A点移动到B点。
  • 打开/关闭电磁体。
  • 用特定颜色照亮桌子上的特定像素。 像素数和颜色由移动应用程序传输。

第一个原型组装在面包板上,包括以下组件:

  • Arduino Mega 2560;
  • 2个驱动器步进电机DRV8825;
  • 4个限位开关;
  • BLE模块HM-10;
  • 晶体管IRF530N-用于控制电磁体;
  • PSU MeanWell 12V 10A;
  • MeanWell DC-DC转换器从12V降压至5V,10A;

图片

在确保一切正常后,我们决定需要为Arduino Mega制作屏蔽罩,最后摆脱布线和一堆电线。

由于缺乏软件开发经验,我们决定将这项业务委托给专业人士。 结果,我们的一位朋友完全开发了电路板并安装了所有组件。 结果如下所示:

图片

由于缺乏经验,我无法判断执行质量,但董事会工作正常。 您可以在此处看到电路图。

行动应用程式


移动应用程序是我们游戏的大脑。 它是包含有关游戏状态,角色等所有信息的应用程序。 Anroid被选作开发平台,主要要求是BLE支持(因为将来计划添加适用于iOS的游戏版本)。

与电子产品不同,我们在开发移动应用程序方面经验不足,因此我们计划尽快完成此阶段。 但是,像往常一样,一切都没有按计划进行。

图片

我们很快意识到,实际上我们必须编写一款功能全面的手机游戏,其中显示信息的方法不仅是手机的屏幕,而且还是棋盘游戏的表面。

当前应用程序的主要功能:

  • 搜索BLE设备,确定适合连接的设备。 标识包括“握手”-手机必须确保所连接的设备确实是棋盘游戏的蓝牙模块,而不是电视。
  • 从可用的英雄中选择玩家(至少2个),目前有4个。
  • 向当前玩家提供所有必要的信息:有关可用技能,其冷却时间 ,对手的信息等。
  • 做出动作-每个玩家都可以借助“操纵杆”来控制自己的动作,通过操纵杆可以选择用于应用能力,动作等的单元。

我们没有熟悉的UX / UI设计师那样的美感,因此我们尽可能地自己进行设计。 将来,我们计划添加一个ENT,一个描述以及一个PVE模式,玩家可以在该模式中与竞技场的老板进行战斗。

结果


目前,我们拥有一个功能齐全的原型,您可以玩(尽管在1部智能手机上),并且可以在其上完善游戏的规则和机制。 我们花了大约一年的时间来创建它,并在有空闲时间的周末和罕见的晚上工作。

我们有一个雄心勃勃的计划:寻找志趣相投的人,敲定原型,完全“舔”游戏的平衡和规则,并尝试继续进行Kickstarter竞赛 , 这将是一次梦幻般的体验。

如果有趣的话,那么在下一篇文章中,我将向您详细介绍移动应用程序,游戏本身,我们如何制作缩影以及产生了哪些缩影。

Source: https://habr.com/ru/post/zh-CN425629/


All Articles