• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 09:27
CET 14:27
KST 22:27
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
ByuL: The Forgotten Master of ZvT30Behind the Blue - Team Liquid History Book19Clem wins HomeStory Cup 289HomeStory Cup 28 - Info & Preview13Rongyi Cup S3 - Preview & Info8
Community News
2026 KongFu Cup Announcement3BGE Stara Zagora 2026 cancelled12Blizzard Classic Cup - Tastosis announced as captains15Weekly Cups (March 2-8): ByuN overcomes PvT block4GSL CK - New online series18
StarCraft 2
General
BGE Stara Zagora 2026 cancelled Blizzard Classic Cup - Tastosis announced as captains BGE Stara Zagora 2026 announced ByuL: The Forgotten Master of ZvT Terran AddOns placement
Tourneys
RSL Season 4 announced for March-April PIG STY FESTIVAL 7.0! (19 Feb - 1 Mar) Sparkling Tuna Cup - Weekly Open Tournament 2026 KongFu Cup Announcement [GSL CK] Team Maru vs. Team herO
Strategy
Custom Maps
Publishing has been re-enabled! [Feb 24th 2026] Map Editor closed ?
External Content
The PondCast: SC2 News & Results Mutation # 516 Specter of Death Mutation # 515 Together Forever Mutation # 514 Ulnar New Year
Brood War
General
BGH Auto Balance -> http://bghmmr.eu/ BSL 22 Map Contest — Submissions OPEN to March 10 ASL21 General Discussion Are you ready for ASL 21? Hype VIDEO Gypsy to Korea
Tourneys
[Megathread] Daily Proleagues [BSL22] Open Qualifiers & Ladder Tours IPSL Spring 2026 is here! ASL Season 21 Qualifiers March 7-8
Strategy
Simple Questions, Simple Answers Soma's 9 hatch build from ASL Game 2 Fighting Spirit mining rates Zealot bombing is no longer popular?
Other Games
General Games
Stormgate/Frost Giant Megathread Path of Exile Nintendo Switch Thread PC Games Sales Thread No Man's Sky (PS4 and PC)
Dota 2
Official 'what is Dota anymore' discussion The Story of Wings Gaming
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
Five o'clock TL Mafia Mafia Game Mode Feedback/Ideas Vanilla Mini Mafia TL Mafia Community Thread
Community
General
US Politics Mega-thread Mexico's Drug War Russo-Ukrainian War Thread Things Aren’t Peaceful in Palestine NASA and the Private Sector
Fan Clubs
The IdrA Fan Club
Media & Entertainment
[Manga] One Piece Movie Discussion! [Req][Books] Good Fantasy/SciFi books
Sports
Formula 1 Discussion 2024 - 2026 Football Thread General nutrition recommendations Cricket [SPORT] TL MMA Pick'em Pool 2013
World Cup 2022
Tech Support
Laptop capable of using Photoshop Lightroom?
TL Community
The Automated Ban List
Blogs
Funny Nicknames
LUCKY_NOOB
Money Laundering In Video Ga…
TrAiDoS
Iranian anarchists: organize…
XenOsky
FS++
Kraekkling
Shocked by a laser…
Spydermine0240
Unintentional protectionism…
Uldridge
ASL S21 English Commentary…
namkraft
Customize Sidebar...

Website Feedback

Closed Threads



Active: 2485 users

Map Analyser Tool - Page 2

Forum Index > SC2 Maps & Custom Games
Post a Reply
Prev 1 2 3 4 5 6 7 Next All
And G
Profile Joined May 2012
Germany491 Posts
July 28 2013 22:52 GMT
#21
Attempting to analyze some maps of mine with this tool, nothing happens when I drop the files into the map analyzer window, and a few seconds later the program crashes. The maps are standard melee maps, nothing unusual. Any idea what might cause this?
not a community mapmaker
-NegativeZero-
Profile Joined August 2011
United States2142 Posts
July 28 2013 23:00 GMT
#22
On July 29 2013 07:52 And G wrote:
Attempting to analyze some maps of mine with this tool, nothing happens when I drop the files into the map analyzer window, and a few seconds later the program crashes. The maps are standard melee maps, nothing unusual. Any idea what might cause this?

I've noticed this happens when I try to load very old WoL maps - the map file format has probably changed a little bit since then. Other than that I haven't had any problems.
vibeo gane,
And G
Profile Joined May 2012
Germany491 Posts
July 28 2013 23:28 GMT
#23
Ah yes, those are WoL maps. There's no working WoL map analyzer though, right? So what do I do?
not a community mapmaker
-NegativeZero-
Profile Joined August 2011
United States2142 Posts
July 28 2013 23:34 GMT
#24
update your maps?
vibeo gane,
And G
Profile Joined May 2012
Germany491 Posts
July 29 2013 16:11 GMT
#25
Well I can't do that without HotS since I can't select HotS dependencies. Or am I missing something here?
not a community mapmaker
meatpudding
Profile Joined March 2011
Australia520 Posts
July 30 2013 01:01 GMT
#26
Looks like you are stuck for now. Trying to patch stuff up for another release and maybe load both WoL and HotS maps.
Be excellent to each other.
meatpudding
Profile Joined March 2011
Australia520 Posts
August 05 2013 06:16 GMT
#27
Just made a new version. sc2mapanalyser_a5.zip

This version might be less stable that the previous one.

I've changed the entire rendering system from what it was before. Before I was using DirectX libraries but now I am back to using OpenGL with Freetype, libng and zlib. What that means is that making a port to any operating system should be easy now. A consequence of that is that major parts have been rewritten and maybe new bugs will start showing up.

One feature that I am excited to add is the "Siege Map." This layer will highlight all squares that can be hit from 13 range over unpathable terrain. This should finally answer the question of whether my minerals can be sieged from the third. Another use for this is for generating blink maps at 8 range, which shows where blink stalkers are likely to be a threat.

I found these results really interesting so let me know what you think.

+ Show Spoiler [Siege & Blink Maps] +

Akilon

+ Show Spoiler [blink] +
[image loading]

+ Show Spoiler [siege] +
[image loading]


Bel'Shir

+ Show Spoiler [blink] +
[image loading]

+ Show Spoiler [siege] +
[image loading]


DW

+ Show Spoiler [blink] +
[image loading]

+ Show Spoiler [siege] +
[image loading]


Korhal

+ Show Spoiler [blink] +
[image loading]

+ Show Spoiler [siege] +
[image loading]


Neo Planet S

+ Show Spoiler [blink] +
[image loading]

+ Show Spoiler [siege] +
[image loading]


Newkirk

+ Show Spoiler [blink] +
[image loading]

+ Show Spoiler [siege] +
[image loading]


Red City

+ Show Spoiler [blink] +
[image loading]

+ Show Spoiler [siege] +
[image loading]


Star Station

+ Show Spoiler [blink] +
[image loading]

+ Show Spoiler [siege] +
[image loading]


Whirlwind

+ Show Spoiler [blink] +
[image loading]

+ Show Spoiler [siege] +
[image loading]




Some different attempts at getting blink map right: http://imgur.com/a/Mkbu2
Be excellent to each other.
eTcetRa
Profile Joined November 2010
Australia822 Posts
August 05 2013 06:26 GMT
#28
Really cool work. Haven't had a chance to use it myself yet but I will have to soon enough!
Retired Mapmaker™
And G
Profile Joined May 2012
Germany491 Posts
August 06 2013 02:52 GMT
#29
Any chance you might add WoL compatibility? Also, since you already have siege and base layers, how about adding an overcharge layer for nexus range?
not a community mapmaker
meatpudding
Profile Joined March 2011
Australia520 Posts
August 06 2013 03:11 GMT
#30
On August 05 2013 15:26 eTcetRa wrote:
Really cool work. Haven't had a chance to use it myself yet but I will have to soon enough!


Cool, looking forward to it.

On August 06 2013 11:52 And G wrote:
Any chance you might add WoL compatibility? Also, since you already have siege and base layers, how about adding an overcharge layer for nexus range?


Yes there is a chance I will do both of those things. Liberty Mod maps are working for me at the moment, maybe the recent editor patch did something? Anyway if you could send the map that breaks I can take a look it should be an easy fix.

With the nexus range, the problem I am having is that I can't find the perfect base location for every mineral layout. Once I figure that algorithm out then i can add in analysis for mineral patches and geysers, as well as Overcharge range. (The "base location" at the moment is the average of the resource positions, which is close but not quite the actual base location)
Be excellent to each other.
And G
Profile Joined May 2012
Germany491 Posts
August 06 2013 04:18 GMT
#31
Actually, I just figured out what the problem with my WoL maps is: the analyser crashes whenever the map has a custom preview image set. However, now that I can load my maps I noticed that the diagonal debris isn't recognized as a destructible blocker. Normal debris/rocks and diagonal rocks work fine, it's just the diagonal debris.

I've been able to replicate both issues on different maps. If you can't, I'll send you a map with both issues.

For the base algorithm, couldn't you just take all valid nexus locations with a distance <8 to the calculated average of the resource positions, then for each of those calculate the total distance to all mineral patches / geyers, and return the nexus location with the minimum total distance? This might lead to issues on weird maps like Koprulu, but for standard mineral layouts it should work perfectly.
not a community mapmaker
meatpudding
Profile Joined March 2011
Australia520 Posts
August 06 2013 04:47 GMT
#32
Cool glad you sorted it out. Soon I will add error reporting which will help with that kind of thing.

With the debris, I am aware there are lots of missing things. Some debris was always missing and all new HotS elements aren't added. Check footprints.txt because that is where it is all defined. You can try to add it in yourself. The error reporting will be able to show the names of missing items at least. I'm not sure how DimFish gathered the original footprints, seems like it was a mainly manual process. Unfortunately there are some missing items.

This the code I was using to calc the nexus. If you check Semmo's thread you can see that it's pretty lucky if it works at all.
+ Show Spoiler +


// find best loc
float minD = 0.f;
for (list<point>::iterator i = locs.begin(); i != locs.end(); ++i)
{
float D = 0.f;
const list<Resource*>& baseResources = base->resources;
for (list<Resource*>::const_iterator j = baseResources.begin(); j != baseResources.end(); ++j)
{
//if ((*j)->type == MINERALS)
{
int dx = (*j)->loc.mtx - (*i).mtx - 2;
int dy = (*j)->loc.mty - (*i).mty - 2;
float d = sqrt((float)(dx * dx + dy * dy));
D += d;
}
}
if (minD == 0.f || D < minD)
{
minD = D;
base->loc_custom = *i;
}
}
Be excellent to each other.
And G
Profile Joined May 2012
Germany491 Posts
Last Edited: 2013-08-06 07:04:47
August 06 2013 06:39 GMT
#33
Cool, I didn't realise the footprints were externalised. Your code looks like the algorithm I suggested, however judging from the map positions it seems there's no validation whether a base can actually exist at that location. Without seeing the rest of the code I can't say what would be the best way to do this, but maybe you can place a base footprint at that location and check whether it overlaps with any nobuildmain footprints? Otherwise, since base footprints are squares and resource footprints are essentially two overlapping rectangles, you could do something like this:

+ Show Spoiler +
// find best loc
float minD = 0.f;
for (list<point>::iterator i = locs.begin(); i != locs.end(); ++i)
{
float D = 0.f;
const list<Resource*>& baseResources = base->resources;
for (list<Resource*>::const_iterator j = baseResources.begin(); j != baseResources.end(); ++j)
{
if((*j)->type == MINERALS) float dx = abs((*j)->loc.mtx - 0.5 - (*i).mtx);
else float dx = abs((*j)->loc.mtx - (*i).mtx);
float dy = abs((*j)->loc.mty - (*i).mty);

// check for footprint overlap
if(((*j)->type == MINERALS && (dx >= 6.5 || dy >= 6.0 || (dx >= 5.5 && dy >= 5.0))) || ((*j)->type == GAS && (dx >= 7.0 || dy >= 7.0 || (dx >= 6.0 && dy >= 6.0))))
{
D += sqrt(dx * dx + dy * dy) - 3.0; // add distance minus base and minerals sizes
if((*j)->type == GAS) D -= 1.0; // subtract difference of gas/minerals sizes
}
else
{
D += 1000.0; // ugly but will work
}
}
if (minD == 0.f || D < minD)
{
minD = D;
base->loc_custom = *i;
}
}


I changed dx to be calculated from half a grid field to the left for minerals as that seems to be the centre of the footprint. Also I removed the -2 in the x/y distance calculation which I assume was supposed to account for the size of bases, but a) the actual in-game collision box for bases is a circle and not a rectangle, and b) since you didn't calculate the modulus it effectively moved your results 2 grid fields to the bottom and right, so it didn't work anyway. There's also no point in subtracting a fixed value from distance results if all you're going to do is finding the minimum of the sums of those distances, but since you may want to expand the code in the future I subtracted the base/minerals/gas sizes where it makes the most sense. The code now assumes minerals have a circular 1x1 collision box that's in the middle of the 2x1 footprint, but I think that's a reasonable approximation.

You should probably double-check the footprints values, but if coordinates are implemented the way I think they are they should be correct. Obviously I can't compile, so it may or may not work as intended. :-)
not a community mapmaker
meatpudding
Profile Joined March 2011
Australia520 Posts
August 06 2013 13:15 GMT
#34
Well there it is just to see what it looks like.

+ Show Spoiler +
[image loading]

[image loading]
Be excellent to each other.
And G
Profile Joined May 2012
Germany491 Posts
August 06 2013 14:04 GMT
#35
Well it sure looks like the base locations are correct now.
not a community mapmaker
Sinistro
Profile Joined February 2012
Brazil684 Posts
Last Edited: 2013-08-12 14:46:53
August 12 2013 14:44 GMT
#36
Nice feature, really nice feature indeed. Keep it up with the work. Since you said that it should be easy to port I will try to compile it in my linux station and see what happens.

edit: just to ask, the Akilon map that you're using, isn't the Akilon wastes one right? it doesn't looks like the Ladder Akilon Wastes.
The_Templar
Profile Blog Joined January 2011
your Country52797 Posts
August 12 2013 14:54 GMT
#37
On August 12 2013 23:44 Sinistro wrote:
Nice feature, really nice feature indeed. Keep it up with the work. Since you said that it should be easy to port I will try to compile it in my linux station and see what happens.

edit: just to ask, the Akilon map that you're using, isn't the Akilon wastes one right? it doesn't looks like the Ladder Akilon Wastes.

Looks like star station
Moderatorshe/her
TL+ Member
meatpudding
Profile Joined March 2011
Australia520 Posts
August 12 2013 15:31 GMT
#38
Yep

Fixed the images in the OP and added the correct link for version6. Added the photon overcharge images too.
Be excellent to each other.
And G
Profile Joined May 2012
Germany491 Posts
August 12 2013 15:55 GMT
#39
For the next version, could you change the colours used to display height? It's hard to see the difference between mid and low ground with openness activated.

Speaking of openness, how is average openness calculated? It looks like it's just the average distance to the nearest non-pathable square for every pathable square on the map, is that correct?
not a community mapmaker
ShadesofGraylin
Profile Joined April 2012
United States32 Posts
August 12 2013 17:15 GMT
#40
I'm glad this tool got revived.

I found the source code for Dimfish's old version here on github. Is the source for your updated software available somewhere? I maintain the sc2reader library and am interested in exposing an API for map information. It seems that your software would be a good reference for map file formats and interpretation.

Thanks.
Maintainer: sc2reader, http://github.com/GraylinKim/sc2reader
Prev 1 2 3 4 5 6 7 Next All
Please log in or register to reply.
Live Events Refresh
WardiTV Team League
12:00
Group B
WardiTV411
IntoTheiNu 2
Liquipedia
RSL Revival
10:00
Season 4: Group D
ByuN vs SHIN
Maru vs Krystianer
Tasteless1420
IndyStarCraft 262
Rex157
LiquipediaDiscussion
Sparkling Tuna Cup
10:00
Weekly #123
Classic vs CreatorLIVE!
CranKy Ducklings94
LiquipediaDiscussion
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
Tasteless 1420
IndyStarCraft 262
Rex 157
StarCraft: Brood War
Sea 54333
Calm 14588
firebathero 5687
Horang2 2443
GuemChi 1955
Jaedong 1550
BeSt 922
EffOrt 678
Mini 439
Stork 328
[ Show more ]
Rush 265
Soma 248
actioN 171
Last 113
Mind 98
Dewaltoss 94
ToSsGirL 79
Sea.KH 55
Backho 52
Barracks 40
JulyZerg 36
Hm[arnc] 36
sorry 32
IntoTheRainbow 30
Nal_rA 20
GoRush 16
ivOry 10
SilentControl 9
Icarus 8
Terrorterran 3
Dota 2
Gorgc6548
XaKoH 267
canceldota115
BananaSlamJamma63
Counter-Strike
byalli682
zeus444
x6flipin336
edward74
kRYSTAL_31
Super Smash Bros
Mew2King90
Heroes of the Storm
Khaldor287
Other Games
B2W.Neo2036
Liquid`RaSZi882
Fuzer 192
Organizations
Dota 2
PGL Dota 2 - Main Stream25040
Other Games
gamesdonequick846
ComeBackTV 279
StarCraft: Brood War
lovetv 17
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 17 non-featured ]
StarCraft 2
• 3DClanTV 98
• musti20045 21
• Adnapsc2 5
• CranKy Ducklings SOOP5
• intothetv
• Kozan
• LaughNgamezSOOP
• Migwel
• AfreecaTV YouTube
• sooper7s
• IndyKCrew
StarCraft: Brood War
• blackmanpl 18
• iopq 1
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• C_a_k_e 1648
Upcoming Events
Patches Events
3h 33m
BSL
6h 33m
GSL
18h 33m
Wardi Open
22h 33m
Monday Night Weeklies
1d 3h
WardiTV Team League
1d 22h
PiGosaur Cup
2 days
Kung Fu Cup
2 days
OSC
3 days
The PondCast
3 days
[ Show More ]
KCM Race Survival
3 days
WardiTV Team League
3 days
Replay Cast
4 days
KCM Race Survival
4 days
WardiTV Team League
4 days
Korean StarCraft League
5 days
uThermal 2v2 Circuit
6 days
BSL
6 days
Liquipedia Results

Completed

Proleague 2026-03-13
WardiTV Winter 2026
Underdog Cup #3

Ongoing

KCM Race Survival 2026 Season 1
Jeongseon Sooper Cup
BSL Season 22
RSL Revival: Season 4
Nations Cup 2026
ESL Pro League S23 Finals
ESL Pro League S23 Stage 1&2
PGL Cluj-Napoca 2026
IEM Kraków 2026
BLAST Bounty Winter 2026
BLAST Bounty Winter Qual

Upcoming

CSL Elite League 2026
ASL Season 21
Acropolis #4 - TS6
2026 Changsha Offline CUP
Acropolis #4
IPSL Spring 2026
CSLAN 4
Kung Fu Cup 2026 Grand Finals
HSC XXIX
uThermal 2v2 2026 Main Event
NationLESS Cup
Stake Ranked Episode 2
CS Asia Championships 2026
IEM Atlanta 2026
Asian Champions League 2026
PGL Astana 2026
BLAST Rivals Spring 2026
CCT Season 3 Global Finals
IEM Rio 2026
PGL Bucharest 2026
Stake Ranked Episode 1
BLAST Open Spring 2026
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2026 TLnet. All Rights Reserved.