Grautvornix Posted Sunday at 22:36 Share Posted Sunday at 22:36 (edited) Having played around with Atlas and a post processor/analyzer/converter post Atlas (https://wildfiregames.com/forum/topic/169808-map-making-support-and-conversion-tool-post-atlas/?do=findComment&comment=762301 ) I thought it might be useful to add a few capabilities to Atlas without actually changing it. My initial concern was the difficulty (for my clumsy attempts of editing) to place walls with segments and turrets properly algined and without gaps. Hence, I started defining a tool that replicates the in-game way of placing walls by dragging and connecting rather than placing individual elements. For this the tool would manipulate the Atlas-generated xml-file and hand it afterwards back to atlas for further editing and final touch. Well, implementing this handover in both directions, Atlas --> tool and tool--> Atlas, certainly allows manipulating other simple things in a kind of co-editing mechanism. Important to note: ATLAS is and will remain the primary tool mastering all the map creation complexity. My tool tries to help offering a few workflows only preserving Atlas' role as the master editor. So currently the workflow can be like this: You define a maps basic parameters, game characteristics, player characteristics etc. - either in Atlas or the new tool (in this case with a handover to Atlas). Then Atlas is used to sculpt the terrain and place landscape items. The tool can read the xml file output by Atlas and visualize both in 2D plan view and in simplified 3D what has been placed where and for which player, listing all elements. If desired, a wall or palisade can be drawn like in the game and gates can be added by simple selection of a wall segment. The tool also allows placing entitites of all kinds selected from a list with little images representing what the entity looks like in game. I also allows searching for and replacing entities on the map, e.g. all aleppo pines by oaks. The game's rules where entities can actually be placed are explicitly applied (e.g. no house in the ocean or on a cliff slope). Handover back to Atlas for modification/manipulation finalizing, whatever. If finalized, it is certainly possibly to use post-Atlas tool to verify a map works Oh, and finally, I had to find a name for the tool (used to be "prep-Atlas" similar to "post-Atlas"), but then I thought I should be a bit more creative. With a probably a bit to much creativity enhancer made from grapes, I cam up with this silly story: A character in history used and improved historical maps and related all to the legendary King Atlas of Mauretania, said to have been a geographer and astronomer (potentially related/referring to the Greek mythodologic Titan Atlas). This occured many centuries later (in the 1590s) when the Flemish cartographer Gerard de Kremer (Merchant), latinized Gerardus Mercator, came up with a map collection in a book named "Atlas" referring to that King and/or Titan. Our tool also came much later than the Atlas tool and uses its maps and tries to improve a bit. Strictly speaking the name "Mercator" in this context is not at all related to the 0AD timeframe, but, hey, the game calls a roman trader rightfully "Mercator" as well) So here is another BETA version for people willing to test: mercator-0.11.0.zip CHANGELOG.md README.md Edited 1 hour ago by Grautvornix Updated to release beta 0.11.0 3 Link to comment Share on other sites More sharing options...
Thalatta Posted Sunday at 22:49 Share Posted Sunday at 22:49 Small comment: naming a map editing tool "Mercator" while having nothing to do with the ubiquitous Mercator projection would be like naming a financial tool "Crypto" while having nothing to do with cryptocurrency. But this leads me to a bit of an unrelated question: do you think it's possible to make spherical maps? To map a whole planet. 1 Link to comment Share on other sites More sharing options...
Atrik Posted Sunday at 23:24 Share Posted Sunday at 23:24 So @MarcusAureliu#s is OP? Link to comment Share on other sites More sharing options...
Grautvornix Posted Monday at 05:33 Author Share Posted Monday at 05:33 6 hours ago, Atrik said: So @MarcusAureliu#s is OP? Just used an old map from the forum for demonstration Link to comment Share on other sites More sharing options...
Grautvornix Posted Monday at 05:40 Author Share Posted Monday at 05:40 6 hours ago, Thalatta said: Small comment: naming a map editing tool "Mercator" while having nothing to do with the ubiquitous Mercator projection would be like naming a financial tool "Crypto" while having nothing to do with cryptocurrency. But this leads me to a bit of an unrelated question: do you think it's possible to make spherical maps? To map a whole planet. Would not reduce the impact of Mercator to his famous projection. As I wrote, he did other things as well (producing an Atlas). Regarding spherical maps, this is specifically a question to the game mechanics, i.e. a unit leaving through one side must reappear on the opposite side. this might have quite some consequences on pathfinding. Link to comment Share on other sites More sharing options...
Asher Posted Monday at 11:33 Share Posted Monday at 11:33 Thanks for making this @Grautvornix! I really like the wall drawing. I was getting some errors though. Maybe this is tied to that, but the walls didn't appear in atlas /Users/me/Downloads/mercator-0.9.0/atlas_maps/model_picture.py:320: RuntimeWarning: invalid value encountered in matmul normals = piece.normals @ view.T Link to comment Share on other sites More sharing options...
Grautvornix Posted Monday at 11:46 Author Share Posted Monday at 11:46 (edited) Oh! Thanks! Sorry to hear - it used to work for me so far. Will look into this tonight.would you have more details , e.g. the xml that threw this error (byPM if you wsnt) Investigation showed that the map can be loaded, but Atlas always starts with an empty map. You have to load your pre-created map (to be accessible by Atlas, the fresh map must be stored in a game map folder, e.g. mods/user/maps/skirmishes on windows - e.g. using "save into game"). The error message is supposedly coming from MacOS's numpy implementation, where Claude Code claims that "On Macs numpy uses Apple's Accelerate library, which can flag "invalid value" for perfectly good numbers." I cannot verify this though,unfortunately, so I asked Lumo AI to verify. Here is the result: Based on my research, the statement is substantially correct, but it requires some nuance. Here's what the evidence shows: Evidence Supporting the Claim 1. NumPy GitHub Issue #25433 - Direct Confirmation A NumPy bug report explicitly documents this problem: "BUG: false positive in the heuristic for old Accelerate RuntimeWarning: invalid value encountered in divide" The issue notes that this warning was triggered "despite the numpy build not being linked to Accelerate", confirming that false positive "invalid value" warnings can occur on macOS systems using the Accelerate framework. 2. NumPy GitHub Issue #25532 - macOS-Specific Behavior "On macOS, with Python 3.10 and numpy 1.26.3, as shown by the reproducing code, the warning behaviour is not consistent. Actually even with a small change in version... all the output won't be identical." The issue author notes that operations like inf + (-inf) = nan and 2 + 3 = 5 are well-defined in floating-point arithmetic, yet NumPy produces inconsistent warnings. 3. Recent M4 Mac Issues (2025) GitHub Issue #28687 reports: "M4 Macs watch out Numpy Sneaky Bug Alert! If you're using NumPy on a new Mac with the M4 chip (and macOS 15.4 or later), be aware: NumPy matrix multiplication uses SME (Scalable Matrix Extension). This change can cause floating-point operations to break, especially in ML workflows." Users reported getting RuntimeWarning: divide by zero encountered in matmul in code that previously worked fine. Downgrading to NumPy 1.26.4 resolved this for many. Why This Happens Cause Details Accelerate framework limitations Apple's BLAS/LAPACK implementation has historical inconsistencies compared to OpenBLAS/MKL Floating-point precision differences Different handling of edge cases (division, logs, etc.) can trigger spurious warnings New chip architectures M-series chips with SIMD extensions (SME on M4) introduced new bugs in NumPy's matrix operations Verdict Partially Correct — The statement captures a real phenomenon but oversimplifies it: ✅ Yes: NumPy on macOS can use Apple's Accelerate library ✅ Yes: False positive "invalid value" warnings have been documented ⚠️ Nuance: Not all Macs have this problem—it depends on NumPy version, macOS version, and chip architecture (older Intel Macs vs. newer M-series chips) ⚠️ Nuance: The issue has been partially addressed in recent NumPy releases Workaround If you're experiencing this, try: # Option 1: Suppress the warnings with np.errstate(invalid='ignore', divide='ignore'): # your calculations # Option 2: Force NumPy to use OpenBLAS instead of Accelerate # (requires reinstalling NumPy with pip --no-binary=numpy) Edited Monday at 19:35 by Grautvornix 1 Link to comment Share on other sites More sharing options...
MarcusAureliu#s Posted Monday at 12:11 Share Posted Monday at 12:11 12 hours ago, Atrik said: So @MarcusAureliu#s is OP? You were supposed to find this easter egg while actually playing on the map. Link to comment Share on other sites More sharing options...
Grautvornix Posted Monday at 12:14 Author Share Posted Monday at 12:14 Sorry that I exposed it 1 Link to comment Share on other sites More sharing options...
Grautvornix Posted Monday at 21:47 Author Share Posted Monday at 21:47 (edited) Please have a look at the top post of this threat. I uploaded mercator verison 0.9.1 preventing entities of tjhe same owner placed twice at exactly the same position. It also enforces the game rules Putting a building on top of a tree or rock is refused. An object placed on top of an actor (citizien or other) creates a warning (the game seems to allow that) Objects off the map: refused. Mercator now also support defining screenshots taken in Atlas or putting its own simplified map layout as in post-atlas. Note that the tool is still in Beta version. I appreciate any suggestion, bug report etc. Edited Monday at 22:40 by Grautvornix Added a note Link to comment Share on other sites More sharing options...
Grautvornix Posted 1 hour ago Author Share Posted 1 hour ago Another BETA release 0.11.0 is available (download form top post of this thread. Along with many bug fixes and usability improvementsm it features - a complete rework of the GUI (particularly the entity placer) - capability to load a 2D heightmap to create a raw 3D terrain and save it to a pmp-file for ATLAS editing - a summary tab that also verifies map integrity using many tests of post-atlas and allowing to fix these. Next steps will include a terrain sculptor that allows preparing a basic terrain layout for refinement in ATLAS. Link to comment Share on other sites More sharing options...
Asher Posted 1 hour ago Share Posted 1 hour ago So, I still was getting an error when I opened the map into scenario, but the walls did load this time Link to comment Share on other sites More sharing options...
Grautvornix Posted 1 hour ago Author Share Posted 1 hour ago Thanks - at least something imnproved. What did the error message say and how was it triggered? Link to comment Share on other sites More sharing options...
Asher Posted 1 hour ago Share Posted 1 hour ago I placed some trees and they were really hard to see. Maybe if you changed the color? In the 2d map preview, could you have the map be round if it is a circular ma Link to comment Share on other sites More sharing options...
Asher Posted 1 hour ago Share Posted 1 hour ago 2 minutes ago, Grautvornix said: Thanks - at least something imnproved. What did the error message say and how was it triggered? Could you make it so you can do a selection of stuff to delete, or even change player Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now