/genshin-optimizer

An Artifact optimizer for Genshin Impact.

Primary LanguageTypeScriptMIT LicenseMIT

Website-link Discord GitHub Github-last-commit GitHub-license

Genshin Optimizer is a helper website for the online action-rpg gacha game Genshin Impact. It is intended to assist players with optimizing artifacts to max-min their characters, while providing a clean, structured UI, and provide real-time results.

WE NEED HELP!

Are you a web developer who is looking to contribute to the most over-engineered Genshin website ever made? Can you distinguish which one of the following is a pokemon?

React MaterialUI nx ekans GraphQL git metapod NextJS discord.js vite nodeJS emotion prisma Agumon tessract.js typescript bun sawk webpack next-auth jest

If you have knowledge in some(or any) of those techonology mentioned above, or are hoping to learn in an actively-developed app with thousands of users, please join our Discord! We'd love to work with you.

Genshin Optimizer Roadmap

  • New characters and content will continue to be added as Genshin updates
  • Artifact upgrade damage probability calculator - Q1 2024
  • Optimal substat solver for TC mode - Q2 2024

GO-next

  • A full-stack GO solution with a backend and database
  • User login, saving artifacts/data in the backend
    • Easily sharing character builds (URL)
    • Easily sharing multi-targets
  • New calculation Engine - Pando
    • Allow for weapon optimization
  • Teams + Loadouts
    • Calculate team damage
    • Sharable loadouts
  • Coming Q4 2024

Somnia-bot

  • Access your GO builds from a discord bot
  • Coming Q2 2024

SRO - GO but Star Rail

  • We need more devs! Please help us!
  • Coming ???

Code structure

GO is hosted as a monorepo. The Applications are in /apps The dependencies to the apps are in /libs

Applications

frontend - The main GO website - static website built using React with MUI, using the now deprecated Waverider calculation engine.

sr-frontend - WIP Star Rail optimizer - static website built using React with MUI, using the Pando calculation engine.

gi-frontend-next - WIP GO frontend - website built using NextJS, MUI, next-auth, using the Pando calculation engine.

gi-backend - WIP GO backend - supporting gi-frontend-next, using nestJS, prisma, GraphQL, and mongoDB.

somnia-bot - WIP discord bot - built using discord.js, using the Pando Calculation engine.

Notable Libs

gi-good - Interface for the Genshin Open Object Description (GOOD). An import format for Genshin scanners.

sr-srod - Interface for the Star Rail Object Description (SROD). An import format for Star Rail scanners.

pando - The new Optimizer calculation engine.

gi-formula - The Genshin implementation of Pando.

sr-formula - The Star Rail implementation of Pando.

gi-stats - Extracted Genshin numbers and values from the datamine, using Optimizer pipeline.

sr-stats - Extracted Star Rail numbers and values from the datamine, using Optimizer pipeline.

Basic Setup

Install yarn (link).

Run yarn to install dependencies.

Development server

Run nx serve {frontend | sr-frontend} for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.

Understand this workspace

Run nx graph to see a diagram of the dependencies of the projects.

Acknowledgments

✨ The tesseract model used was trained and provided by the creator of Inventory Kamera

✨ The creator of Silly Wisher has granted us permission to incorporate their artwork into Silly Optimizer. Silly Wisher discord, App store, Google Play

✨ This workspace has been generated by Nx, a Smart, fast and extensible build system.