Code Monkey home page Code Monkey logo

primoprod's People

Contributors

imgbot[bot] avatar potatoeggy avatar vincentjguo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

primoprod's Issues

2.3 banner changes

The release of version 2.3 of the base game has led to some changes that need to be made to the UI:

  • The history screen now has a really ugly third column for the origin of the banner - either "Character Event Wish" or "Character Event Wish-2". This will require a redesign of basically the entire banner system to assign banner storage a name as well as distinguish banner name from banner storage from banner type.
  • New banners

Alias Inventory.currency to actual inventory slots

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.

10 pull missing vertical box

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.

Videos contain UIDs

This is a minor issue but it would be best to get everything as near perfect as possible.

Android niggles

To reach parity with the Electron version, the Android app should:

  • Force landscape mode
  • Remove the notification bar
  • Remove the video player transition
  • Add clicking sounds to switching mobile banner headers
  • Appropriately resize the video by zooming it out

You can't do anything with your pulls

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.

Ugly image load-in

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.

Rate-up is not applied properly in event banners

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%).

Win 50/50 is not saved

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")

Banner switching arrows

In the base game, you can click arrows to the left and right of banners to switch to the next or previous ones.

Assets are not preloading properly

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.

Gacha art sizing issues

Yanfei and Kazuha only have 1000x500 assets as opposed to the rest which are 2048x1024.

This severely affects 1080p+ windows.

Retroactively roll on old banners

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.

Make design adaptive

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.

Fun features

In a new "Settings" menu that should be placed somewhere:

  • Infinite primogem mode
  • Always 4-star mode
  • Always 5-star mode
  • Always 50/50
  • Never 50/50
  • Pity tracker
  • Unlimited history scrolling
  • Custom banner

Depends on #36.

Missing BGM autoplay

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.

Rewards are not configurable

Users are currently locked into the current suggestion of 840 primos per event, 20/commission and 40/all dailies.

Assets are too large

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:

  • Add a loading screen like genshin.thekima.com (suboptimal)
  • Compress large assets (banner, background images, BGM (the bgm alone is 10 MB and almost never autoplayed)
  • Defer loading of some images so that it still looks sort of nice (background image > icons > banner)

Animation jiggly issues

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.

Support multiple concurrent banners

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:

  • Add a banner selector to the top of WishBanners
  • Internally support multiple gachas and store them accordingly (sort of implemented already)
  • Ensure that there are slide-in animations for each banner and buttons can be used to switch between them

State with vuex

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.

[webkit] Portrait mode removes image backgrounds

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.

Enable Yae banner

Version 2.5 released yesterday.

TODO:

  • Get Yae Miko splash art in assets/images/drops
  • Get Yae banner header in assets/images/banner-headers
  • Set default banner to Yae banner in App.vue
  • Get Yae icon in assets/images/icons

First run screen

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 gacha system is wrong

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:

  • Roll. If it's a 5-star item, give it to the player.
  • If not, and a 5-star item is guaranteed, give a 5-star item.
  • If not, and the roll is a 4-star item, give it to the player.
  • If not, and a 4-star item is guaranteed, give a 4-star item.
  • Give a 3-star item.

Soft pity also increases over time from a base rate (~32%) up to 100%.

This will require a rewrite of the gacha system.

Electron app

Not only can an aspect ratio + window size be preserved, resolving #4 , everything handled locally means that #7 and #8 are also resolvable.

Wish animation flicker during transitions

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.

Style, markup, and logic refactoring

This extends on #36 to clean up CSS tags (less classes, better descriptors), HTML tags (less divs, more semantics), and code (we don't talk about code).

  • CSS revamp
  • HTML revamp
  • TS revamp

Asset prefetching issues (pt 2)

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.

Too many quests blocks buttons

Once there are 6 or more event quests, the "New", "Delete", and "Claim" buttons are out of the screen on a typical 1920x1080 display.

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.