KiloJKilo / gear-optimizer

Gear optimizer for NGU Idle.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Gear Optimizer

Gear Optimizer computes the optimal gear layout for specific features in NGU Idle. All artwork in this project is owned by the owner of NGU Idle and used here with permission, the license of this project does not apply to these files.

How to

Select up to 5 priorities, priority 1 is highest priority, if slots remain then the computation is continued with the remaining slots for priority 2 etc. Each priority has an explicit limit on allowed accessory slots.
Increase or decrease number of allowed slots, and the total number of accessory slots. Move to your highest zone to prevent the optimization from taking items into account that you have no access to.

Equip an item by clicking it once in the items list. Click an item in the equipment list to unequip it. Rightclick an item to change its level or to filter it, filtered items will be ignored for the optimalisation, but you can still manually equip them. Items with level < 100 and filtered items are shown at the bottom of the left column, clicking items here always opens the edit window. Click the name of a zone in the items list to hide all its items.

Start the computation by clicking the Optimize Gear button. It should finish in milliseconds to minutes. Sometimes it can be a lot slower if many items are available. Luckily you can simply choose to abort the current computation, or just come back tomorrow and hope it finished.

Algorithm

Basis of the algorithm is pareto optimal filtering and dynamic programming knapsack algorithm. Fast algorithm iteratively replaces the worst candidate accessories with the best alternative, until no more swaps improve the build.

Acknowledgements

Many thanks to the NGU community on Discord for the helpful discussions.

Dev notes

This project was bootstrapped with Create React App. React-app-rewired is used to handle web worker integration.

How to install and compile

git clone https://github.com/gmiclotte/gear-optimizer.git  
cd gear-optimizer  
npm i  
npm run start  

npm run start hosts a local copy, npm run deploy builds and deploys to gh-pages branch

About

Gear optimizer for NGU Idle.


Languages

Language:JavaScript 92.8%Language:Python 6.1%Language:CSS 0.8%Language:HTML 0.1%Language:Shell 0.1%