Offline/desktop version can be downloaded here (Version 1.0.0 / GD 220.127.116.11)
Hey guys! So here’s the thing I’ve been working on and off for the past six months. I admit that it took longer than expected, but personally it was rather fun and challenging at times, and I’m quite happy with the outcome
Here’s the list of main features:
- First of all like all my other tools, the map is built automatically from the game data. This means that compared to maphack, which has some stuff missing and I believe is built manually, grimtools map is always up-to-date and shows reliable data. I don’t wanna diminish the value of maphack, it’s a really good resource, I’m just stating this for comparison sake.
- It’s pretty fast, all the necessary data (just around 500kb) without images is fetched on page load, so all transitions between areas, search, etc. is instantaneous. Of course you’ll have to wait until map tiles are loaded if they aren’t cached already, but for now it seems to load pretty fast, unless of course you have crappy download speed.
- By default the world overview map is shown (in game it’s called World Map, I just call it “overview” internally). If you click on a riftgate or on a devotion shrine, you will be navigated to its location.
- The map includes markers for all important stuff, currently the lsit is as follows: riftgates, entrances and exits, shrines, notable chests and enemies, bounties, nemeses, super bosses, friendly NPCs, rogue dungeon entrances, detonation and repair sites, levers and dynamite locations.
- If an entrance or an exit is one way, it’s indicated in the marker popup. If an entrance or an exit is initially hidden, e.g. a rift that spawns only after some quest is finished, it’s indicated by an asterisk symbol in the bottom right corner of the marker. One-way exit markers are semi-transparent and have lower z-index, cause they are not that important.
- Shrine popups show whether the shrine is ruined or corrupted and also the items needed to restore it if it’s ruined, the listing is per difficulty. On the map itself each shrine marker has a difficulty indicator to the right of it — a combination of N/E/U letters (N = Normal, E = Elite, U=Ultimate).
- Chest markers are divided into 4 categories: valuable chests, one-shot chests, locked chests and treasure troves. Valuable chests are the ones that are “supposedly” valuable — these are mostly hidden chests and some of boss chests, once again these are determined automatically and I might adjust the condition in future so the list of such chests can be expanded. Locked chests are usually the ones locked by area bosses or the ones in challenge rooms.
- Notable enemy list currently includes all “Boss” tier monsters and monsters that are kill targets in quests. This means that certain Hero monsters that have MIs tied to them, e.g. Loxmere, are not present on the map yet, but this issue will be resolved in future when I refactor MI <> monster detection logic.
- You can enable and disable markers by type (the first tab from the top on the left). Please note that if you navigate to a marker from search or from external link, but you have this marker type disabled, then it will be automatically enabled and you’ll be notified about it.
- You can view the list of all areas (the second tab from the top on the left) and navigate to any of them. You can switch between alphabetically sorted and hierarchical area list presentation.
- You can use global search (the third tab from the top on the left) to find any markers or areas on the map. If the search query is empty, you’ll see the collapsed list of all available search categories; you can expand them by clicking on them individually or by using “Expand all” / “Collapse all” button at the top of the list.
- A rather handy feature is marker groups — if certain markers are internally linked together on the map, they belong to a group, e.g. there are 3 entrances to Smuggler’s Basin and they are all in the same group meaning only one of them spawns in a game session, same goes for any other marker types, like one-shot chests, treasure troves or nemesiss spawn points. Such markers have question mark in the bottom right corner indicating that the spawn point is not guaranteed. In search results these markers are aggregated in separate “Group #X” blocks to easily distinguish them from individual markers. If you click on such marker on the map, in the popup you will see a link “Group #X – Y object(s)”, which allows you to easily view the location of all other markers in that group.
My personal favourite feature — overlay layers:
- Pathing layer allows you to view actual traversable paths, including paths to hidden chests and areas.
- Area names layer show the names of map areas. I admit that name label positioning might be better here — I’m using centroid now cause it’s the easiest way, but should switch to something like polylabel; this might be improved in the future.
Level limits layer shows monster levels in the areas — the naming is as follows “min level - max level (+offset)” listed for each difficulty. I’ll quote the modding guide here to explain what that means:
> The Level Limit Layer controls what level monsters can spawn in the area. The Minimum level and Maximum level are used whenever the player’s level falls outside of that range, otherwise the player’s level is used. The Offset is added to the player’s level so that monsters always end up a few levels above the player (unless the player’s level is above Maximum level). The Offset is only used in challenge areas.
The map is integrated with other tools, e.g. the popup for enemy markers has links to relevant monster page in the database, the popup for devotion shrines has links to items in the database, monster database now includes a link to view spawn locations on the map — it’s show in the “Spawn location(s)” tab and in item database in MI cards there’s now a [Map] links next to the names of some of the monsters that drop the item to show easily view their locations on the map.
In marker popups you can see permalinks to markers and groups. There’s no problem with group permalinks as well as with permalinks to the map from the tools integrated with it, because they have stable ids.
But I want to emphasize that unlike item/monster databases where all record ids are stable, I still didn’t figure out a way to generate reliable stable ids for markers and map areas due to the fact that most of this stuff in the game map doesn’t have fixed internal id at all. So a monster spawn point with coordinates (x,y) and the same point moved to coordinates (x+1, y) in some future patch are internally completely different spawn points since they don’t have a fixed identifier and therefore will result in different ids assigned to them during map build process, which will make permalinks in such case kinda pointless. This really saddens me, but Zantai told me that object spawn points are moved rarely, so hopefully this won’t cause much trouble for me. In any case map builder has a thorough logging in place for this case, so it will be possible to detect any issues and possibly resolve them in future.
Compared to maphack there’s some stuff that’s not present in grimtools map:
- There’s no info on quests in the map yet, it’s not that easy to properly extract such data and determine quest flow etc., plus tbh I didn’t really look much into this. But this will be added at some point.
- There’s no explicit markers for hidden areas, but this is irrelevant since you can view actual paths to hidden chests and areas if you turn on Pathing layer.
- There’s no map editing and “custom pins” thingy, so you can’t create your own markers. I’m not really sure what’s the point of this, but maybe some people find it handy and use it in maphack. I doubt I’ll add such feature in future, unless someone explains to me the importance of it. Although perhaps I might add a feature to create own map layers and put existing markers on it, but that’s just a thought now.
- There are no ads
Currently the map is available only in English, but localization support is almost finished and will be provided soon.
Also there’s no offline/desktop version yet, but it will be available soon. This and translations are on the top of my todo list.
I have a patreon account now, so you can support me there if you want: https://www.patreon.com/dammitt
Feel free to post any questions, suggestions and bug reports.
If you are interested in translating the tool, please refer to this thread.