TinyEngine: Game Engine for Microcontrollers
Turn your ESP32/Arduino into a mini retro game console.
1What 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.
2Game 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.
3Demo 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.
4Installation 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.
5Game 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.
6Physical 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.
7Future 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.
8Why 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.
Original article: Hacker News: Show HN — TinyEngine: Mikrodenetleyiciler için Oyun Motoru