忘记密码?
其他方式登录

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

2026年7月16日

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

详细介绍

一个自由度超高的游戏机

只需完成硬件设计!

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

说“我想玩超级玛丽”

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

“直接生成游戏”

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

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

01

怎么设计硬件?

很简单!

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

接着,嘉立创EDA启动!

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

原理图

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

PCB图

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

实物图

硬件参数

  • 主控:立创·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

所以

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

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

我就能玩上了??

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

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

……

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

!!!

这么好玩!

小编也要做一个!

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

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

03开源网址

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

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

开源网址:

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

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

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

联系方式

赞赏支持

累计赞赏 0 积分 0 人支持
登录后赞赏

💬 发表评论