TDisplayS3 Adventure

A modular mini-game engine and game collection for the LilyGo T-Display-S3 (ESP32-S3, 320x170 ST7789 display, 2 buttons). Eldoria, Neon Run, Neon Shard, Chip Slide, Neon Dash. PlatformIO + Arduino + TFT_eSPI.

View on GitHub Quickstart: Write Your Own Game

Included Games

Eldoria

Text adventure (fantasy)

Recover the stolen Moon Crown of the dragon Morgath - with inventory, combat dice and multiple endings (20-40 min).

Neon Run

Action/runner (cyberpunk)

Run across 3 lanes through the neon city: dodge firewall bars, collect data chips, avoid drones.

Neon Shard

Point-and-click (cyberpunk)

Comic story: courier Vex finds a data shard with a free AI - set it free or sell it? 2 endings.

Chip Slide

Sliding puzzle

Sort 15 semiconductor components (resistor, diode, LED, IC ...) onto the blueprint - smooth slide animation, hold to keep sliding.

Neon Dash

Jump'n'run (cyberpunk)

One button = jump over firewall pillars and floating drones - the pace keeps rising, data chips as bonus.

Documentation

About the Project

TDisplayS3 Adventure is a modular mini-game engine for the LilyGo T-Display-S3 (ESP32-S3, 320x170 ST7789 display, 2 buttons: A=BOOT=GPIO0, B=GPIO14, both active LOW). Games know neither GPIOs nor display drivers - only the interfaces in src/core/. Additional boards can be added via a single file in src/boards/ and an entry in platformio.ini.

Stack: PlatformIO + Arduino + TFT_eSPI 2.5.43 (pinned). All games render into a PSRAM framebuffer (TFT_eSprite) and push once per frame - flicker-free at ~60 FPS. The engine runs a launcher menu; every game is controlled entirely with the board's two buttons.

Hardware: 16 MB flash (3 MB app + ~13 MB FATFS), 8 MB octal PSRAM (qio_opi), USB CDC on boot. Build & flash:

pio run -t upload      # build and flash
pio device monitor     # serial monitor (115200 baud)