Opensource Minimap for Amazon's New World
Looking for the legacy C# app? You can find it here!
CptWesley’s Minimap
Minimap for Amazon’s New World.
The application uses Overwolf’s approved API for getting character positions.
It then utilizes data obtained from StudioLoot’s New World Interactive Map to render all objects of interest around the player.
Join the Discord!
Current Features
- Render surroundings of the player (including resources).
- Track the player (including direction).
- Resizable window (great for full-screen usage on second monitor).
- Allow overlaying.
- Support for multiple monitors.
- Zooming on the map.
- Changing icon sizes.
- Showing icon text (can be turned off).
- Filter on certain resources.
- Configurable transparency.
- Resizeable and moveable overlay.
- Different minimap shapes.
- Saving settings.
- Compass mode (rotate minimap around player instead of other way around).
- Different interpolation and extrapolation modes for smoother movement on map (linear, cosine, none).
- Seperately configureable zoom level for towns.
Planned Features
- Private markers.
- Paths along private markers.
- View live location of friends.
- (Speculative) GPS that points you to a marker following known roads.
Known Issues
- Compass mode might not show some corners of the map, depending on the size of the window.
Examples
Second monitor full-screen window.
In-game semi-transparent (configureable) overlay.
Different minimap shapes.
Compass mode.
Cosine interpolation.
Usage
- Currently not yet available, see the legacy version if you want a working application.
Development
Currently, the Overwolf version of the application is the only supported one. The .NET application is considered legacy. This section will only contain information on how to develop the Overwolf application.
Building and running
- Ensure you have NodeJS installed. Verify whether you can use npm by running npm -v in a terminal. If it doesn’t print an error, proceed with the next step.
- Install Yarn. While npm works as a package manager, Yarn is just better. Run npm install -g yarn to install it.
- Open a terminal in the
overwolf
directory of this repository. - Run yarn install to download and install the required dependencies.
- To build the application, you have two options:
- yarn watch will continuously build the application whenever there is an update. This is the recommended command.
- yarn build will build the application once.
- yarn build:prod will also build the application once, but it will be a production build. This allows for optimizations, such as minification, and a production build of React (which is faster). Source maps are included, and an .opk (Overwolf package) file is also generated.
- Go to Overwolf Settings – About – Development options to open the Overwolf developer tools.
- Select Load unpacked extension… and navigate to the
overwolf/dist
directory of this repository. It contains the build output if the build was successful. You may get an error at this step, see below for more information. - Enable the Overwolf overlay for New World. Go to Overwolf settings – Overlay & Hotkeys, and enable the switch for New World. The application icon should appear beside the name of the game.
- Launch the application from the Overwolf dock, or launch the game to see the app in action.
When loading an unpacked extension, you might encounter an error where Overwolf will not allow you to load an unauthorized extension.
When this happens, you need to make two modifications to the file overwolf\public\manifest.json
.
The fields meta.name
and meta.author
should be updated to have the values "Sample App"
and "Overwolf"
respectively; using these values allows you to use the unpacked extension.
In short, the manifest should look somewhat like the following:
{
"manifest_version": 1,
"type": "WebApp",
"meta": {
"name": "Sample App",
"author": "Overwolf",
Rebuild the application after making the required changes to the application manifest.
Development
Although there are no real requirements for developing the app, a nice editor is Visual Studio Code.
It offers integration with TypeScript, the language used for the extension.
If you decide to use Visual Studio Code, make sure to open the overwolf
directory in VSCode.
Opening the repository root will work as well, but ESLint probably won’t play nice then.
Should you decide to open the overwolf
directory in VSCode, chances are you’ll get a popup with some recommended extensions. These will help find code smells, or make the code adhere to this repository’s style configuration.
You can use the built-in terminal to run commands such as yarn watch
to automatically run webpack in watch mode, continuously building the application when a change is detected.
Licensing
The source code is fully MIT licensed.
Contribution
Any help is welcome. Feel free to open issues or feature requests or create a pull request.