申请taptap制造资格
06/1076 浏览
昨天搜taptap制造的技术手册的时候貌似翻到说支持从unity webgl移植?有没有人验证过兼容性?早些年和群友整地牢探索类游戏的时候研究过几个上世纪伪3d方案。。
项目:数据驱动的伪3D地牢探索引擎 Skill
一、一句话说明
我计划在Unity中开发一套完整的数据驱动型伪3D第一人称地牢探索核心引擎,提交给TapTap制造的AI进行阅读理解与学习,最终封装为一套Skill。后续创作者无需编写任何代码,仅需通过填写2D地图格子信息(墙壁类型、地面纹理、物品摆放等),即可自动生成可玩的伪3D地牢探索场景。
二、项目定位:从“用AI做游戏”到“让AI沉淀技能”
我的项目将实现一个“数据驱动型”伪3D地牢探索引擎,其最终Skill形态将承载以下能力:
· 创作者只需提供最基础的2D网格地图数据(墙壁/空地、材质纹理编号、怪物点位等);
· 引擎自动加载数据并执行射线投射计算、透视渲染、遮挡判定、移动逻辑、光照衰减;
· 最终输出的Skill能让创作者在TapTap制造环境中以接近零代码的方式直接使用这套技术。
这一成果将直接丰富TapTap制造的Skill生态,让复杂的伪3D地牢探索技术成为平台上人人都能调用的“Skill原子”。
三、技术核心方案:数据驱动的伪3D地牢引擎
3.1 核心技术路线
纯2D素材 + 射线投射(Ray Casting)算法实现第一人称3D地牢探索,不依赖任何3D模型资产,所有视觉效果均通过算法实时计算生成。
游戏世界本质上是一张二维整数网格地图(int[x, z]),每个格子存储“墙壁/空地”信息。渲染时从玩家位置发射射线,根据射线与墙壁的交点距离计算屏幕上的透视高度。创作者无需理解算法原理,只需填写地图数据。
TwoPointFive等同类技术已在Phaser/ImpactJS引擎中验证了这种方案的可行性——仅靠纯2D贴图和射线投射算法,即可在Web环境中实现类似《德军总部3D》风格的第一人称探索效果。
3.2 地图数据格式(创作者唯一需要填写的部分)
每个格子通过 type 字段定义其性质,支持墙壁(wall)、地面(floor)、斜坡(slope)、楼梯(stair)等基本地形类型。创作者的输入将完全脱离编程,仅聚焦于关卡设计。
3.3 数据驱动架构
整个引擎采用 “数据与逻辑彻底解耦” 的架构设计——渲染引擎完全由JSON数据驱动。工程内已集成地图解析器模块(Map Parser),自动完成以下工作:
· JSON文件加载与验证;
· 构建运行时的高效二维数组数据结构;
· 为每个墙壁格子预计算法线方向,为斜坡格子预计算四角高度插值数据;
· 最终通过统一的查询接口供渲染器调用:
· IsWall(x, z) —— 查询当前格子是否有墙壁阻挡;
· GetFloorHeight(x, z) —— 查询当前格子地面高度(支持高低差);
· GetTextureId(x, z, face) —— 查询每个面的纹理ID。
此外,引擎支持地图热加载功能:在运行时更换JSON文件,可即时重建世界数据并刷新场景,方便创作者快速迭代测试关卡设计。
3.4 高度场地形支持
为了支持地牢的上下坡、台阶、斜坡等丰富地形,引擎将扩展高度场渲染能力:
· 数据结构扩展:每个格子存储地面高度 floorHeight 和天花板高度 ceilHeight。
· 射线-高度场求交算法:射线步进时,比较射线高度与格子地面高度,判断是否被地面遮挡。
· 四角高度插值(斜坡) :斜坡格子存储四角高度 h00, h10, h01, h11,运行时根据射线与格子交点的局部坐标进行双线性插值,实现平滑斜坡渲染。
· 渲染管线改造:屏幕每一列支持绘制多个高度段(地面段 + 墙壁段),以完整呈现高低起伏的地形轮廓。
高度场方案在保持纯2D美术资产和低性能开销的同时,为地牢探索带来了上下起伏的立体层次感。
3.5 渲染系统
· 射线投射核心:采用DDA算法高效计算射线与网格边界的交点。
· 拐角遮挡:射线遵循“遇壁截停”原则,命中墙壁后停止进一步检测,被遮挡的怪物和道具自然不显示。
· 深度管理:固定最大渲染距离(默认为15格),确保性能可控。
· 移动逻辑:网络对齐的回合制移动,完成移动后重新计算渲染。
光照系统:纯数学亮度衰减模型——亮度 = 基准亮度 / (1 + 距离 × 衰减系数),配合法线方向和环境光叠加,完全不需要物理光照烘焙,性能开销极低。
3.6 交互内容扩展
在场景交互方面,引擎支持以下内容的渲染与摆放:
· 2D精灵式交互物(宝箱、火炬、药水等):采用公告牌技术,始终面向玩家。
· 3D低面体模型(雕像、祭坛、BOSS等):通过Unity直接放置3D模型,配合正交相机实现立体感。
特效与粒子效果(魔法技能特效、火焰烟雾、交互反馈等)也将在引擎中预留系统接口,供创作者在后续迭代中调用。
3.7 代码组织原则(面向AI可读性)
全部脚本将遵循以下规范:
· 模块拆分:Core(核心算法)、Map(地图解析)、Player(玩家移动)、Combat(战斗逻辑)、Utils(工具集);
· 每份脚本添加功能说明注释;
· 关键算法逐行注释,解释“做什么”和“为什么这么做”;
· 变量与类命名贴合设计术语,便于AI理解。
这份精心组织的工程文件将作为AI学习的范本,以促成最终Skill的准确封装。
四、创作者使用流程(Skill封装后的形态)
Skill封装完成后,用户在TapTap制造中的使用流程将极为简洁:
1. 在对话框中对AI说:“请创建一个伪3D地牢探索游戏。”
2. AI调用本Skill,自动加载引擎框架,并引导用户填写/粘贴地图JSON数据。
3. 用户提供地图数据,可选使用可视化地图编辑器绘制并导出JSON。
4. Skill自动完成:地图解析 → 数据结构构建 → 射线投射渲染 → 移动和光照系统 → 生成可游玩的游戏Demo。
5. 可迭代:替换JSON文件或修改纹理图集,Skill支持热加载,关卡和美术可即时更新。
这一流程彻底实践了TapTap制造“你负责创意,AI负责实现”的核心逻辑。
五、与TapTap平台的适配方案
本引擎将全程遵循TapTap官方的Unity WebGL适配方案:
· 技术原理:Unity利用Emscripten编译器工具链将C++代码编译为WebAssembly,结合JavaScript在浏览器中执行。该方案无需更换引擎与重写核心代码,通过转换工具可确保适配的兼容性和游戏内容的高度还原。
· 引擎版本:推荐使用Unity 2022.3 LTS版本,充分利用ASTC纹理压缩格式,降低运行内存并提升性能。
· Wasm分包:开启后,对于一个30MB的代码文件可降低约150MB内存占用,并减少编译时间,显著降低iOS低端设备启动时的CPU发烫。
· 运行环境:当前TapTap Unity小游戏已支持WebGL 2.0(相当于OpenGL ES 3.0),渲染方面无额外障碍。
性能天然优势:本项目不依赖任何3D模型,所有渲染物均为2D贴图,内存占用远低于一般3D游戏,对WebGL环境性能友好。
六、为什么这个Skill对TapTap制造平台有价值?
1. 填补技术空白:TapTap制造平台目前公开案例以2D游戏为主,在3D/伪3D探索类游戏方面能力尚处于发展期。本项目将直接为平台补充一套成熟的第一人称地牢探索技术方案。
2. 极致降低门槛:Skill封装后,创作者零代码只需填写JSON地图数据,不涉及任何渲染逻辑,真正实现“人人可做DRPG”。
3. 为AI提供优质训练数据:本工程代码注释详尽、架构清晰,可直接作为AI学习的范本,帮助平台提升对复杂游戏引擎的理解能力。
4. 可复用性强:Skill产生的游戏Demo可在任何TapTap制造环境运行,用户可自行替换地图JSON和纹理图集,极大提升创作自由度。
5. 启动生态反哺:TapTap制造产品以免费模式开放,目标是形成“创意落地 → 作品发布 → 生态反哺”的良性循环。成熟的Skill生态是这一闭环的关键,而本Skill提供的“零代码地牢探索能力”将直接激发更多创作者的创意落地。
结语
我期望借此次机会,打造一份能为TapTap制造平台Skill生态提供真正价值的技术方案。让AI在“理解一个完整的、具有数据驱动框架的伪3D地牢游戏工程”过程中,加深对游戏架构开发的理解,为平台积累一套高品质的可复用技术资产。
此前,TapTap制造实测案例显示,AI在2D开发方面的效果已高度可用,但在3D方面还有提升空间。而我的方案刚好填补这个缺口——在2D资产的低成本基础上,通过算法实现准3D的沉浸体验,为平台建立一套轻量、高性能、易于理解的技术范例。




