























| 层级 | 技术 |
|---|---|
| 运行时 | Electron 28 |
| 游戏引擎 | Phaser 3.90 |
| UI 框架 | React 19 |
| 状态管理 | Zustand 5 |
| 语言 | TypeScript 5.7 |
| 构建工具 | Vite 6 + electron-vite 5 |
| 打包发布 | electron-builder 24 |
src/
├── main/ # Electron 主进程
│ ├── index.ts
│ └── steam.ts # Steamworks SDK 集成
├── preload/ # 预加载脚本( Context Bridge )
│ └── index.ts
└── renderer/ # 渲染进程
└── src/
├── App.tsx # 根组件 & 事件绑定
├── main.tsx # React 入口
├── phaser-game.tsx # Phaser ↔ React 桥接
├── components/ # React UI 组件
│ ├── main-menu.tsx
│ ├── game-overlay.tsx
│ ├── game-over.tsx
│ ├── skin-selector.tsx
│ ├── shop.tsx
│ ├── settings.tsx
│ └── daily-challenge.tsx
├── stores/ # Zustand 状态仓库
│ ├── game-store.ts
│ ├── input-mode-store.ts
│ └── player-store.ts
├── hooks/
│ └── use-game-events.ts # Phaser ↔ React 事件钩子
├── game/
│ ├── main.ts # Phaser 游戏引导
│ ├── event-bus.ts # 跨框架事件总线
│ ├── types/ # 共享 TypeScript 类型 & 枚举
│ ├── assets/ # Chrome 精灵图资源
│ ├── scenes/ # Phaser 场景
│ │ ├── boot.ts
│ │ ├── preloader.ts
│ │ └── game-scene.ts
│ ├── objects/ # 游戏对象
│ │ └── dino.ts
│ ├── managers/ # 游戏子系统管理器
│ │ ├── background-manager.ts
│ │ ├── camera-source.ts
│ │ ├── difficulty-manager.ts
│ │ ├── ghost-manager.ts
│ │ ├── head-pose-source.ts
│ │ ├── ground-manager.ts
│ │ ├── input-manager.ts
│ │ ├── level-manager.ts
│ │ ├── obstacle-manager.ts
│ │ ├── power-up-manager.ts
│ │ └── score-manager.ts
│ ├── sprites/ # 程序化精灵生成
│ └── audio/ # 程序化音频生成
└── styles/
├── global.css # 设计令牌 & 基础样式
└── components.css # 组件样式
1 dawn009 5 月 25 日知道这视频是在展示功能,但作为游戏演示,真的看得人血压飙升 |
3 dawn009 5 月 25 日@liuliangsir 1. 困惑。目前的观感是,不知道正在演示的是什么。需要突出显示,光靠游戏本身的选单不够突出这一点。 2. 挫败感。对于游戏来说,用户的第一关注点是这个游戏是否好玩。目前的演示第一关注点是游戏实现了哪些功能,并且为了演示功能忽视了对游戏本身的展示——小恐龙不出 2 秒一头撞死,充满了“窒息操作的挫败感” |
5 kirei 5 月 25 日
|
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。