Git Product home page Git Product logo

community's People

Contributors

makowo avatar theyurig avatar

Stargazers

 avatar

Watchers

 avatar

community's Issues

The backend needs to automatically update trophy lists for games that received new DLC trophies

There was recently an issue with a user that was unable to update their trophies because one of their games received a patch that added new DLC trophies.

Part of this issue was fixed over the last 2 days with the commit feat: game will update if new trophy data is found, but there are still 2 more pending issues:

  • The game on the user games does not get updated, meaning it will retain its old completion percentage. If the user was previously at 100% completion, this issue becomes even more noticeable as their profile will display the game at 100% completion and yet, display missing trophies.
  • The new trophies are not automatically added to every user's pending backlog, which in return won't also affect their pending trophies data.

While the biggest issue was fixed, there are still those 2 minor issues to fix before considering this issue as fixed.

Allow Users to collect titles based on their series completion

Users should be able to collect titles/mementos that will display on their User Profile any notable feats they have achieved. We can have title names suggested and voted on by the community. The idea for games is to have titles in 3 variants:


Silver: Complete every game in a series once to 100%. This excludes regional and platform stacks and unobtainables. This should always be achievable to some extent. If all games are unobtainable, the player will need to complete all offline trophies for every game in the series that they already possess. It will NOT require the player to add impossible games to their account.


Gold: Completed obtainable game to 100%. If the series has no stacks, the player would skip Silver entirely and go straight to Gold.


Platinum: Completed every single game to 100%. If the series has no stacks and no unobtainables, the player would skip Silver and Gold and go straight to platinum.


This is just a mock using shields.io. Our actual implementation would be better.

This was an interpretation of a suggestion by DrBloodMoney on April 8th, 2023.


We could also have titles for various other account feats, like:

  • Completing 100x PSN 100% titles. There needs to be a good name for this, maybe something related to not needing a platinum?
  • Completing 50x Games to 100% that have a platinum AND have DLC on top of it. EdinhoN suggested this to me the other day and I think it's a great idea to highlight this player behaviour.
  • Earning 500x Ultra Rare trophies or equivalent naming convention.
  • Completing 50x online-required Games. Could be named Chronically Online or something similar/funnier.
  • Earning 80% completion %, with bumps for 85/90/95/96/97/98/99/100. Maybe named Leave No Stone Unturned?
  • Never playing a single Shovelware game. Maybe call it Out of Shovels? Or maybe make it tiered based on total games %, like the lowest tier would be at most 5% Shovelware, then the next at 2%, then the next at max 5 total, then the last tier at 0 Shovelware games. How would we handle removing those games from your profile? Would this allow you to collect the title? Should we allow people to reform?

Missing Features Tracker

Megapost of things I can think of that is currently missing, Feel free to edit and or make separate issues and tag them here

Backend stuff

  • Latest games / DLC from PSN: Currently our solution to this is just the latest games added to the database, which is fine but we should ideally have some way of getting this from PSN?

User stuff

  • Trophy Cabinet: Not sure how or where or if we want to implement them, but it do be a thing
  • User Milestones: stuff like 1k trophy, blah blah
  • Statistics Page

Game stuff

  • Series page

This repository should contain the issues from our private repositories that don't need to be private

Smaller stuff like visual adjusting, user suggestions, and overall things that we don't have to worry about being public about. All of those things should be displayed in the open to contribute to our vision of building in public.

Things to add up to this:

  • Integrate this repository with a specific GitHub channel on the server so the updates can be seen happening live and linked to, without forcing Discord users to visit GitHub, unless they want to. Bot suggestion: GitHub Bot (unofficial).

Games on User profiles need to receive the same gradient treatment that trophies with PS5 tracking progress got

Thanks to Gorb's suggestion and the commit feat: add trophy timestamps, trophies can now receive a gradient left to right that will give a good visual percentual indication of how far along the player is in regard to achieving said trophy.

This treatment needs to be passed to the games themselves on a User profile, but with a few tweaks:

  • Games with platinum and no DLC should be gradient red-yellow-blue while incomplete and get a blue border once completed 100%.
  • Games without platinum or games with platinum AND DLC should be gradient red-yellow-green (same as trophies are now) while incomplete and get a green border once completed 100%.

Before shipping this update, request feedback from the community to see if it's nice or too much while reminding them that this will be adjustable (to increase the opacity to make the gradient more visible, but also to decrease the opacity to remove the gradient altogether).

The feedback focus should be on whether it has a good combination of colors and if a better one could be used instead, not if it should be shipped at all.

Send users a monthly/yearly summary once a new cycle has started

Probably one of the coolest features that True Trophies has is the summaries they send out after a certain period wraps up.

That is a really cool feature we could also have implemented in our site, since it helps with User retention, by making them revisit the website (or at least remember that we exist). Would be interesting if we had some sort of CTA that would make them come and visit the website to see more information.

Suggested here.

Game Managers need to be able to force-update a profile that was updated on PSN

Some games can receive patches that will update trophies' names, icons, descriptions, and even requirements. None of those changes are ever fetched by the backend because, in 99.99% of the cases, this would be a waste of computational resources. However, there is also no way to update the data for those games WHEN it's relevant to do so.

Issue #10 introduced a problem that we didn't expect, but also gave us a good starting model to work on adding this feature. The endpoint is already created, but it doesn't force update the entire trophy list yet.

This issue aims to have this endpoint updated to attempt checking the ENTIRE game data and associated trophies to see what is required to be changed, performing those changes, and then returning to the user a good changelog of what changes were performed. Once created, ready, and functional, this endpoint needs to be made available on the frontend for specific users that have the role of Game Managers, so they can trigger this update only when necessary/reported, for specific, selected titles.

Create a platinum-only news feed on the Home page

While scouting for good ideas to add to Trophy Place, one user suggested adding a newsfeed with Platinums earned by the website members.

I guess there would be necessary to have some sort of filtering and precautionary measures in place to assure that these continue to be relevant. Limiting to the most recent platinum of every user is one of the measures we could apply, so if a member performs a Plat Rain Day, they don't flood the feed with only their Platinums.

Something else that probably needs to be considered is creating Adjusted and Hardcore filters, so people could trim even further the content they get to see.

The last idea that I ended up having that could contribute to this would be allowing specific needs to be created, like people willing to follow their favorite series, so they can easily find out when new Users earned a Platinum in that series. If Users are able to track multiple feeds and able to notice similar users in most of them, that probably means that they are like-minded individuals, which could help them form a friendship.

Source

The backend doesn't acknowledge PSVR or PSMove 'console' filters

Despite the fact that the frontend is able to create filters to show only games with those specific 'platform' tags, the backend ignores them completely and returns all games instead.

This issue aims to have these filters added to the backend so proper games can be returned to the user.

Consider cases where dynamically changing the favicon would be a fun addition

Consider the following script:

let link = document.querySelector("link[rel~='icon']");
if (!link) {
    link = document.createElement('link');
    link.rel = 'icon';
    document.head.appendChild(link);
}
link.href = 'https://stackoverflow.com/favicon.ico';

With this, you can change a favicon to anything if the ico file is reachable.

I don't know how we could use this, but it's a case to consider. Maybe change the icon based on the player has achieved something? Change dynamically when we change the title? How would this impact the navigation history?
image
Is it possible to implement this without making the user experience heinous?

Make Profile Game borders change color based on type of completion

For games where the platinum was earned, paint the border blue (we can use the same blue of the platinums themselves: DodgerBlue) and green for when it's a 100% title completion.

Something else that would be nice to have is making the gradient for 100% titles only change from yellow to green. It's a bit harder to notice which gradient type you have prior to 70%+. Making the gradients different would make that distinguishing process much easier on the eyes.

INTERNAL:
And while we are at it, since we would essentially have 3 gradients at that point (ryg for trophies, ryb for platinum games and yg for 100% games), this would be a good moment to refactor the gradient function and separate it into 3 separate functions. That way, if we ever need to change just one of the gradients, we can easily do so without affecting the others.

For consideration: if the yg gradient looks good on its own, consider discontinuing the ryg gradient for trophies altogether and using that instead.

Localize numbers based on User language using <Number>.toLocaleString()

Different countries parse large and small numbers differently, placing the , and . in a different order. It's not worth it to manually assign those numbers for each use-case, but Javascript provides an easy way for that to be displayed for every user correctly by using <Number>.toLocaleString(languageVariable).

We need to apply this to every number (not string!) input received, so that they always display correct for users based on their chosen language.
Special places that require attention:

  • Main home statistics
  • Pagination
  • All User statistics

README.md file should have some sort of Hall of Fame to display publicly the contributors

A community is nothing without its members and this repository should have a way to display gratitude to the people who give away their time and effort to make our website better.

We should look into a better way to display the contributors to our website.

I like how PSN-API does with their contributors, but I don't think this is gonna be scalable long term. Maybe we should think of a webpage that will name every contributor and their deeds? And maybe rank them by contribution level?

Allow Game Managers to tag games and its trophies

Currently, I'm the only person able to edit any data on the database, but it would be great to allow specific members to manage game data for the community. For this, an endpoint needs to be created, blocked by privileged authentication, and then later added to the frontend so the Game Managers (and only them!) can use it to tag games and their associated trophies with relevant tags and information (like a bug or an exploit or a shutdown notice).

For this, we need to be able to fetch relevant game data, display the current values on the frontend and then offer text boxes (for notices) and multi-column checkboxes, so that users can tag multiple trophies with multiple tags if necessary.

Worthy points to consider are:

  • Allowing to check all items in a column at once, with one click, so Game Managers can tag all trophies instantly (useful for online-only games and shutdown games).
  • Games shouldn't be taggable themselves, but rather they should smartly deduct what tags they need to have based on the tags that trophies have received.
  • Every change needs to be tracked and logged, so changes can be tracked and reverted later if needed.
  • It would also be interesting if a rate limit was implemented, so we could limit harmful changes in case of an attack or impersonation by a harmful actor.
  • Platform tags need to be able to be added for individual trophies and not the entire list. Some games will only have trophies being available in one platform (Destiny 1 Rise of Iron expansion is not available on PS3, but is on PS4) or using a specific device (LittleBigPlanet 2 requires owning a Vita and a Move to complete 2 of its DLC packs, House of the Dead Overkill has 1 trophy that is PS Move exclusive, Concrete Genie and Super Stardust Ultra both have DLC packs that are VR only, but the rest of the game can be played just fine using a DS4. There are more cases like these and there will always be...)
  • Probably more that I can't think of right now?

Once the backend is ready to deal with this data, make this accessible by the frontend. Maybe it would be interesting to have this page available to all users, but with all text boxes and checkboxes disabled and no button to submit, plus a warning that the user doesn't have the Game Manager role to edit information.

Would be nice to allow everyone to know how our tools work so we can recruit more managers in the future if needed/wanted.

There is no endpoint to retrieve the latest games with DLC packs

Currently there is no way to fetch the most recent DLC packs from the database. You can fetch the most recent games and then iterate over them to try to find which ones have DLC, but that's not very effective.

This issue aims to have an endpoint created that will allow the frontend to fetch data from the backend and display the most recent games with DLC packs added to them.

We need a better way to keep this repository in line with our frontend repository

The work here is fairly manual, so the translation files in this repository will eventually get outdated as they don't get the new lines added on the frontend.

There must be a better way to address this that we need to look into. Maybe some sort of GitHub Actions that will check for files being changed on the frontend repository and then having them copies to this repository automatically?

Allow Game Managers to duplicate data from a Game to another, if they are linked as Stacks

We have released the Blueprint system this week and it's great how stacks can attach to each other, but there is more work to be done.

Game Managers need to have a way to duplicate data from one stack to another, so whenever information gets added to one Game, they can then easily also have this information mirrored on the other stacks, assuming they are 1:1 stacks.

This should be a semi-manual process where a Game Manager has a page where they can choose to copy all information to a single stack, or just copy individual bits and pieces, considering edge cases where stacks won't be 1:1 similarity, but will be decently close (Terraria WW and Terraria JP per example).

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.