Text Map Painter is a Tkinter-based editor for building and editing ASCII maps. It is designed for MUD/roguelike style map workflows where fast selection and terrain stamping matter more than tile graphics.
python map_editor5.py- Freeform brush selection with adjustable brush size (
1x1through10x10) - Space-only selection mode (only selects blank cells)
- Type-to-fill for selected regions
- Undo support (
Ctrl+Z) - Biome generation menus for:
- Forest
- Grasslands
- Swamp
- Sand
- Dry Sand
Smart Select now has two distinct selection families and always appends to your current selection.
Region Flood:- Starts from a clicked blank cell
- Expands through contiguous blank regions using run/adjacency rules
- Includes balanced/strict presets and custom tuning (
min run,adjacency,min region size)
Path Corona (Blank):- Starts from a clicked blank cell touching filled terrain
- Traces boundary path using 8-direction movement with corner-wrap prevention
- Selects blank cells only
- Radius expansion is constrained to the boundary-adjacent blank path space, so it does not spill into unrelated shapes
All Smart Select actions append (additive selection); they do not replace existing selected cells.
The top controls now include two sliders side by side:
RandomnessExtra Spaces
Extra Spaces defaults to 0%.
- At
25%, each inserted cell has a 25% chance to become a space - At
100%, all inserted cells become spaces
This affects typed fills and biome insert output.
You can now create a blank map directly from the app:
File -> Default Map- Enter:
X size (columns)Y size (rows)
- The current canvas is replaced with a new blank map of that size
Grasslands are tuned to be mostly . with some , and only rare f
(no dense F output).
Dry Sand no longer includes dune shape options.
Dry Sand now focuses on cracked-ground behavior:
explosioncreates cracks that radiate away from centerimplosioncreates cracks converging toward centerpatchy,irregular, andspottyremain available for variation
Left click / drag: brush-select cellsCtrl + Left click: remove cells from selectionTab: toggle space-only selectionAlt + A: toggle selection mode label/stateEscape: clear selectionCtrl + Z: undo last edit
- Saved maps are plain text (
.txt) - Rows are maintained as fixed-width in memory based on current map dimensions