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