potatoeggy / primoprod Goto Github PK
View Code? Open in Web Editor NEWA Genshin Impact wish simulator to push a to-do list with gacha as motivation
Home Page: https://primoprod.vercel.app
License: GNU Affero General Public License v3.0
A Genshin Impact wish simulator to push a to-do list with gacha as motivation
Home Page: https://primoprod.vercel.app
License: GNU Affero General Public License v3.0
The release of version 2.3 of the base game has led to some changes that need to be made to the UI:
At the moment, there are a lot of if/else checks needed when adding currency items such as Primogems or Fates to the user's inventory. (https://github.com/potatoeggy/primoprod/blob/master/src/state/Inventory.ts#L43)
This can be averted by aliasing/symlinking currency.fates
and currency.primos
etc to inventory["primogem"]
to make life easier.
While at it, fix the input for Inventory.inventory
— it should default to an empty object instead of an array if not found in local storage.
Steps to reproduce
Everything should use the custom cursor.
All other assets are easy enough to get and style. However, a blank version of the hexagonal item holder does not seem to be available anywhere.
The 10-pull screen cannot be completed until this issue is resolved.
This is a minor issue but it would be best to get everything as near perfect as possible.
To reach parity with the Electron version, the Android app should:
It's much less satisfying pulling for numbers you can't even see.
Can be remedied with an inventory screen: 1 for weapons and 1 for characters.
Weapons can come with audio such as music.
Characters can come with visuals such as models and audio such as voicelines and music.
While large background images load in, an offensive white is really distracting.
Background colours should match the general image colour scheme while it is being loaded.
Event banners, while a featured 4/5 star is not guaranteed until losing the 50/50, still have a 50/50 in place. There is no such system in the current gacha.
This can be resolved by adding a 50% rng check in get4StarItem and get5StarItem prior to the drop.featured check (as otherwise that increases probability past 50%).
It's saved internally and is reflected in future pulls but you can't see it in the settings screen (defaults to blank or "normally")
In the base game, you can click arrows to the left and right of banners to switch to the next or previous ones.
The current style was largely copied from https://genshin.thekima.com. However, the actual game contains images around its border and as divider lines.
On the initial visit, the background takes a bit to load in — this is acceptable. What is not acceptable is that the initial videos and character backgrounds slide in.
All resources should be prefetched if possible (prefetch while the video plays?).
Alternatively, use a CDN.
Yanfei and Kazuha only have 1000x500 assets as opposed to the rest which are 2048x1024.
This severely affects 1080p+ windows.
Add every older banner in a submenu somewhere.
If the time limit is a concern, it can be free of charge and result in no items actually gained.
At a certain viewport size, things begin to overflow (16:9 is currently ideal at ~1080p-1440p). To resolve this, each element should be dynamic and change upon reaching a certain height/width.
In addition, the whole thing is completely broken on mobile.
In a new "Settings" menu that should be placed somewhere:
Depends on #36.
At the moment, for background music to properly load, it must be explicitly enabled through the browser without prompting.
This can be resolved by adding a settings menu to encourage autoplay and only autoplay if autoplay is supported, otherwise playing on first wish.
The actual versions are much less flashy.
Expected behaviour: the currently selected quest is deleted.
Users are currently locked into the current suggestion of 840 primos per event, 20/commission and 40/all dailies.
Ideally, they should be compressed as much as possible. Aside from preloading mentioned in #7, the wish banner alone contains several megabytes of assets that need to be downloaded and it looks terrible while it loads in.
This can be remedied in several ways:
The shop button currently doesn't do anything.
Especially noticeable on the quest menu, some elements resize themselves when hovered/clicked on, which affects other items and makes everything feel kind of jiggly.
This can be resolved by adding a div around all of these would-jiggle items and size them to be the maximum size that the animated element will be.
The upcoming event banner contains multiple characters running concurrently. In addition to that, this feature will also support the standard banner and (maybe) the weapon banner.
TODO:
Currently, App.vue
acts as a state tracker by passing props to each child. This has led to issues such as banners being passed everywhere and in particular the inventory and gacha classes being mildly confusing to handle.
Vuex can be used to centralise these state variables should the project be complex enough to necessitate it.
The background returns to its blue colour. Because this affects all WebKit-based browsers, this affects Android, Electron, and web builds on Chrome.
This also affects the wish reveal screen and ItemObtainOverlay, where the default white colour returns.
Version 2.5 released yesterday.
TODO:
assets/images/drops
assets/images/banner-headers
App.vue
assets/images/icons
In the original source, an animated arrow moving left and right points at the currently selected quest. This is not currently implemented.
Most things are broken in mobile landscape
Feature request: Do not let users make their own quests, instead they are sent via an API.
On first run, copy that annoying red indicator in the quests menu that takes you to the welcome quest. Further revamp the welcome quest to be a good first intro to the tool.
The current soft pity implementation is 32% starting from wish 74 and resets 4 star pity upon getting a 5 star item.
The process should be:
Soft pity also increases over time from a base rate (~32%) up to 100%.
This will require a rewrite of the gacha system.
In the original game, the background is animated and loops perfectly (see https://www.youtube.com/watch?v=MYaZUjGA_AQ)
When a picture loads in via src, it takes time and the hardcoded animation-delay
of 0.1s is enough on a local machine but not over the Internet.
This can be made less fragile by loading all assets and then toggling their visibility with display: none
as needed with currentIndex
.
The original applies a full coloured shader over the entire button. This remake only changes background colours.
https://bugzilla.mozilla.org/show_bug.cgi?id=1749625
The quest and shop screens are affected, making them difficult to read. This affects Firefox desktop and mobile.
This extends on #36 to clean up CSS tags (less classes, better descriptors), HTML tags (less div
s, more semantics), and code (we don't talk about code).
The close button and header text are out of bounds (viewport unit related?)
Most noticeable in the quest menu, claiming quests doesn't always have a screen pop up, but rewards are still processed correctly.
Assets taking too long to load results in loading issues — we should force predownloading (via a loading screen) or have it as an option in the settings menu.
Once there are 6 or more event quests, the "New", "Delete", and "Claim" buttons are out of the screen on a typical 1920x1080 display.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.