A Qt5-based map editor for the netPanzer open-source real-time strategy game.
The editor is functional but still early in development. Creating a polished map from scratch is challenging — there is no flood-fill or per-tile attribute editing yet, and the bundled generated tileset cannot be used in the netPanzer engine itself.
That said, there are quite a few ways to work with existing maps:
- Autotile painting — paint terrain that blends smoothly with its neighbours
- Ellipse tool — quickly outline roads, rivers, or crater rims
- Rect select + stamp — copy any region of an existing map and paste it elsewhere, or save it as a named stamp for repeated use
- Pre-built stamps — place the full outpost compound in one click
- Tile pick — sample any tile already on the map and paint with it
- Object editing — move, rename, add, or remove outposts and spawn points
- Minimap navigation — pan quickly around large maps
The most practical workflow is to open an existing .npm map, reshape terrain
and structures with the tools above, and save it under a new name.
- Open and save netPanzer
.npmmaps (binary format, verified round-trip) — see docs/map-format.md - Tile painting with full undo/redo
- Ellipse paint tool — drag to paint tiles along an ellipse outline
- Rect select and stamp system — drag-select a region, save as a stamp, place
with one click; pre-built stamps auto-loaded from
data/stamps/at startup - Tile pick tool — click any map tile to select it for painting
- Autotile — automatic transition-tile selection based on 8-neighbour bitmask;
enabled when a
.autotile.jsonsidecar is found for the loaded tileset (see docs/autotile-format.md) - Bundled generated tileset — works without netPanzer game data installed; includes terrain autotile and the summer12mb outpost building as a stamp (see docs/generated-tileset.md)
- summer12mb autotile support — bitmask mappings derived from tile imagery via
tools/derive_autotile_bitmasks.py; mountain/water/wall/road/grass/river covered - Tileset auto-detected when opening a map or creating a new one
- Tile browser with jump-to-ID search
- Place and move outpost and spawn-point objects
- Object renaming via double-click or context menu
- Minimap with viewport overlay and click-to-pan
- Zoom toward cursor
- Keyboard shortcuts:
T(tile paint),E(ellipse),U(rect outline),I(pick),R(rect select),F(rect fill),M(stamp),O(place outpost),S(spawn point),V(select object),G(grid)
See BUILD.md for full build and AppImage instructions.
Quick start:
meson setup build
ninja -C build
./build/netpanzer-editorGNU GPL v3 — see COPYING for details.
Original Flexlay code by Ingo Ruhnke <grumbel@gmx.de>.
Qt5 port by andy5995.