Giter Site home page Giter Site logo

gear-optimizer's Introduction

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 init  
npm run start  

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

gear-optimizer's People

Contributors

gmiclotte avatar rvazarkar avatar dependabot[bot] avatar rorik avatar super-aardvark avatar kerulis avatar tomerpeleg-pub avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.