trophy-place / community Goto Github PK
View Code? Open in Web Editor NEWPublic repository for community additions to trophy.place
Home Page: https://my.trophy.place
Public repository for community additions to trophy.place
Home Page: https://my.trophy.place
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:
While the biggest issue was fixed, there are still those 2 minor issues to fix before considering this issue as fixed.
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:
Chronically Online
or something similar/funnier.Leave No Stone Unturned
?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?Megapost of things I can think of that is currently missing, Feel free to edit and or make separate issues and tag them here
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:
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:
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.
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.
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.
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.
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 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?
Is it possible to implement this without making the user experience heinous?
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.
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:
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?
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:
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.
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 now have a recent data endpoint, but it's currently not being used by the frontend. If this is integrated, then we can have dynamic data displayed on the frontend and, therefore, give it meaningful data to users.
This issue aims to integrate the frontend to the dynamic datapoint of the backend.
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?
We currently don't have a lot of metatags for pages, but we should work on that in the future to improve user previews when links are posted to social media channels, like Twitter and Discord.
Reference: https://www.opengraph.xyz/url/https%3A%2F%2Ftrophy.place%2F
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).
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.