# Dorothy-SSR
**Repository Path**: bmuyu2020/Dorothy-SSR
## Basic Information
- **Project Name**: Dorothy-SSR
- **Description**: Dorothy项目,Special Super Rare的新版本。Dorothy SSR是一个新的2D游戏开发框架,目标是沿用原Dorothy项目的Lua API和游戏编辑器,使用跨平台的bgfx图形接口和SDL2框架重写底层代码,让Dorothy游戏框架更具有发展力。
- **Primary Language**: C++
- **License**: MIT
- **Default Branch**: main
- **Homepage**: https://dorothy-ssr.net/zh-Hans
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 40
- **Created**: 2023-07-18
- **Last Updated**: 2024-06-16
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Dorothy SSR
#### [English](README.md) | 中文
Dorothy SSR是一个用于多种设备上快速开发2D游戏的游戏引擎。它内置易用的开发工具链,支持在手机、开源掌机等设备上直接进行游戏开发。
|Android|Linux|Windows|macOS|iOS|
|:-:|:-:|:-:|:-:|:-:|
|[](https://github.com/pigpigyyy/Dorothy-SSR/actions/workflows/android.yml)|[](https://github.com/pigpigyyy/Dorothy-SSR/actions/workflows/linux.yml)|[](https://github.com/pigpigyyy/Dorothy-SSR/actions/workflows/windows.yml)|[](https://github.com/pigpigyyy/Dorothy-SSR/actions/workflows/macos.yml)|[](https://github.com/pigpigyyy/Dorothy-SSR/actions/workflows/ios.yml)|
## 主要特点
- 基于树形结点结构管理游戏场景。
- 基础的2D平台游戏功能,包括游戏逻辑和AI开发框架。
- 易用的ECS模块,便于游戏实体管理。
- 异步处理的文件读写、资源加载等操作。
- 升级的Lua绑定,支持继承和扩展底层C++对象。
- 支持Yuescript语言,强表达力且简洁的Lua方言。
- 支持Teal语言,编译到Lua的静态类型语言。
- 支持Rust语言,运行在内置的WASM绑定和VM上。
- 2D骨骼动画和物理引擎支持。
- 内置开箱即用的Web IDE,提供文件管理,代码检查、补全、高亮和定义跳转。
- 支持异步操作SQLite,进行大量游戏配置数据的实时查询和写入。
- 支持Excel表格数据读取,支持同步到SQLite库表。
- 内置用于创新游戏玩法的机器学习算法框架。
- 支持Yarn Spinner语言,便于编写复杂的游戏故事系统。
- 提供矢量图形渲染API,可直接渲染无CSS的SVG格式文件。
- 内置ImGui,便于创建调试工具和UI界面。
- 支持FLAC、OGG、MP3和WAV多格式音频播放。
- 支持True Type字体的渲染和基础排版。
- 提供可用于制作自己游戏的开放美术素材和游戏IP —— [《灵数奇缘》](http://luvsensedigital.org)。
## 安装配置
- 快速上手
- Android
- 1、在游戏的运行终端下载并安装[APK](https://github.com/pigpigyyy/Dorothy-SSR/releases/latest)包。
- 2、运行软件,通过局域网内的PC(平板或其他开发设备)的浏览器访问软件显示的服务器地址。
- 3、开始游戏开发。
- Windows、macOS
- 1、下载并运行[软件](https://github.com/pigpigyyy/Dorothy-SSR/releases/latest)。
- 在macOS上也可以通过 Homebrew 进行软件安装。
```sh
brew tap pigpigyyy/dorothy-ssr
brew install --cask dorothy-ssr
```
- 2、运行软件,通过浏览器访问软件显示的服务器地址。
- 3、开始游戏开发。
- 引擎项目开发
进行Dorothy SSR项目开发的安装配置,详见[官方文档](https://dorothy-ssr.net/zh-Hans/docs/tutorial/dev-configuration)。
## 快速入门
1. 第一步:创建一个新项目
- 在浏览器中,打开Dora Dora编辑器左侧游戏资源树的右键菜单。
- 点击菜单项`New`,选择新建文件夹。
2. 第二步:编写游戏代码
- 在项目文件夹下新建游戏入口代码文件,选择Yuescript语言命名为`init`。
- 编写Hello World代码:
```moonscript
_ENV = Dorothy!
with Sprite "Image/logo.png"
\addTo Director.entry
\schedule once ->
for i = 3, 1, -1
print i
sleep 1
print "Hello World!"
\perform Sequence(
Scale 0.1, 1, 0.5
Scale 0.5, 0.5, 1, Ease.OutBack
)
```
3. 第三步:运行游戏
点击编辑器右下角`🎮`图标,然后点击菜单项`Run`。或者按下组合键`Ctrl + r`。
4. 第四步:发布游戏
- 通过编辑器左侧游戏资源树,打开刚才新建的项目文件夹的右键菜单,点击`Download`选项。
- 等待浏览器弹出已打包项目文件的下载提示。
更详细的教程,请查看[官方文档](https://dorothy-ssr.net/zh-Hans/docs/tutorial/quick-start)。
## 示例项目
- [示例项目 - Loli War](https://github.com/pigpigyyy/Dorothy-SSR/tree/main/Assets/Script/Game/Loli%20War)

- [示例项目 - Zombie Escape](https://github.com/pigpigyyy/Dorothy-SSR/tree/main/Assets/Script/Game/Zombie%20Escape)
- [示例项目 - Dismentalism](https://github.com/pigpigyyy/Dorothy-SSR/tree/main/Assets/Script/Game/Dismantlism)
- [示例项目 - Luv Sense Digital](https://e.coding.net/project-lsd/lsd/game.git)
## 文档
- [API参考](https://dorothy-ssr.net/zh-Hans/docs/api/intro)
- [教程](https://dorothy-ssr.net/zh-Hans/docs/tutorial/quick-start)
## 社区
- [Discord](https://discord.gg/ydJVuZhh)
- [QQ群:512620381](https://qm.qq.com/cgi-bin/qm/qr?k=7siAhjlLaSMGLHIbNctO-9AJQ0bn0G7i&jump_from=webapi&authKey=Kb6tXlvcJ2LgyTzHQzKwkMxdsQ7sjERXMJ3g10t6b+716pdKClnXqC9bAfrFUEWa)
## 贡献
欢迎参与Dorothy SSR的开发和维护。请查看[贡献指南](CONTRIBUTING.zh-CN.md)了解如何提交Issue和Pull Request。
## 许可证
Dorothy SSR使用[MIT许可证](LICENSE)。