Tile Explorer Web — 24h AI GameDev 马拉松作品 (软件作品)

Tile Explorer 是我在 24 小时内完成的一款浏览器三消瓦片解谜游戏。整个项目完全采用 Web 原生技术栈开发,渲染引擎使用 PixiJS(CDN 引入),音效通过 Web Audio API 程序化合成,零构建工具、零 npm 依赖——双击 index.html 即可运行。游戏已部署至 GitHub Pages,后端使用 Supabase 免费层实现在线排行榜,整体运维成本为 0 元/月。

↑ 上方可直接游玩(需要联网加载)

核心玩法:版面上堆叠着带有图案的瓦片,点击可用瓦片将其送入底部 7 格收集槽,凑齐 3 个相同图案自动消除,清空版面上所有瓦片即通关。

项目的主要亮点:

  1. 数学可解性保证:关卡布局由难度公式推导生成,瓦片总数 = patternTypes × setsPerType × 3,从根本上保证每种图案数量均为 3 的倍数。同时,Web Worker 中运行回溯求解器对每个布局做正向验证,只有确认存在通关路径才会采用,并记录最优步数作为星级评分基准。
  2. 程序化音效合成:所有交互音效(点击、消除、连击、道具、警告等)均通过 Web Audio API 实时合成,零音频文件、零网络请求。连击音效基于 C 大调和弦递进系统设计,从三角波到锯齿波逐渐变亮,给玩家”蓄力”的感知。BGM 播放时音效自动 Ducking(降 6dB),200ms 后平滑恢复。
  3. 数据驱动架构:难度曲线、道具属性、主题配置均为可编辑的声明式配置表。策划可直接修改 JS 配置文件调整难度曲线和道具参数,无需触碰游戏逻辑代码。6 套视觉主题各有独立的 32 emoji 图案库、背景图和 BGM,每 3 关自动轮换。
  4. PWA + 离线支持:实现了完整的 Progressive Web App 支持——可安装到手机主屏幕、支持完全离线游玩。Service Worker 采用三级缓存策略(静态资源预缓存、CDN 资源缓存优先、主题媒体 Stale-While-Revalidate),双 CDN 容灾自动回退。
  5. 零成本在线排行榜:使用 Supabase 免费层(PostgreSQL + REST API),首次访问自动生成 UUID 存入 localStorage,无需注册。数据库启用行级安全(RLS),客户端仅持有 anon key,输入经双重正则校验 + XSS 清洗。离线成绩存入本地队列,联网后自动提交。

工程方面,瓦片覆盖关系使用空间哈希(O(n) 替代 O(n²)),消除特效使用预分配粒子对象池避免 GC 抖动,透明度计算遵循韦伯-费希纳定律的指数衰减模型,槽位采用智能聚类插入算法帮助玩家快速识别匹配机会。

整个项目在 24 小时内完成,自有代码 14 个 JS 模块 + 3 个 CSS + 1 个 HTML,覆盖 10,000 关、6 种道具、6 套主题。过程中 AI 辅助生成了绝大部分代码与全部音效参数、BGM 资产,我主要负责架构设计、需求梳理、数据结构设计及代码质量把控。