liangdi 发表于 2019-7-28 23:51:26

【脑洞大赛】投影增强游戏: 战地 Battle Field

# 投影增强游戏: 战地 Battle Field

### 概述

儿童时期的 FC 游戏 《Battle City》 给我们带来了很多美好的回忆,现在通过模拟器也可以再去回味,体验儿童时期的美好回忆,在蘑菇云这样的环境,激发了改进这个游戏机制的想法,希望能实现物理沙盘的《Battle City》,玩家可以控制实物战车和敌军开展战斗。正好借脑洞大赛的契机,把这个事情推动起来。本项目为[物联网游戏开发平台]原型验证项目。
FC 《Battle City》 ​

实景国际象棋
### 词汇说明

* 物联网游戏开发平台
    >基于Iot技术的游戏开发平台,特点是,软硬结合,物联网模式,多人互动。
* 投影增强
    >使用投影设备,投射画面,结合现实场景,增强展示效果,提高用户体验。

### 游戏机制 (待完善)
* 游戏目标
    >玩家(最多2人)操作坦克战车,在实景沙盘上对抗敌人部队,保卫碉堡。战场上敌人会同时出现多辆战车,敌人的目标是击毁玩家守护的碉堡,玩家需要消灭全部敌人的战车以及保护碉堡不被击毁。
* 攻击模式
    >战车发射炮弹攻击其他战车以及其他可攻击对象,攻击会产生一定范围的溅射,会造成伤害
* 生命系统
    >每辆战车有一定的护甲值,受到攻击后,护甲值降低,降低到0 后,战车损坏,不能继续游戏。
* 武器系统
    >玩家可以通过使用道具,提升自己的炮弹的攻击数据速度,攻击强度以及溅射范围。
* 道具
    >系统有攻击速度增强,攻击能力增强,溅射范围增强等道具,道具随机出现在地图上,玩家操作战车到达到道具所在位置即获得并且使用道具。
* 场景
    >游戏中,有可以通行战车的道路和平地场景,不能通行的悬崖/峡谷/河流等场景,可以通过攻击打通的障碍物场景。
* 敌人
    >敌人有可以移动进攻的战车,不可以移动的炮台。
* 特殊场景
    >碉堡,玩家的根据地,需要保护的地方,敌军攻击损坏后,游戏结束。

### 技术实现方案
#### 物理实现部分
* 战车
    >战车使用2轮驱动,低底盘,低速度,物理上实现前进,后退,左右转弯功能即可,主控使用 ESP32,电机驱动使用TB6612,其他技术细节待补充。
* 场景
    >场景设计使用 NxM 的矩阵场景,标准的正方形单位面积,任何道具,战车,炮台等都是以单位面积为基准设计。道路/平地部分,只需图案即可,战车可以通行,悬崖/峡谷/河流部分,需要物理凸起或者隔离,战车不可通行。障碍物场景在多次攻击后,需要实现下降隐藏后,战车可以通行。
#### 投影增强部分
* 攻击炮弹弹道
    >战车/炮台的炮弹发射炮弹的弹道使用投影实现,炮弹只能直线前进,直到遇到障碍物或者边缘后**。
* 攻击**效果
    >炮弹**效果使用投影实现,包括发射炮弹的效果。
* 道具
    >道具使用投影实现,投射到地图上。
#### 通信方案
* 网络方案
    >系统使用 WIFI 接入通讯,玩家,服务器,战车,场景在同一局域网内。
* 通讯协议
    >战车/场景等设备和服务器使用 MQTT 协议通讯。
    >投影程序(游戏引擎制作)使用 WebSocket 和服务器通讯。
#### 控制方案
* 玩家战车
    >玩家使用手机连接服务器,玩家控制发送控制指令,接收战场数据。
* 敌军
    >敌军战车,炮台等使用 ESP32 连接服务器,接收服务器下发的控制指令完成控制。
* 场景
    >目前为可破坏的障碍物,场景总控使用有线或者ESP32连接服务器,接收服务器下发的控制指令完成控制。
#### 软件方案
* 硬件部分
    >硬件部分,主要使用 ESP32 模块,使用 Arduino 兼容代码。
* 服务器逻辑部分
    >服务器部分使用 Go 或者 Java , 运行环境为 Linux 系统。
* 投影部分
    >投影部分使用 Unity3D 或者 GodotEngine 实现游戏画面。

### 项目计划
* 项目 Github 仓库: [https://github.com/mushroomcloud-cc/battle-field](https://github.com/mushroomcloud-cc/battle-field) , 欢迎 fork 和 star
待补充

liangdi 发表于 2019-7-29 15:16:41

本帖最后由 liangdi 于 2019-7-29 15:19 编辑

App 端使用 Flutter 开发,可以发布 Android 和 iOS 端。
App 使用 HTTP 和 WebSocket 和服务端通信。

#### App 端实现的功能
* 网络服务器配置
      由于使用内网通讯,不同的场所需要配置对应的服务器信息,会有一个页面提供对应的功能。
* 战车选择
      联通网络后,玩家可以选择红方还是绿方角色,参与游戏。
* 战车控制
      战车控制页面,玩家可以使用遥感和按钮,控制战车的行进和方向以及攻击控制。同时可以显示战场的小地图,以及战车战损情况,敌军情况。
#### Demo 截图

开始界面

玩家选择

控制界面

ASH腻 发表于 2019-7-29 18:58:02


安卓机器人 发表于 2019-8-8 08:53:19

看看这里就会知道`什么激发了创造力

breaker_MAG 发表于 2019-8-16 19:48:13

加油,楼主棒棒的
页: [1]
查看完整版本: 【脑洞大赛】投影增强游戏: 战地 Battle Field