AI资讯

开源了!一句话,生成一个游戏!这个AI游戏机,太好玩了

作者:立创开源硬件平台0 次浏览 来源:立创开源硬件平台
开源了!一句话,生成一个游戏!这个AI游戏机,太好玩了

一个自由度超高的游戏机,只需完成硬件设计!你就能根据我的软件架构,一句话生成游戏!是的!想要什么游戏,都可以DIY!都可以自定义!

一个自由度超高的游戏机

只需完成硬件设计!

你就能根据我的软件架构,一句话生成游戏!

说“我想玩超级玛丽”

文章配图

“直接生成游戏”

文章配图

是的!想要什么游戏,都可以DIY!都可以自定义!

01

怎么设计硬件?

很简单!

首先,准备一块立创·ESP32-S3 R8N8开发板。

接着,嘉立创EDA启动!

文章配图

原理图

文章配图

PCB图

文章配图

实物图

硬件参数

  • 主控:立创·ESP32-S3 R8N8 开发板,双核 240MHz,8MB Flash + 8MB Octal PSRAM
  • 显示:2.0″ ST7789 240×320 SPI 彩屏,PWM 背光控制
  • 输入:五向摇杆(SW1) + 4 颗 XYAB 立贴轻触开关,共 9 路独立按键
  • 音效:9mm 无源蜂鸣器(QMB-09B-03) + S8550 PNP 三极管驱动
  • 外壳:3D 打印一体化机壳,主壳 + 底壳 + 摇杆帽 + 按键帽四件套

  • 其他:五向弯脚开关 TSX101G100,10kΩ × 9 按键上拉电阻

02软件怎么设计?

软件栈

  • 固件:ESP-Claw 框架,YAML 描述外设/设备的板级配置
  • 显示驱动:esp_lcd_panel_st7789,SPI3 @ 40MHz,旋转 90°(swap_xy + mirror_x)
  • 背光与音效:LEDC PWM @ 5kHz / 2.7kHz,10-bit 分辨率
  • 按键:9 路 GPIO 输入,低电平有效,下拉默认电平 1
  • AI 生成:与大模型对话,自然语言一句话生成完整可玩游戏代码

如果你想做完硬件立刻用上,你可以直接烧录固件↓

固件烧录

提供两种烧录方式 —— esptool 命令行一键写入,或 ESP-Flash-Download-Tool 图形化操作,任选其一即可点亮掌机

方式一:esptool 命令行

FULL COMMAND · 完整命令

python -m esptool

--chip esp32s3 -b460800

--before default_reset

--after hard_reset write_flash

--flash_mode dio

--flash_size8MB

--flash_freq80m

0x0 bootloader.bin

0x9000 partition-table.bin

0x10000 ota_data_initial.bin

0x20000 edge_agent.bin

0x3d6000 emote_assets.bin

0x692000 system.bin

0x773000 storage.bin

SHORTCUT · 使用 flash_args

# 文件夹内已附带 flash_args 清单

python -m esptool --chip esp32s3 -b 460800 write_flash "@flash_args"

烧录波特率 460800,DIO 模式 80MHz 8MB Flash,命令执行完自动硬复位

方式二:ESP-Flash-Download-Tool

GUI · 图形化烧录工具

  • 打开 ESP-Flash-Download-Tool,芯片类型选择 ESP32-S3,工作模式选 Develop(或 Load Mode)
  • 在 SPIDownload 页签逐行加载 7 个 .bin 文件,按下表填入对应地址并勾选
  • 底部参数设置:CrystalFreq 80MHz · FlashMode DIO · FlashSize 8MB
  • 选择正确的 COM 串口,波特率 115200,点击 START 等待进度条跑完
  • 显示 FINISH 绿色即为成功,掌机自动重启进入游戏画面

也可加载配套的 flash_args 自动填充全部地址,或直接拖入整个固件文件夹,省去手工逐行输入

烧录前的小贴士

·Flash 模式必须为 DIO 80MHz,FlashSize 8MB,PSRAM 配置 Octal 80MHz

· 总占用约 6.7 MB,匹配 partitions_8MB.csv 分区表,不会溢出 8MB Flash

· USB 串口选择 Serial JTAG,Windows 免驱动;首次连接需确认 COM 端口号

· 烧录失败多为波特率过高 —— 可将 -b 460800 降到 -b 115200 重试

如果你想进一步研究其源码……

源码结构

ESP-CLAW 版型目录由 4 个 YAML / sdkconfig + 1 个 LCD 工厂入口 C 文件构成,零样板代码即可描述整块板

board_info.yaml

  • 板卡身份信息:芯片型号(esp32s3)、版本、厂商。
  • 本项目标识为 eda_ai_gamebox v1.0.0

board_peripherals.yaml

  • 外设描述:SPI3 总线 (MOSI=13/SCLK=14)、9 路 GPIO 按键、2 路 LEDC PWM (背光 5kHz / 蜂鸣器 2.7kHz)

board_devices.yaml

  • 设备配置:display_lcd(ST7789 + swap_xy 旋转)、lcd_brightness、5 路 D-Pad、4 路 XYAB 按键、buzzer。低电平有效,默认上拉 1

sdkconfig.defaults.board

  • CPU 240MHz、Flash QIO 80MHz 8MB、PSRAM Octal 80MHz、ST7789 240×320、USB Serial JTAG 控制台

SETUP_DEVICE.C · LCD 工厂入口 #include "esp_lcd_panel_st7789.h" esp_err_tlcd_panel_factory_entry_t(esp_lcd_panel_io_handle_t io, constesp_lcd_panel_dev_config_t *panel_dev_config, esp_lcd_panel_handle_t *ret_panel) { returnesp_lcd_new_panel_st7789(io, panel_dev_config, ret_panel); }  BOARD_DEVICES.YAML · LCD 配置片段 - name: display_lcd   chip: st7789 type: display_lcd   config: # 顺时针 90° 旋转 → 横屏 320×240     mirror_x: true     swap_xy: true     invert_color: true     x_max: 320     y_max: 240     io_spi_config:       cs_gpio_num: 11       dc_gpio_num: 12       pclk_hz: 4000000  BOARD_PERIPHERALS.YAML · 蜂鸣器 + 按键 - name: ledc_buzzer type: ledc   config:     gpio_num: 48     freq_hz: 2700     duty_resolution: LEDC_TIMER_10_BIT - name: gpio_btn_a type: gpio   config:     pin: 9     mode: GPIO_MODE_INPUT     default_level: 1

所以

我只需要说“我要玩坦克大战,给我生成”

文章配图

我就能玩上了??

能通过五向摇杆控制坦克移动

还支持A键开火,B键放炸弹,破坏砖墙

……

文章配图

!!!

这么好玩!

小编也要做一个!

文章配图

文章配图

03开源网址

怎么样?你喜欢这个项目吗?想不想做一个玩玩?

如果你想给作者点赞or深入学习,欢迎前往开源网址~

开源网址:

https://oshwhub.com/course-examples/project_daxlolei

文章配图

文章来自于微信公众号 “立创开源硬件平台”,作者 “立创开源硬件平台”

相关主题

读完之后

加入 AINRK 交流群

了解加入交流群的方式,与更多 AI 从业者交流。

查看交流群说明(在新窗口打开)