本页目录

牛马日记(hustle-diary):微信小游戏「羊了个羊」风格消除游戏

hustle-diary · WangChangxin0809/hustle-diary

一款基于微信小游戏平台开发的「羊了个羊」风格消除类小游戏,仓库名为 hustle-diary(牛马日记)。项目使用 JavaScript 编写,标签涵盖 canvas、HTML5 游戏、小游戏、解谜、方块匹配等方向。README 摘录内容为 PlayCanvas 引擎说明,与...

其他 自研引擎 JavaScript 物理系统 动画系统 音频系统 UI 系统 中级
★ Stars 17,237 Forks 2,051 License MIT 更新 2026-11-07

国内开发环境适配

Windows
未知
Linux
未知
macOS
未知
引擎 / 框架:自研引擎 暂无中文教程标记 未标记站长实测
引擎以 NPM 包形式分发,安装依赖时可能受 npm 源速度影响,可考虑使用国内镜像源;从源码构建需 Node.js 18+。README 未提及国内网络环境的特殊限制,具体待核验。

中文项目介绍

PlayCanvas Engine 是一个开源的游戏引擎,构建在 WebGL2 与 WebGPU 之上,目标是在浏览器中运行可交互的 3D 应用、游戏与可视化内容。仓库描述将其定位为“强大的 Web 图形运行时”,并明确提到 WebXR 与 glTF 支持。

它并非只面向游戏:从官方展示的项目来看,既有休闲游戏、广告互动,也有汽车展示、角色模型与全局光照等技术演示。引擎本体以 JavaScript 编写,同时提供 TypeScript 类型声明,可通过 NPM 包 playcanvas 引入到任意前端工程中。

README 顶部提供了完整的文档入口矩阵:用户手册、API 参考、示例页面、博客与论坛,说明该项目在文档建设上有持续投入。README 还提供英文、中文、日文、韩文多语言版本。

核心功能

图形

基于 WebGL2 与 WebGPU 的高级 2D + 3D 图形引擎。

高斯泼溅

对 3D Gaussian Splats 的加载与渲染提供一等支持,并附有用户手册章节链接。

XR

通过 WebXR 内置沉浸式 AR 与 VR 体验支持。

物理

与 3D 刚体物理引擎 ammo.js 完整集成。

动画

面向角色与任意场景属性的、基于状态的动画系统。

输入

鼠标、键盘、触摸与手柄 API。

声音

基于 Web Audio API 的 3D 定位音效。

资源

基于 glTF 2.0 的异步流式系统,并支持 Draco 与 Basis 压缩。

脚本

可用 TypeScript 或 JavaScript 编写游戏行为逻辑。

技术架构分析

如何构建

从源码构建需要 Node.js 18 及以上版本。先安装依赖:

npm install

随后可执行 README 列出的构建命令:

命令 说明 输出目录
npm run build 构建全部引擎变体与类型声明 build
npm run docs 构建引擎 API 参考文档 docs

如果只是使用引擎开发项目,通常无需从源码构建,直接安装 NPM 包或使用脚手架即可。

补充说明

安装与快速上手

安装方式非常直接:

npm install playcanvas

或者使用官方脚手架在数秒内创建一个完整项目:

npm create playcanvas@latest

README 给出的 Hello World 示例是一个旋转的立方体,展示了引擎的基本使用范式:

  • 创建 Application 并绑定到 canvas 元素;
  • 通过 setCanvasFillMode 与 setCanvasResolution 设置画布填充与分辨率策略;
  • 监听窗口 resize 事件并调用 resizeCanvas() 自适应尺寸;
  • 用 Entity 加 addComponent 的方式组装渲染体、相机与灯光;
  • 在 app.on('update', ...) 回调中按帧间隔 dt 旋转立方体;
  • 最后调用 app.start() 启动主循环。

这种“实体 + 组件”的组织方式对熟悉组件化开发的读者比较友好。README 还提供了 CodePen 在线示例链接,以及基于引擎搭建本地开发环境的独立指南入口。

生态与工具链

README 用一张表格梳理了围绕引擎的生态包,方便按需选型:

包 说明
playcanvas 核心引擎本体
@playcanvas/react 面向 PlayCanvas 的 React 渲染器
@playcanvas/web-components 通过自定义元素实现声明式 3D
create-playcanvas 项目脚手架 CLI
PlayCanvas Editor 基于浏览器的可视化编辑器

这意味着团队可以按自身技术栈选择接入方式:纯引擎脚本、React 组件化,或 Web Components 声明式写法。可视化编辑器则提供了不写代码也能搭建场景的路径。

项目展示与使用者

README 的 Project Showcase 一节列出了若干已发布的游戏与应用,并给出可在线试玩的链接,包括 Seemore、After The Flood、Casino、Swooop、dev Archer、Gaussian Splat Statues、Car、Star-Lord、Global Illumination 等,更多作品可在官网探索页查看。

Users 一节列出了在游戏、广告与可视化领域使用该引擎的公司名单,例如 Animech、Arm、BMW、Disney、Facebook、Famobi、King、Miniclip、Mozilla、Nickelodeon、Samsung、Snap、Zynga 等。这些信息来自 README 原文,可作为了解其工业应用场景的参考。

学习建议

对于初次接触的读者,建议按以下顺序推进:

  1. 先跑通 README 中的旋转立方体示例,理解 Application、Entity、组件与 update 事件的关系;
  2. 阅读用户手册中的独立开发环境搭建章节,建立本地工程;
  3. 按兴趣深入图形、XR、高斯泼溅或物理等专题手册;
  4. 对照示例页面与 API 参考,逐步替换为自己的场景与脚本。

引擎同时支持 JavaScript 与 TypeScript 编写脚本,已有前端经验的开发者上手成本相对可控;但 3D 图形、着色与 XR 相关内容仍需一定的图形学基础。

开源许可证与版权说明

许可证标识:MIT。源码、资源与依赖许可可能不同,请以官方仓库为准。本站仅做索引,不托管源码。

相似项目