Overview
Lily2D is a minimalist 2D game engine powered by the Swamp language, inheriting Swamp’s design principles of simplicity, performance, and control.
By design there’s no editor and no scene format, instead you write .swamp code in your favorite text editor and let Lily2D run them. You can iterate fast with hot-reloading.
There’s built in functions for “low level” things like input and rendering. Lily2D wants you to focus on building the things specific to your game, and provides the rest.
Lily2D stays out of your way — no bloat, no hidden overhead, no performance surprises.
Details
-
Powered by Swamp language:
- Determinstic, meaning the same input will always result in the same result
- Simple, easy-to-learn syntax
- No memory leaks!
-
Framework for low-level game engine functionality:
- 2D Rendering API
- Asset loading
- Input (including Steam Input)
- Audio
- Savegames and Player Settings
- Networking
- Logging
-
Hot reloading: quick loading of Marsh VM binary
.swimfiles -
Modular: it’s easy to create and use modules across projects
-
Targets: macOS, Windows, and Linux, with full compatibility on Steam Deck
-
VSCode integration with Lily2D extension:
- Syntax & error highlighting
- Auto-compiles to
.swimfiles on save - Go to definition
- Language Server (LSP) support for other editors