Tiny Engine

Tiny is a free, open-source fantasy console and lightweight game engine for creating retro-style games using Lua scripting. Build pixel art games with a 256-color palette, test instantly with hot reload, and export to desktop and web platforms. Ideal for game jams, rapid prototyping, and learning game development.

Create and test your ideas quickly and effectively. Run your games on your desktop computer and export them for the web, making it easy to share your creations with others. Get started right away and see your progress in real-time, thanks to Tiny’s hot reloading feature.

The code source of this sample is available in the Tiny git repository.

Tutorials

New to Tiny? Follow these step-by-step guides:

Guide Description

1. Getting Started

Install the Tiny CLI, create your first project, and learn the game loop basics.

2. Build a Pong Game

Learn the fundamentals by building a classic Pong game. Covers input handling, collision detection, and game state.

3. Exporting Your Game

Export your game for the web or desktop, and deploy it to itch.io or any static host.

4. Sprites & Animation

Draw spritesheets, animate characters, flip sprites, and manage multiple sheets.

5. Maps with LDtk

Build game levels with the LDtk editor. Draw maps, handle entities, and implement tile-based collision.

6. Custom Fonts

Create bitmap font spritesheets, configure font banks, and give your game a unique look.

7. Adding Sound

Design chip-tune sound effects with the SFX editor and play them from your Lua code.

Reference

Reference Description

API Reference

Complete documentation for every Lua function: graphics, sprites, sound, input, maps, and more.

CLI Commands

Command-line tools for creating, running, debugging, and exporting your games.

Try It Online

You can try creating a game right away with Tiny using the Editor, or you can browse the Showcase to see what others have built.

Open Source

Tiny is an open-source project. Users can contribute to the project by reporting issues, suggesting improvements, and even submitting code changes. Check the code source on Github.

Contributions from the community are welcome, and can help to improve the overall functionality and usability of the game engine!

A presentation about the technologies used behind Tiny was also given during the conference DroidKaigi 2024 @ Tokyo. You can check the slides, or you also watch the session.

DroidKaigi 2024 presentation - Building a game engine with Kotlin Multiplatform

Want to help make this documentation even better? Feel free to contribute by updating the documentation source code!

Licenses

This documentation uses assets from https://www.kenney.nl. Below are the licenses for these assets.

License: (Creative Commons Zero, CC0)
http://creativecommons.org/publicdomain/zero/1.0/

This content is free to use in personal, educational and commercial projects.

Support us by crediting Kenney or www.kenney.nl (this is not mandatory)