Wipeout запустили на ESP32-S3 с 60 FPS

На ESP32-S3 запустили гонку в стиле Wipeout, и она держит 60 FPS на экране 480×320. Для микроконтроллера, который обычно тащит датчики, реле и прочую бытовую скуку, это уже не демонстрация «посмотрите, как мы страдали», а вполне аккуратная маленькая инженерная наглость.
Проект собрал PhonicUK. По описанию автора, трасса генерируется заново при старте, в игре есть три ИИ-соперника с обходом столкновений, а физика позволяет кораблям толкать друг друга. Всё это крутится на SPI-дисплее ST7796 через чередующиеся буферы, причём задействованы оба ядра ESP32-S3, чтобы одно рисовало кадр, а второе занималось вводом-выводом.
Как работает игра на ESP32-S3
Тут важна не только картинка, но и то, как она сделана. ESP32-S3, в отличие от обычных «игрушечных» демо на микроконтроллерах, имеет два ядра и заметно больший запас для параллельной работы, а ST7796 давно любят в самодельных проектах за доступность и предсказуемость. Но 60 FPS на 480×320 всё равно звучит как то, что обычно показывают на слайде, а не в реальном коде.
Источник кода автор пока не выложил, так что повторить трюк прямо сейчас не выйдет. И это, честно говоря, типичная история для таких проектов: эффектный ролик есть, а репозиторий живёт где-то в туманном будущем, как и половина «скоро опубликую» из Reddit.
Wipeout на ESP32-S3 — не просто эмулятор
ESP32 давно обжили люди, которые запускают на нём игры, эмуляторы и странные графические эксперименты. Но тут интереснее другое: это не порт старой 2D-аркады, а полноценная 3D-гонка с процедурной трассой и столкновениями, то есть работа идёт уже на границе того, что микроконтроллер вообще обязан уметь, а не на уровне «ну, хоть меню откроется».
По сути, такие проекты нужны не рынку, а репутации чипа. Они показывают, сколько можно выжать из дешёвого железа, если не жалеть времени на кастомный движок и не притворяться, что стандартные библиотеки сами всё сделают. А потом кто-нибудь обязательно спросит, почему в устройствах за $5 до сих пор нет нормальной анимации.
- Чип: ESP32-S3
- Экран: 480×320
- Частота: 60 FPS
- Трасса: процедурная, генерируется при запуске
- Соперники: 3 ИИ-гонщика с обходом столкновений
- Графика: ST7796 SPI, чередующиеся буферы, оба ядра чипа



