周末发布一个 steam 游戏,灵感来源于经典的 Chrome 离线恐龙小游戏

5 月 24 日
 liuliangsir

steam 商店链接

特性

技术栈

层级 技术
运行时 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 # 组件样式
1276 次点击
所在节点    分享创造
8 条回复
dawn009
5 月 25 日
知道这视频是在展示功能,但作为游戏演示,真的看得人血压飙升
liuliangsir
5 月 25 日
@dawn009 想问下,这视频有哪些问题呢?我后续再优化一下
dawn009
5 月 25 日
@liuliangsir
两个主要问题

1. 困惑。目前的观感是,不知道正在演示的是什么。需要突出显示,光靠游戏本身的选单不够突出这一点。

2. 挫败感。对于游戏来说,用户的第一关注点是这个游戏是否好玩。目前的演示第一关注点是游戏实现了哪些功能,并且为了演示功能忽视了对游戏本身的展示——小恐龙不出 2 秒一头撞死,充满了“窒息操作的挫败感”
liuliangsir
5 月 25 日
@dawn009 好的
kirei
5 月 25 日
首页视频是何意味?因为我平常浏览 steam 也不开视频声音,然后看十几秒无意义的东西,画面没有解说。然后就是失败失败失败,可以试试简短的通关操作(中间可以加速)然后到双人的展示,展现一下通关结算。
展示页没有啥吸引力,当然感觉游戏本身也,赛跑游戏太小众了。看到这个突然想起来一个 speedrunner ,所以灵感来自于恐龙游戏,有什么玩法上的拓展?
liuliangsir
5 月 25 日
@kirei 好的。首页视频就是单纯告诉玩家里面有哪些功能
kylehuangyu
5 月 27 日
开源的吗?
liuliangsir
5 月 27 日

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1215149

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX