mini-shed 目前版本 v0.2,龟速独立开发中,有建议,想参与,想聊天的欢迎来骚扰。
- 基于前端流行技术
TypeScript编写,babel+rollup构建,用组合npm包的方式开发小游戏。 - 在
VSCode中开发,Chrome浏览器中实时刷新调试,秒编译到各个小游戏平台。 - 可发布 Web版
H5小游戏,微信/QQ小游戏,头条/抖音小游戏,OPPO/VIVO小游戏等快游戏平台。 Entity-Component-System架构,数据驱动,简单高效,独立System自由组合,易于扩展。- 专注于小且快,没用
Adapter库,原生WebGL渲染,跨小游戏平台统一API。
迷你屋使用 @shed/cli 来创建,编译小游戏。
- 用 npm 安装
npm install -g @shed/cli
# 网络环境不好可安装淘宝镜像 cnpm,之后所有 npm 命令都用 cnpm 代替
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm install -g @shed/cli- 或用 yarn 安装
yarn global add @shed/cli打开命令行输入 shed 回车,如果安装成功会有提示信息。
> shed create myGame # 在当前目录下创建一个新游戏叫做 `myGame`进入 myGame 目录,安装依赖
> cd myGame
> npm install # 或者 yarn install 在 myGame 目录中运行
> yarn dev # 或者 npm run dev编译后电脑会立刻弹开默认浏览器,并且生成本地二维码,手机扫描可与电脑同时查看效果。
此时代码在监视模式中,修改代码保存,电脑和手机浏览器会自动刷新。
其他命令见 @shed/cli 文档页
整个项目是在 Lerna 管理下的 monorepo。
mini-shed 中的包是标准的 npm 包,可按需组合,并不局限在下边的包,可自行扩展。
| Package | Status | Description |
|---|---|---|
| @shed/cli | 命令行工具,主要用来创建,编译小游戏,还提供一些辅助功能 | |
| @shed/ecs | 开放的 Entity-Component-System 系统实现 |
|
| @shed/math | 数学支持库 Matrix,Vector 等 | |
| @shed/gl | 使WebGL API 简化的面向对象包装 |
|
| @shed/platform | 以微信小游戏为基准,统一各小游戏平台提供的API,并 Promise 化 |
|
| @shed/utils | 一些实用类或函数 |
创建一个新包可以基于此修改
| Package | Status | Description |
|---|---|---|
| @shed/new-package | 一个配置好typescript, babel, rollup 的模板包 |
Entity Component System 中的 System 可以独立成一个 npm 包存在,使得非常容易扩展。
| Project | Status | Description |
|---|---|---|
| @shed/render2d-system | 2d渲染系统,它会尽量把所有 Entity 打包在一起一次渲染 |
| Package | Description |
|---|---|
| @shed/starter | 使用shed create 命令创建的默认demo |
.github 文件夹内是 github actions ,用于发布@shed/starter 到国内镜像
每次push源代码到 github 时,会触发此流程
github actions会自动把 /packages/starter 目录 ,强推到 coding.net 和 gitee.com 以下项目地址
使用@shed/cli命令行创建游戏时,实际上是从上边的地址clone下来的
shed create myGame
# 实际相当于
# git clone https://e.coding.net/shed/mini-shed-starter.git myGame
