项目简介
Ga - Me是一款跨设备游戏,基于ESP32硬件平台开发。它将经典乒乓游戏与创意艺术创作结合,探索人们在现实生活中平衡工作与休闲的挑战。游戏通过三个便携设备实现,玩家进行乒乓游戏时,球不在自己屏幕上能进行艺术创作,球进入屏幕艺术作品则被删除,需玩家平衡两种操作。
项目的主要特性和功能
游戏玩法
- 乒乓游戏体验:左右两侧玩家各控制三个屏幕上的三个球拍,中间玩家可影响球的水平移动速度,助力或干扰其他玩家。
- 创意艺术创作:球不在玩家屏幕时,玩家可通过触摸屏幕左右边缘与生成式艺术工具互动,创作受指纹启发的独特艺术作品。
硬件要求
- 使用三个TTGO T - Display ESP32板,内置TFT LCD显示屏。
- 推荐用USB C电缆编程,通过JST连接器用锂电池供电。
安装使用步骤
硬件设置
- 用USB C电缆连接TTGO T - Display ESP32板用于编程。
- 通过JST连接器为每个板连接锂电池供电。
- 可装饰设备顶部,但避免使用干扰天线的材料,覆盖设备要确保艺术控制界面可用。
软件设置
软件依赖
安装Arduino 1.8.13或类似版本。
准备工作
- 为每个设备上传GetMAC.ino,记录串口监视器输出的MAC地址。
- 在
ESP32/GaMe
目录下创建common.h
文件,按如下格式写入MAC地址: ```c
define MAC1 {0xAB, 0xCD, 0xEF, 0x12, 0x34, 0x56}
define MAC2 {0xAB, 0xCD, 0xEF, 0x12, 0x34, 0x56}
define MAC3 {0xAB, 0xCD, 0xEF, 0x12, 0x34, 0x56}
``
MAC1对应游戏“左侧”面板,
MAC2为中间面板,
MAC3`代表“右侧”面板。
安装步骤
- 在GaMe.ino中,将
BOARD_ROLE
定义为1
,连接对应MAC1
的板并上传代码。 - 对对应
MAC3
的板,将BOARD_ROLE
定义为3
后上传代码。 - 最后对中间板(对应
MAC2
)重复上述步骤,该板代码会启动乒乓游戏,若设备开机顺序不同,按其RESET
按钮启动游戏。
配置调整
可通过修改以下宏来调整乒乓游戏玩法:
| 宏 | 类型 | 功能 |
| --- | --- | --- |
| PADDLE_HEIGHT
| 正整数 | 控制球拍大小 |
| PADDLE_VEL
| 正整数 | 控制球拍和球通过按钮输入的移动速度 |
| BALL_RADIUS
| 正整数 | 控制球的大小 |
| VEL_X_MIN
| 正整数 | 控制球的最小起始水平速度 |
| VEL_X_MAX
| 正整数 | 控制球的最大起始水平速度 |
| VEL_Y_MIN
| 正整数 | 控制球的最小起始垂直速度 |
| VEL_Y_MAX
| 正整数 | 控制球的最大起始垂直速度 |
| GAME_TICK
| 正小数 | 改变控制循环周期,值越大系统发热减少、电池续航可能增加,但过高会导致输入延迟和动画卡顿 |
游戏操作
乒乓游戏控制
- 左右玩家(玩家1和3):左按钮使球拍向下移动,右按钮使球拍向上移动。
- 中间玩家(玩家2):左按钮使球向左移动,右按钮使球向右移动,但不能完全改变球的方向。
艺术创作控制
当球不在玩家屏幕且未输掉乒乓游戏时,触摸屏幕左右边缘与生成式艺术界面互动,按左边缘增加逆时针旋转速度,按右边缘增加顺时针旋转速度,按压力度越大旋转速度越快。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】