这款中国程序员开源的游戏引擎,让你用不到100行代码就写出“愤怒的小鸟”...
内容提要
介绍使用Dora SSR游戏引擎进行跨平台游戏开发的方法,支持TSX语法和前端开发工具,提供了一个简单示例。Dora SSR基于Lua和WASM虚拟机运行,整合TypeScriptToLua编译器,与React有关。
延伸解读
前端开发者为何能快速上手
Dora SSR 的游戏场景管理采用类似 HTML DOM 的树形结构,开发者可以将 div 替换为游戏对象,将 CSS 动画替换为游戏动画,概念迁移成本低。同时,引擎支持 TSX 语法,允许复用前端技术栈中的组件和模块,使得熟悉 React 或 TypeScript 的前端开发者能快速理解并编写游戏逻辑。
底层技术:Lua 与 WASM 的巧妙组合
Dora SSR 并未直接支持 JavaScript 运行环境,而是基于 Lua 和 WASM 虚拟机作为脚本运行环境。对 TypeScript 的支持是通过整合 TypeScriptToLua 编译器实现的,它将 TS/TSX 代码编译为等价的 Lua 代码,从而在引擎中运行。这种设计使得开发者无需关心底层差异,只要代码通过 TS 编译检查即可跨平台运行。
与 React 的关系及当前限制
虽然 Dora SSR 支持 TSX 语法,但并未实现 React 的 Virtual DOM 和 Tree Diff 机制。目前,TSX 代码仅在运行时一次性构建游戏渲染对象,后续状态更新由底层 C++ 引擎处理。这意味着开发者无法像在 React 中那样依赖状态驱动视图自动更新,需要手动管理游戏对象的状态变化。
跨平台一致性与开发便捷性
Dora SSR 确保游戏代码在 Linux、Android、iOS、macOS 和 Windows 上获得一致的运行结果。开发环境搭建简单,安装后通过浏览器即可编写代码,并支持热更新实时预览。此外,还支持在手机等设备上直接进行开发调试,为开发者提供了灵活的跨平台开发体验。
Q&A
Dora SSR游戏引擎的主要特点是什么?
Dora SSR是一个支持TSX的跨平台游戏引擎,适合前端开发者使用,基于Lua和WASM虚拟机运行。
如何在Dora SSR中使用TSX进行游戏开发?
Dora SSR支持TSX,允许开发者复用前端技术栈中的组件和模块,提供与前端开发相似的接口。
使用Dora SSR开发游戏的代码示例是什么?
可以通过100行代码示例在Dora SSR中开发类似'愤怒的小鸟'的游戏,具体代码包括游戏场景、组件和逻辑。
Dora SSR的底层技术是什么?
Dora SSR的底层技术基于Lua和WASM虚拟机,支持TypeScript通过TypescriptToLua编译器。
Dora SSR是否支持React的功能?
Dora SSR尚未实现React的Virtual DOM和Tree Diff处理机制,但未来可能会引入相关功能。
前端开发者如何参与Dora SSR项目?
前端开发者可以加入Dora SSR项目,共同探索游戏开发中的前端技术应用,参与开发和讨论。