Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. LÖVE
  3. Simple Tiled Implementation

Simple Tiled Implementation

NOASSERTIONLua

A Tiled map loader and renderer library for the LÖVE 2D game framework.

GitHubGitHub
1.0k stars135 forks0 contributors

What is Simple Tiled Implementation?

Simple Tiled Implementation (STI) is a Lua library that loads and renders maps created with the Tiled map editor for use in games built with the LÖVE framework. It solves the problem of integrating visually designed game levels from Tiled into LÖVE projects by providing map loading, rendering, and physics integration capabilities.

Target Audience

Game developers using the LÖVE 2D game framework who want to design their game levels visually using the Tiled map editor.

Value Proposition

Developers choose STI because it provides a straightforward, well-documented bridge between Tiled and LÖVE, with built-in physics integration and custom layer support, eliminating the need to manually parse and render map data.

Overview

Tiled library for LÖVE

Use Cases

Best For

  • Loading Tiled map files into LÖVE games
  • Adding physics collision objects from Tiled map layers
  • Creating custom sprite layers with update and draw logic
  • Debugging collision boundaries in 2D games
  • Scaling and repositioning game maps on screen
  • Integrating visually designed levels into Lua-based game projects

Not Ideal For

  • Projects not using the LÖVE framework (e.g., Unity or Godot games)
  • Games requiring 3D graphics or non-tile-based rendering systems
  • Developers who prefer procedural level generation without external map editors like Tiled

Pros & Cons

Pros

Direct Tiled Compatibility

Loads maps exported to Lua from Tiled, enabling visual level design without manual parsing, as shown in the example code using sti('assets/maps/map01.lua').

Built-in Physics Integration

Includes Box2D plugin to automatically create collision objects from map layers, simplifying game physics setup with map:box2d_init(world).

Custom Layer Flexibility

Supports adding custom layers with update and draw callbacks, allowing dynamic sprite management, demonstrated in the example with player sprite rotation.

Debug Visualization Tools

Provides functions like map:box2d_draw() to draw collision maps in red, aiding in debugging physics boundaries during development.

Cons

Version Dependency Issues

Requires LÖVE 11.x and Tiled 1.2.x; updates to newer versions may necessitate re-exporting maps and could break compatibility, as noted in the README.

Limited to LÖVE Ecosystem

Exclusively designed for LÖVE, making it unsuitable for projects using other game frameworks or engines, with no built-in cross-platform support.

Additional Setup for Plugins

Physics integration requires loading and initializing external plugins like 'box2d', adding complexity to the initial setup beyond basic map loading.

Frequently Asked Questions

Quick Stats

Stars1,045
Forks135
Contributors0
Open Issues23
Last commit2 years ago
CreatedSince 2014

Tags

#level-design#game-development#lua#game-engine#love2d#2d-graphics#physics-integration

Built With

L
LÖVE
L
Lua

Included in

LÖVE4.3k
Auto-fetched 6 hours ago

Related Projects

lumelume

Lua functions geared towards gamedev

Stars1,216
Forks88
Last commit2 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub