New changes and features for Version 9.6 (updated 3/29/17):

+ While in “Icon” mode, an option to copy an existing icon is available when right-clicking on an existing icon.
+ The monster/npc info dialog now shows the monster type (or npc class) in the dialog title.

Fixed bugs in v9.6:

– Tile properties dialog would crash if there was no reverse side bitmap defined for the tile.
– Tile Manifest report would report usage of the same tile multiple times if it was duplicated on the map.


New changes and features for Version 9.5 (updated 5/23/16):

+ Added a ‘Notes’ tab on the NPC/Monster dialog. These notes will be saved along with the monster information.
+ Map icons can now snap to grid as an option for placement. Switch between snap and free form placement is available under the Program Options (from the Options menu)
+ Tile usage is tracked by page by default now, so that the full collection of tiles can be used on a new map page. Separate pages can use the same tile without restriction to the number physically owned. To track by map file (all pages) turn off “Reset tile statistics by page” in the Program Options dialog.
+ Added a feature where tiles can be highlighted when the mouse moves over them in the map window. This can be turned on/off in the program options.
+ Added a button in the NPC/Monster dialog to roll for hit points listed in the hit dice section.
+ Added skills list (acrobatics, arcana, insight, etc.) to the 5th edition monser/npc entry dialog.
+ Added red highlighting for legendary actions. The highlighting is performed using a ^ character.
+ Add spell attack DC and save DC to monster information dialog.

Fixed bugs in v9.5:

– When opening a room xml file (double clicking on an icon), pymapper could lose track of the folder where the xml file was located.
– Adjusted positioning of icons inside map grids.
– Right-Click menu for adding icons is disabled when 5E data is not loaded.
– Fixed the DnD 5E import update dialog. Previously, it did not resize, or show the loading of files correctly.
– Pathfinder/3.5 NPC Generator would crash when trying to create an NPC. (NPC_Record not referenced in
– The tile panel now responds to being resized by arranging the tiles so that the user only needs to scroll up and down to see the available tiles
– The toolbar button used to change between limited and unlimted tile usage was not updated correctly from the .ini file.
– Drawing points did not reference the correct map page, causing a crash
– Filename for automatic backups was not set correctly according to OS used (windows vs. linux vs. OSX)
– Fixed calculation errors in the dice roller logic. Open the dice roller (CTRL+D) for information on the format to use.
– Added a field for ‘Proficiency Bonus’ in the 5th edition monster/npc entry dialog.
– Corrected entries for Air, Water, and Fire Elemental, Ancient Black and White dragons, and creatures with legendary actions in the 5E xml data files.
– Fixed the 5E monster dialogs to show legendary actions (with new highlighting). Actions and Legendary actions are on separate tabs.
– In the room editor, the hotkeys for bold, italic, and underline would cause a crash of the program
– In the room editor, the text line spacing would cause a crash if changed from single spacing.
– 5E NPC editor did not correctly save the NPC class information (this was broken in version 9.4)
– The 5E entry for “Black Pudding” did not have the reaction entry for “Split”


New Features for Version 9.4 (updated 12/17/15):

+ Pymapper can now update the fog-of-war map image to a webpage. See the fog-of-war tutorial for more details.
+ FTP Settings are saved to disk,  if the checkbox is checked; otherwise they need to be entered each session on pymapper.
+ Customizable images for icons on the map. These images are stored in the new /tokens/ folder where pymapper is installed.
+ Automatic tileset creation. Pymapper will automatically create a tileset when the tiles are placed in a special folder in the /tiles/ folder. The folder must be named based on the resolution of the images. If the image is 100 pixels per square, then the folder would be named ‘100__px’. Note that there are TWO underscore characters in this folder name.
+ NPC icons now have the size attribute (small, medium, large, etc) so that the icon display changes based on the NPC size.
+ New menu items and keyboard shortcuts are available to update the secondary map viewer (used for projectors and second monitors). Use Ctrl+W to update the fog image to the web, and Ctrl+Y to update to the secondary viewer only.
+ Allow user to choose whether to load only PF/d20 or DnD 5th source material (or both).
+ In the Monster hover dialog (when you hold the mouse over a monster icon), the HP button now shows the hit dice used to recalculate the hit points.
+ Fog of war dialog now has tools to bring up the secondary viewport, and to update the image for the viewport and online as well.

And some bugfixes as well:

– NPC icons added to the map now show the NPC icon (character holding a sword) instead of the generic dragon head icon
– Under linux (and potentially MacOS), tilesets would not be read due to the path being interpreted as absolute instead of relative during os.path.join() operations.
– In the fog-of-war module, some of the tool bitmaps were not assigned correctly, causing a crash.


Changes for Version 9.3 (updated 11/18/15):
+ In the NPC dialog,  you can now double-click on the Cantrips entry (in the spellcaster window) in order to specify how many are known.
+ Name labels for room/monster icons can now be shown on the map(with a toggle to replace hover labels)
+ Monster conditions can be changed on the monster hover dialog. When there is a condition, a colored box will show under the name label.  The colors for the conditions (stunned, invisible, paralyzed, etc) can be changed by selecting “View Monster Condition Colors” from the View menu.
+ User specified names can now be set on monster/npc icons (copies of the same monster used to show the same name; allows for renaming to Orc 1, Orc 2, etc)
+ Added a right click menu option for adding monster/npc icons directly (to bypass needing to use the IconFrame)
+ Icons shown on map corresponds to monster size (medium, large, huge, etc –> 1×1, 2×2, 3×3, etc)
+ Added ‘CR’ value to monster info hover dialog.
+ Added ‘Turned’ to the conditions list in the monster info hover dialog.


– Drawing items did not appear in the correct place when exporting images
– Toggle button for icon labels is now synchronized with the menu option.
– Display grid toolbar button did not correctly display grid when changing pages
– Trait information (resistances, vulnerabilities, etc) did not display properly in the 5E monster dialog.
– Exporting the map image to a jpg/png did not correctly scale the tile images.
– Tile images did not scale properly after loading a new map.
– Monster hover dialog (for 5E monsters and npc) did not have the correct tooltip under the -10 and -20 HP buttons.
– Old map files (version 2.4 and older) could crash pymapper upon opening. No map page was created, pymapper tried to assign tiles to a null map page.

Changes for Version 9.2:

+ Added a ‘copy current’ monster to Monsters dialog to ease creation of similar monsters.
+ Change add columns/rows function to decide direction of additions
+ Added a progress update bar to the 5E Monster dialog (to show when data has been updated to the database)
+ Change 5E spells dialog to modeless operation
+ Added a ‘-20 hp’ button to the monster information dialog for those really lucky hits.

Bugs that have been fixed:

– Icons on inactive pages are no longer detected the mouse hovers over their location.
– Double click on the NPC spell list did not remove the spell from the list.
– 5E NPC editor did not correctly save the NPC class information (always defaulted to Barbarian)
– 5E NPC editor would crash if an NPC was saved without spell information, and then the NPC was later changed to be a spellcaster.
– 5E NPC trait and skill information was not correctly saved to the xml file.
– 5E NPC editor does not increment the UniqueID of the NPC when saving to the xml file.
– Making a copy of a monster should change the name of the monster to MonsterName (copy) and update the master list accordingly
– Dim 5E dungeon menu items if resources are not loaded.


What’s new in Version 9.1:

+ Updated the look and functionality of the icon editor.
+ The size of the icon display on the map can be changed to represent large creatures, or areas of effect, etc.
+ Display hover information for traps (similar to what is available for monsters).
+ Add basic rules monsters to 5E data.
+ Add basic rules spells to 5E data.
+ Added spell support to NPC/Monster info hover dialog.
+ Bonds, Flaws, and Ideals can be saved for NPC records.
+ The NPC and Monster hover dialogs remember the size of the window if it was changed.

Other bugs and corrections have been fixed:

– Going back to the background registration dialog would lose the filename of the background image, if one was already loaded. This caused the file to save without the image name the next time it was saved.
– Fifth Edition NPC icons did not remember changes to the HP total.
– Using the arrow keys to move or rotate tiles on the map window does not cause the window view to scroll.
– Background color coding on monsters (green->yellow->orange->red->black based on HP) updates after HP has changed, and not only on a general refresh
– Tiles did not correctly display on the first refresh after loading the map.
– NPC records are stored in their own list apart from monsters list
– Using the same NPC on two different icons referenced the same NPC. Stats were not copied into a new record for the second NPC
– Fog of war functionality was broken with the updates in version 9.0 (pymapper tried to reference the index instead of the page name)
– Changed handling of folders to improve performance between Windows and Mac/Linux OS differences (use of ‘\’ vs ‘/’ in paths)
– 5E Monster/NPC editor does not delete monster records.


Here are various ideas and features that I’m considering for pymapper.  Have a better idea?  Want to move something to a higher priority?  Let me know!  🙂

  • A saved map should only import the tiles needed for the map, not every tileset loaded at the time of saving.
  • Text annotations to go on their own level.
  • Hovertile preview to show both sides of a tile, enlarged. 
  • Import to current page, with the ability to select the import square (ie, offset the top left square of the new map)
  • Rotate an entire map at the same time.
  • Links on pages to jump to a different page
  • Add a quantity indicator to the number of tilesets used in the tileset manifest
  • Change the move up/move down to affect the immediate order location, not just the global list
  • Right click in tile window to change from single side display to dual side display.
  • Tileset creation by specifying resolution of source images
  • Different sized geomorphs



16 thoughts on “Development”

  1. I’ve been trying to use PyMapper, and having no luck. I’m on a Mac at the moment, and it starts up fine and sort-of works, but I can’t get any tile-sets installed (it doesn’t see them in the tiles dir, regardless of whether they’re zipped or not, in sub-folders or not, and other variation). The dialogs don’t adjust when re-sized, so buttons get clipped out; drawing tool pane gets buried, and picking ‘draw mode’ doesn’t raise it; the mode tabs never highlight, and don’t seem to even work most of the time; drawing polylines is inescapable (can never complete one; double-clicking, ESC, changes tools, don’t work. Can’t move a drawn line; and it crashes fairly often. A lot of the problems see to be about GUI behavior — is this ‘wx’ library screwed up, perhaps? I’ll try on Linux too, but so far it looks like a really promising program that doesn’t work yet. What’s up?


    1. Thanks for the comments on dealing with MacOS and pymapper. Since I don’t have access to a Mac, I don’t know about these kinds of things until someone brings it up. The wx library uses native widgets in the windows, which is good for keeping things looking familiar to a user, but they sometimes behave a bit differently on each OS. I’ll work on updates and try to address the issues as you identify them. As you find specific issues, please email them to so I can track them easier.

  2. I’d be interested in pitching in some development support. We talked about it a few years ago… I can help with testing, working with the code, etc. I think we could build some good synergy between this project and my online character tracker (cs-battletrack or “T.T.O.R.P.”).

  3. I really love pymapper. It’s a great tool and I’m using it to plan the (tileset) maps for the rpgs with my kids.

    I’d love to see a free rotating feature for tiles. The tiles of DN4 Cathedral of Chaos allow interesting “non-square” dungeons. If pymapper would support a free rotating mode like the free placement mode, the most chaotic dungeons could be planned.

    Thank ou for considering my idea!

      1. I second this suggestion. I used PyMapper a good deal in the last week and would have used this feature several times. On a side note, I used the secondary window for the first time this past week on a projector and it worked very good. My players loved the new gaming approach.

  4. Hello,
    I love Pymapper and have been using it for a couple of years now. I have found one issue, on the title bar at the top of the screen the “Import a tileset file…” button does not work, although under the dropdown menu “Tilesets”, clicking on the “Tileset Browser” then you can load and unload tilesets.


    This is only a mild inconvenience…. otherwise the program works great.

  5. I see there’s an option for Create From Image Folder, but it’s currently grayed out. Is there a way to enable that feature?

    When building a new tileset from images, is there any way to mass-add a collection of images to a set? It seems like the program wants each tile defined individually, and each tile appears to need a front and a back.

    Is there an easy way to just add a bunch of images, as tiles, without B-sides?

    1. Yes, that feature is in the works. Right now the menu option is a placeholder until I can get the code working. I’m hoping to be able to do more consistent work on pymapper again before the end of the year.

      Until then, back to my day job. :\

      1. It’s a great program regardless. I’ve just got a ton of tiles scanned at a 50px grid and it would take a looong time to get them all entered into PyMapper one-by-one.

  6. Stumbled across your program today and it has potential for a game my friends are trying to set up. Is it possible to connect this program across multiple computers? As in one person would be set up and able to change things and the changes would be visible on the other systems? Or since it has Fog of War would it work right if instead of one party moving through a dungeon there were several people moving individually? I can explain what we are doing with a bit more detail if you would like to contact me privately.

  7. I can’t import Tiles. The browser wont show them, it only shows the tutorial tiles folder for load, but it doesn’t show my other folders with gpj images for tiles. Any help?

Leave a Reply

Your email address will not be published. Required fields are marked *

Map Making for RPG Games