Skip to content

Repository files navigation

量子弹球 / Quantum Pinball

面向 Windows 的离线单人弹球游戏。项目使用原创未来科技视觉、程序化音效和简体中文界面,在不复制原版素材的前提下,参考 Windows 版《3D Pinball: Space Cadet》的计分、任务和机关行为。

当前版本:1.0.0。Windows 11 已完成本机验证;Windows 10 是目标平台,但尚未进行独立实机认证。

项目特性

  • 固定 120 Hz 的确定性物理循环,高速弹球启用连续碰撞检测。
  • 双独立电机挡板、蓄力活塞、六档技巧球、三方向震台和 TILT。
  • 收肩式台面、底部漏斗、独立发射道、坡道层级和完整洞口路由。
  • Windows 版基础计分、三球制、额外球、重玩球、倍率和本地前五名高分。
  • 17 个单人任务、约 90 秒任务燃料、九级军衔和 18 格晋升进度。
  • Electron 沙箱、上下文隔离、严格 CSP、窄 IPC 和运行时数据校验。
  • 原创程序化 WebAudio 音效与环境音乐,不依赖网络或外部游戏资源。

快速开始

玩家

GitHub Releases 下载 QuantumPinball.exe 和对应的 .sha256 文件,验证校验值后双击运行。程序免安装,不要求管理员权限,也不需要联网。

详细操作、设置和 SmartScreen 说明见用户指南

功能 默认按键
左 / 右挡板 Z / /
活塞蓄力与释放 Space
右 / 左 / 上震台 X / . / ?
设置与暂停 Esc
物理调试层 F9
游戏结束后重新开始 Enter

开发者

需要 Node.js 24、pnpm 11.19 和 Windows 开发环境。

pnpm install --frozen-lockfile
pnpm check
pnpm dev

构建便携版:

pnpm package:portable

完整环境、命令和调试说明见开发指南

架构概览

flowchart LR
  Input[键盘输入] --> Physics[Planck.js 物理世界]
  Physics --> PE[PhysicsEvent]
  PE --> Map[事件映射]
  Map --> GE[GameEvent]
  GE --> Reducer[纯函数规则归约器]
  Reducer --> State[GameState]
  State --> HUD[HUD / 灯光 / 音频]
  Table[TABLE 台面定义] --> Physics
  Table --> Render[PixiJS 渲染]
  Table --> Tests[完整性测试]
  State --> Preload[受限 preload 桥]
  Preload --> Store[主进程原子 JSON 存储]
Loading

物理、规则、UI 和音频遵循单向数据流。台面视觉与碰撞体共享 TABLEPLAYFIELD_SHELLPLAYFIELD_WALL_SEGMENTS,避免出现多套坐标。详细设计见架构文档

仓库结构

src/main/                 Electron 主进程、安全策略、IPC、持久化
src/preload/              最小化 contextBridge
src/renderer/src/game/    PixiJS 场景、Planck.js 物理、输入和音频
src/shared/               契约、台面/计分/任务数据、规则归约器
tests/                    单元、机制、压力和端到端流程测试
docs/                     架构、开发、测试、发布和规则文档
build/                    原创应用图标
checksums/                已发布便携 EXE 的 SHA-256

文档导航

文档 用途
架构设计 进程边界、数据流、物理循环、安全与扩展点
开发指南 环境、命令、目录、调试和常见修改流程
测试策略 自动测试分层、确定性要求和手工验收
发布手册 版本、构建、冒烟、校验和 GitHub Release
规则研究 原版资料来源、差异和采用规则
台面布局 坐标系、区域和不得破坏的空间约束
用户指南 玩家操作、设置和故障恢复
测试报告 当前发行版的验证结果
GitHub 发布清单 首次公开仓库前的维护者检查项
贡献指南 分支、提交、PR 和回归要求
安全策略 支持版本、漏洞报告和安全边界
变更日志 面向版本的用户可见变化

项目边界

首版仅支持单人、键盘、简体中文和本地高分,不包含联网排行榜、云存档、自动更新、多人、手柄或触屏。复刻目标是规则、机制与手感,不追求与原程序逐帧浮点一致。

本项目不包含或分发原版位图、Logo、人物、音频、商标资源或 CADET.DAT。第三方依赖和规则参考见第三方说明

许可证

项目代码与原创资源采用 MIT License 开源。原版游戏名称和相关商标归各自权利人所有;MIT License 不授予任何第三方商标或原版素材权利。

状态与贡献

当前发行验证基线为 13 个测试文件、148 项测试。实现进度和历史里程碑见 PROGRESS.md。提交修改前请阅读贡献指南,并至少运行:

pnpm check

About

原创未来科技风格的离线 Windows 弹球游戏,使用 Electron、PixiJS 与 Planck.js。

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages