17浏览
查看: 17|回复: 9

[项目] 【花雕动手做】Scratch 创客版 ESP32S3 可编程游戏机开发板

[复制链接]
Scratch Arcade 创客版 ESP32S3 可编程游戏机开发板 是一款基于高性能 ESP32-S3 芯片 的多功能创客平台,集成了图形化编程支持、丰富的交互接口和便携式游戏控制系统。它不仅适用于 创意游戏开发,还广泛应用于 物联网项目、STEAM 教育教学、智能硬件实验 等多个领域,是青少年、教师、创客和开发者的理想选择。

【花雕动手做】Scratch 创客版 ESP32S3 可编程游戏机开发板图1

【花雕动手做】Scratch 创客版 ESP32S3 可编程游戏机开发板图2

驴友花雕  中级技神
 楼主|

发表于 昨天 17:07

【花雕动手做】Scratch 创客版 ESP32S3 可编程游戏机开发板

开发故事

本人(空想君)从小就热爱玩游戏,并从事游戏开发工作十多年,自2018年开始接触到Scratch少儿编程,一开始只是完成由游戏开发者到少儿编程教育工作者转型。由于工作关系接触到了开源硬件micro:bit, 偶然发现micro:bit V2加上LCD屏幕可以使用MakeCode Arcade图形化工具来开发游戏。任何人真的可以通过图形化的工具给自己制作开发游戏还可以下载到游戏机里面去玩。接触这个软件后对我一个传统游戏开发者来说是非常震惊的,于是立马淘宝上买了一个回来玩,玩了一阵子后,职业的原因让我发现了一些用户体验问题,MakeCode Arcade编程所有的游戏场景,背景,元素全部在一个主程序里面,并且控制器都要依赖游戏机本身的硬件,这样导致游戏程序的编写难度偏大。别说是小朋友和新手用户,就算是我这个游戏开发多年的人来说都感觉有点绕,MakeCode Arcade还是有一种程序员在做游戏开发的影子在里面。相比而言Scratch游戏编程就显得简单很多,常用图标,声音元素可以直接使用自带的或者电脑上传,不需要全部靠编程去实现。不同角色可以独立模块化编程,无论是编程框架还是编程思想,用户都能很容易理解。我在实际教学应用中也验证了这点,教学难度Scratch远低于MakeCode Arcade。

随着工作的深入了解,发现国内大部分少儿编程机构使用的教学软件和大家熟知的编程平台比如mind+,openblock,mblock……大都是基于原生Scratch做的二次开发。早期用户也几乎都是通过Scratch开展少儿编程教学发展起来的,还有国内Scratch普及程度非常高。MakeCode Arcade在国内用户就显得少了。于是我就萌生了一个想法,是否可以开发一款可以运行Scratch游戏的编程游戏机呢?

带着这个想法我开始做了如下尝试:
首先我想到的第一个方案是找直接运行Scratch原生格式的硬件,但是很快发现一个问题,其实原生Scratch是非常吃硬件CPU和内存的,即便是在树莓派上这样配置的设备上去运行原生Scratch也不是非常流程,那么选择能运行Linux带UI系统的硬件(比如全志/RK方案),但是最低成本也到了200RMB。显然这个方案就像把scratch放到了移动端来运行一样,虽然可行,但是硬件成本过高,但是做出来无论是价格上还是优势并不明显,还不如做手机APP来得简单。
很快我又构思了第二个方案,就是设备上不需要去执行原生Scratch应用软件,参考Scratch源码写一个类似可以解析运行sb3格式的程序。但是这里又有问题,原生Scratch除了执行程序外还有很多元素,图标等资源文件,这些资源文件大概有几十兆得先内置到硬件里面,如果上位机增加修改了资源文件,那么下位机就必须升级固件才能同步。并且同样对硬件内存依然也还要求比较高,且编写这个软件难度真不小。

通过前面两次思考论证,我重新总结需求,做了一些调整,把核心需求列出来:
硬件最好是现在主流开源硬件,硬件BOM成本控制在100内,方便制作和复刻,兼容性要强,方便开发固件,扩展功能等。
其实大家喜欢是Scratch编程方式,比如mblock,mind+,编程猫……这些类似Scratch方式大家都能很快适应。那么我们只需要尽可能地保持Scratch编程方式,不必执念一定要去运行原生Scratch格式。
有了前面得总结,很快我在MakeCode软件里面micro:bit主板模拟器里找到了灵感,Scratch舞台本质上也是一个模拟器,想通这一点,我的硬件运行的游戏就不需要是原生Scratch的sb3文件,我可以自己定义游戏运行方式,再在Scratch软件重写一个对应我硬件的模拟器替代原本的Scratch舞台。这样Scratch软件只有舞台相对于原生的有些变化之外,其他几乎一摸一样。

为了实现这些想法,我重新创建了一个新的Scratch框架(原生的Scratch框架不在适合做扩展,所以我从头搭建了一个新的框架)——我称之为BlockCode框架。当时手里有一块Pico:ed(基于RP2040主控)主板硬件,于是我在BlockCode框架里面做了可以模拟Pico:ed按键和显示功能:

【花雕动手做】Scratch 创客版 ESP32S3 可编程游戏机开发板图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 昨天 17:11

【花雕动手做】Scratch 创客版 ESP32S3 可编程游戏机开发板

但是我们是要做游戏,肯定需要带屏幕,于是我又做了一个基于RP2040带LCD屏幕的硬件(自学硬件设计,第一次画PCB板)。

【花雕动手做】Scratch 创客版 ESP32S3 可编程游戏机开发板图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 昨天 17:12

【花雕动手做】Scratch 创客版 ESP32S3 可编程游戏机开发板

当时这个项目也有开源https://gon.gyeq.in/#/2023/0617/,现在已经删了。

在使用RP2040做主控时,很快我又发现了新的问题。RP2040主频只有133M,在做图片刷新时有点吃力,RP2040在外设扩展时时开源资料并不多,后续扩展功能也有些费劲,于是我把目光放到了ESP32-S3上,240M主频,支持WiFi/蓝牙可扩展功能足够多。于是我重新做了新的基于ESP32-S3的新硬件:

【花雕动手做】Scratch 创客版 ESP32S3 可编程游戏机开发板图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 昨天 17:14

【花雕动手做】Scratch 创客版 ESP32S3 可编程游戏机开发板

历时半年基本实现了基本功能,但是还是觉得这个不像游戏机,于是加大了LCD屏幕,改成了游戏机模样,最后就是大家见到的开源的样子。好了其实在整个开发验证过程中花费时间一年半,有非常多的技术细节,也遇到了非常多的技术挑战点,大致有如下:

编程方式要原封不动兼容原生Scratch然后用模拟器替代舞台
游戏运行流程程度,在单片机的主控上LCD屏幕刷新速率
联网功能,录音功能,播放声音功能也要在游戏机上实现
目标要能打开sb3游戏格式
为了致敬MakeCode Arcade和Scratch这两个经典且强大的平台,于是本游戏机叫做——
Scratch Arcade

上一代开源版
项目连接
立创开源硬件平台: https://oshwhub.com/blockcodelab/arcade_lite
GitHub: https://github.com/BlockCodeLab/arcade-lite
Gitee: https://gitee.com/blockcodelab/arcade-lite

【花雕动手做】Scratch 创客版 ESP32S3 可编程游戏机开发板图2

【花雕动手做】Scratch 创客版 ESP32S3 可编程游戏机开发板图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 昨天 17:26

【花雕动手做】Scratch 创客版 ESP32S3 可编程游戏机开发板

本帖最后由 驴友花雕 于 2025-8-17 17:29 编辑


Scratch Arcade 创客版 ESP32S3 可编程游戏机开发板的核心优势:

1、强大主控:ESP32-S3 支持 AI 加速、Wi-Fi 和蓝牙双模通信,适合边缘计算与联网应用。
2、图形化编程:支持 Scratch Arcade、Blockly 等图形化编程环境,降低编程门槛。
3、游戏交互设计:内置方向键与功能键,支持自制街机风格游戏或交互式动画。
4、物联网扩展性:可连接传感器、LED、蜂鸣器等模块,轻松构建智能硬件项目。
5、教学友好:适配课堂教学,支持项目式学习与创客课程,激发学生创造力。

【花雕动手做】Scratch 创客版 ESP32S3 可编程游戏机开发板图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 昨天 17:31

【花雕动手做】Scratch 创客版 ESP32S3 可编程游戏机开发板

创客版处理器与内存:
采用乐鑫 ESP32-S3-WROOM-1-N8R8 模组,搭载双核 Xtensa®32-bit LX7 微处理器,主频高达 240MHz。板载 512KB SRAM 和 384KB ROM,同时配备 8MB Flash 和 8MB PSRAM,能够为游戏程序的运行和数据存储提供充足的空间。

【花雕动手做】Scratch 创客版 ESP32S3 可编程游戏机开发板图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 昨天 17:59

【花雕动手做】Scratch 创客版 ESP32S3 可编程游戏机开发板

【花雕动手做】Scratch 创客版 ESP32S3 可编程游戏机开发板图2

【花雕动手做】Scratch 创客版 ESP32S3 可编程游戏机开发板图3

【花雕动手做】Scratch 创客版 ESP32S3 可编程游戏机开发板图1

【花雕动手做】Scratch 创客版 ESP32S3 可编程游戏机开发板图5

【花雕动手做】Scratch 创客版 ESP32S3 可编程游戏机开发板图4

【花雕动手做】Scratch 创客版 ESP32S3 可编程游戏机开发板图6
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 昨天 18:02

【花雕动手做】Scratch 创客版 ESP32S3 可编程游戏机开发板

【花雕动手做】Scratch 创客版 ESP32S3 可编程游戏机开发板图1

【花雕动手做】Scratch 创客版 ESP32S3 可编程游戏机开发板图2

【花雕动手做】Scratch 创客版 ESP32S3 可编程游戏机开发板图3

【花雕动手做】Scratch 创客版 ESP32S3 可编程游戏机开发板图4

【花雕动手做】Scratch 创客版 ESP32S3 可编程游戏机开发板图5

【花雕动手做】Scratch 创客版 ESP32S3 可编程游戏机开发板图6

【花雕动手做】Scratch 创客版 ESP32S3 可编程游戏机开发板图7

【花雕动手做】Scratch 创客版 ESP32S3 可编程游戏机开发板图9

【花雕动手做】Scratch 创客版 ESP32S3 可编程游戏机开发板图8
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 昨天 18:03

【花雕动手做】Scratch 创客版 ESP32S3 可编程游戏机开发板

【花雕动手做】Scratch 创客版 ESP32S3 可编程游戏机开发板图1

【花雕动手做】Scratch 创客版 ESP32S3 可编程游戏机开发板图2
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail