# TinyEngine: Game Engine for Microcontrollers

Turn your ESP32/Arduino into a mini retro game console.

- **Source:** [Hacker News: Show HN](https://news.ycombinator.com)
- **Published:** 2026-08-31
- **Topic:** [Software & Engineering](https://brifing.si/c/engineering)
- **Original article:** <https://github.com/111nation/TinyEngine>
- **On Brifing:** https://brifing.si/s/6acf51ee-f268-4417-909d-9a617351c658

## What is TinyEngine?

TinyEngine is a 2D game engine designed for microcontrollers like ESP32 and Arduino. It offers a retro game console experience and works with TinyScript, a high-level scripting language. This language has a BASIC-like syntax and allows quick game development without recompilation. The project is inspired by Game Boy and PSP.

## Game Development with TinyScript

TinyScript simplifies game development with its easy-to-use commands. For example, updating a player's position can be done with simple lines of code. The language handles joystick inputs and enables rapid game logic implementation. Detailed documentation for TinyScript is available in the Docs folder of the project.

## Demo Games and Features

TinyEngine comes with demo games like Pong and Draw to showcase its capabilities. The engine supports PC emulation and is planned to be ported to microcontrollers. Currently, it can be run as an emulator on your computer. These demos highlight the engine's potential for retro gaming.

## Installation and Usage

TinyEngine works on Windows, Linux, and macOS. You can download pre-compiled binaries or build from source. Compilation requires a C++ compiler, CMake, and Git. The project is open-source on GitHub and welcomes contributions. The README provides step-by-step setup instructions.

## Game Loading Mechanism

TinyEngine loads games from the $ROOT/programs/main folder. You can add your games here and rename them to 'main' to run them. This simple bootloader mechanism is optimized for microcontrollers. Two sample games are included to help you get started quickly.

## Physical Hardware Support

TinyEngine supports physical hardware inputs like joysticks and buttons via Arduino. The Arduino folder contains implementations for these features. The engine maps keyboard presses to joystick positions, offering a retro console experience. The E and O keys can be mapped to special functions.

## Future Goals

TinyEngine is currently a work in progress. The primary goal is to run the engine on microcontrollers. Additional game examples and documentation are also planned. The project is open to community contributions and encourages GitHub stars to show support.

## Why TinyEngine?

TinyEngine is one of the few tools that simplifies game development on microcontrollers. With TinyScript, you can quickly prototype games without complex compilation processes. It's an ideal project for retro gaming enthusiasts and electronics hobbyists. Being open-source, it can be expanded by the community.

## Sources covering this story

- https://github.com/111nation/TinyEngine — 

---

_Summary written by Brifing from the original reporting. Copyright in the original article belongs to its publisher; read the full piece at the link above._
