Hasty Briefsbeta

双语

Show HN: Rewriting Scratch 3.0 from scratch in Lua (browser-free native runtime)

4 months ago
  • #GameDevelopment
  • #Scratch
  • #LÖVE
  • ScratchLove是用Lua为LÖVE框架原生重实现的Scratch 3.0运行时环境,旨在突破浏览器限制
  • 支持桌面端、移动端、嵌入式Linux系统、游戏主机和掌上游戏设备等多种平台
  • 特性包括:完整Scratch 3.0兼容性、跨平台支持、通过LuaJIT实现高性能、基于IR的编译器和优化通道
  • 额外功能:延迟加载、自动清理、视觉效果、SVG渲染和基于颜色的碰撞检测
  • 当前限制:仅支持画笔扩展;缺少用户输入、麦克风输入和完整云变量支持
  • 安装需要LÖVE 11.x,运行测试可选装LuaJIT
  • 使用方式:支持本地.sb3文件运行、Scratch项目ID加载或拖放操作
  • 利用LÖVE的跨平台能力分发至Windows、macOS、Linux、Android、iOS及掌机设备
  • 项目结构包含:编译器、虚拟机、渲染器、画笔、音频、加载器、解析器、UI、工具类、resvg、测试和库目录
  • 开发技巧:调试模式运行、跳过编译、使用超时机制进行测试
  • 贡献准则强调类型注解、测试覆盖、文档规范和代码风格
  • 许可证:GNU Affero通用公共许可证v3.0(AGPL-3.0)
  • 鸣谢TurboWarp、Scratch团队、LÖVE及所有贡献者