23 个不稳定版本 (3 个破坏性更新)
新 0.4.2 | 2024年8月21日 |
---|---|
0.3.4 | 2024年8月2日 |
0.3.3 | 2024年7月26日 |
0.1.6 | 2024年2月29日 |
0.1.4 | 2023年12月26日 |
#58 在 游戏开发
606 每月下载量
630KB
9K SLoC
多拉-SSR
多拉-SSR 是一个适用于多种设备的 2D 游戏快速开发的游戏引擎。它内置了易于使用的开发工具链,支持在手机、开源掌机和其他设备上直接进行游戏开发。
关键特性
-
基于树节点结构管理游戏场景。
-
基本的 2D 平台游戏功能,包括游戏逻辑和 AI 开发框架。
-
易于使用的 ECS 模块用于游戏实体管理。
-
异步处理文件读写、资源加载等操作。
-
升级后的 Lua 绑定,支持继承和扩展低级 C++ 对象。
-
支持 YueScript 语言,是一种强大的 Lua 方言。
-
支持 Teal 语言,是 Lua 的静态类型方言。
-
支持 TypeScript,是一种在 JavaScript 上增加强大类型检查的静态类型超集。
-
支持 TSX,允许在脚本中嵌入类似 XML/HTML 的文本,与 TypeScript 一起使用。
-
支持 Rust 语言,在内置 WASM 运行时上运行,具有 Rust 绑定。
-
支持 2D 骨骼动画和物理引擎。
-
内置开箱即用的 Web IDE,提供文件管理、代码检查、补全、高亮和定义跳转。
-
支持异步 SQLite 操作,用于实时查询和管理大型游戏配置数据。
-
支持读取 Excel 工作表数据并将其同步到 SQLite 表。
-
支持 Yarn Spinner 语言,使编写复杂游戏故事系统变得容易。
-
内置机器学习算法框架,用于创新游戏玩法。
-
提供矢量图形渲染 API,可以直接渲染 SVG 格式文件,无需 CSS。
-
内置 ImGui,易于创建调试工具和 UI 接口。
-
支持 FLAC、OGG、MP3 和 WAV 多格式音频播放。
-
支持 True Type 字体渲染和基本排版。
-
提供开源艺术资源和游戏 IP,可用于创建自己的游戏 - "Luv Sense Digital"。
安装
-
快速入门
-
Android
-
- 在游戏开发运行终端上下载并安装 APK 包。
-
- 运行软件,并通过局域网中PC(平板或其他开发设备)的浏览器访问软件显示的服务器地址。
-
- 开始游戏开发。
-
-
Windows,macOS
-
- 下载并运行软件。
- 使用Homebrew在macOS上获取软件:
brew tap ippclub/dora-ssr brew install --cask dora-ssr
- 下载并运行软件。
-
- 运行软件并通过浏览器访问软件显示的服务器地址。
-
- 开始游戏开发。
-
-
Linux
-
- 安装。
-
Ubuntu Jammy
sudo add-apt-repository ppa:ippclub/dora-ssr sudo apt update sudo apt install dora-ssr
-
Debian Bookworm
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 9C7705BF sudo add-apt-repository -S "deb https://ppa.launchpadcontent.net/ippclub/dora-ssr/ubuntu jammy main" sudo apt update sudo apt install dora-ssr
-
- 运行软件并通过浏览器访问软件显示的服务器地址。
-
- 开始游戏开发。
-
-
-
引擎项目开发
有关Dora SSR项目开发的安装和配置,请参阅官方文档以获取详细信息。
快速入门
-
步骤 1:创建新项目
-
在浏览器中,打开Dora Dora编辑器左侧游戏资源树的右键菜单。
-
单击菜单项
New
并选择创建一个名为Hello
的新文件夹。
-
-
步骤 2:编写游戏代码
-
在命令行中创建新项目。
rustup target add wasm32-wasi cargo new hello-dora --name init cd hello-dora cargo add dora_ssr
-
在
src/main.rs
中编写代码。use dora_ssr::*; fn main () { let mut sprite = match Sprite::with_file("Image/logo.png") { Some(sprite) => sprite, None => return, }; let mut sprite_clone = sprite.clone(); sprite.schedule(once(move |mut co| async move { for i in (1..=3).rev() { p!("{}", i); sleep!(co, 1.0); } p!("Hello World"); sprite_clone.perform_def(ActionDef::sequence(&vec![ ActionDef::scale(0.1, 1.0, 0.5, EaseType::Linear), ActionDef::scale(0.5, 0.5, 1.0, EaseType::OutBack), ])); })); }
-
将其构建为WASM文件。
cargo build --release --target wasm32-wasi
-
上传到引擎运行。从Dora SSR Web IDE,打开创建的文件夹
Hello
的游戏资源树的右键菜单。单击菜单项Upload
并选择名为init.wasm
的编译好的WASM文件以上传。 -
或者使用辅助脚本 upload.py,在Rust项目文件夹内部使用命令
python3 upload.py "192.168.3.1" "Hello"
上传WASM文件。IP地址是Dora SSR Web IDE地址。
-
-
步骤 3:运行游戏
点击编辑器右下角的
🎮
图标,然后单击菜单项Run
。或者按组合键Ctrl + r
。 -
步骤 4:发布游戏
-
通过编辑器左侧游戏资源树打开刚创建的项目文件夹的右键菜单,并点击
Download
选项。 -
等待浏览器弹出下载提示,以下载打包的项目文件。
-
有关更详细的教程,请参阅官方文档。
社区
许可
Dora SSR使用MIT许可。
依赖
~0.3–0.8MB
~18K SLoC