A Gameboy Tile Editor build in Rust
- Table of Content
- Why DMGTile even exist ( °ヮ° ) ?
- Images
- Core Features ( ദ്ദി ˙ᗜ˙ )
- Built with...
- Installation & Quick Start
- Stardance Devlogs ᕙ( •̀ ᗜ •́ )ᕗ
- Development
- Boring Stuff
The idea for this project came from GBTD (Gameboy Tile Designer), who is Windows only and kinda old... So I recreated it from-scratch in Rust, so it can run on Linux, Windows & macOS without Wine (or equivalent). And all of this with the same features as GBTD.
![]() Tile Editor |
![]() Export |
|||
![]() Emulator |
||||
- Pixel Painting: Use the mouse to paint ദ്ദി(˵ •̀ ᴗ - ˵ ) ✧
- Bucket Fill: A classic flood-fill tool
- Transform Tools: You can flip, rotate, move the active tile
- Live Previews: A little 4x4 grid to preview the active tile in a pattern (e.g: a background)
- Cached Texture Rendering: Tile textures are cached and only rebuilt when a tile is modified
- Multi-Tile Support: You can draw up to 128 tiles per project file (you can scroll the list on the right of the screen to change tile)
- Undo/Redo: Each action is store in a stack, so you are able to undo or redo an action !
- Copy/Paste/Cut: Duplicate or move tile data between slots (in the same project)
- File Format: Each project is saved in
.dmgtile(JSON), storing only the modified tiles while preseving the tiles ID - Keyboard Shortcut: Full Cmd/Ctrl support for New Project, Open, Save, Undo, Redo, etc... Even the tools have there own shortcut
.binExport: Exports all the modified tiles into the Gameboy's native 2bpp format.cExport: Exports all the modified tiles as a C array, with configurable array name (Can be used with GBDK)- Selective export: Only the modified tiles are written out
This project was built to help me learn Rust while creating a usefull Application. Here is what I have used:
- Rust: for the whole app!
ദ്ദി(˵ •̀ ᴗ - ˵ ) ✧ eframe/egui: for the cross-platform UIserde+serde_json: for the.dmgtilefilerfd: for native file dialogs
The easiest way to download DMGTile is to go to the Github Release and get the latest version ( ദ്ദി ˙ᗜ˙ ). (Otherwise you can build the project from source on your own here: Developement)
- Launch DMGTile, use
File > New(orCmd/Ctrl+N) to start the project - Select a tile from the tile list. And then paint !
File > Export Asto write out.binor.cfor your game !
ദ്ദി(˵ •̀ ᴗ - ˵ ) ✧
On Stardance you can watch the full development process via all the devlogs I've created here: DMGTile Devlogs
- Clone the repository with
git clone https://github.com/wirenux/DMGTile.git
cd DMGTile- Then build and run with:
cargo runDMGTile ships a Makefile using cross to build for Windows and Linux from macOS:
make windows
make linux
make mac-intel
make # this is the one for M-series mac- Brainstorming
- Help with build method
This project is created by @wirenux in Rust, using egui.
Logo by @wirenux
This project is released under the MIT License



