UPDATE – Game Picker Playtime Filter

Category: | Posted on:September 2, 2021
game picker filter

Pursuant to my co-workers’ feedback, I added a playtime filter to the Game Picker 9000. Now the Game Picker can ignore games you’ve played already. Additionally, the Game Picker now prints the total playtime of each game in the main listing.

Playtime Filter Implementation

The Game Picker 9000 uses the GetOwnedGames method within the Steam Web API. This returns game data like the title, app id, image icons, and total playtime. The API formats the data in seconds, so I did a little division to get it to print in hours. Then I added a filter to the initial GET request. Ultimately, I decided on two hours for the threshold. Anything over that counts as “played”. This allows some flexibility for games that may have started themselves after install, or games that were started but not finished.

Troubleshooting

I had a friend test the new filter with their own Steam ID, and initially thought it was broken. The filter didn’t seem to be working. It returned all of the games in the person’s library with playtimes of zero, which was not accurate to the information on their account. Turns out, the Steam Web API limits your access to a user’s data based on whether said user’s account is public or private. If it’s private, the playtimes are off-limits, and the Game Picker returns a value of zero for all of them. There isn’t really a way around this issue. It’s just the way the API works, and it appears founded in solid privacy concerns. So, I had to ameliorate it within the UX. I added a disclaimer to the filter to clarify the limitations.

Related Logs


  • UPDATE – Simple Responsive Portfolio Svelte

    January 26, 2026

    Refactored the code in the Simple Responsive Portfolio Svelte to use updated Svelte 5 syntax for state and props. Svelte 5 Syntax Svelte 5 retired the prior export syntax. Before, the parent would establish state with a let variable declaration: A child component could then receive it with an export statement: The new syntax for […]

    Continue Reading
  • NEW PROJECT – Simple Responsive Portfolio Svelte

    January 23, 2026

    The Simple Responsive Portfolio Svelte is a remake of my Simple Responsive Portfolio project in Svelte 5. Objective I need to brush up on my Svelte skills since it updated to v5. My last foray was a photo album for my wedding that used Svelte Cloudinary to handle uploads. This project was just a simple […]

    Continue Reading
  • RIP Glitch.com

    January 12, 2026

    Glitch.com, the service I was using to host some of my projects for free, has terminated its hosting services. I didn’t find out until after the grace period, so everything I had up there is gone, but it was all just copies of existing repos anyway. I’ve had to migrate the original Game Picker 9000, […]

    Continue Reading