Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - x211321

Pages: [1]
1
 Hello everyone,

 
most of you probably haven’t seen me around. I have been using VGCollect to manage my collection for a number of years, but only recently started using the forum.

 
I’ve always appreciated the way VGCollect handles collection management but over the years I felt that the analysis side was a little lacking. To determine specific properties of my collection, I often download the CSV-file from my user profile and dig through the data by hand, using a spreadsheet application. I imagine many of you have done the same before.

 
A while ago I figured I could make my life a little easier by automating the process. So I put together a little script that would download my collection CSV from the website and apply various criteria to analyze it. This turned out to be a great hobby project which provided lots of entertainment in its own right so over the last few months I added a lot of features that I found useful and were fun to implement.

 
At some point I figured that other users might also be interested in some of the functionality my application provides so I got in touch with the staff to see whether it would be alright to make my project public, some of you might have seen my previous post. Turns out it was alright and so I’d like to introduce you to what I’ve been working on.

 
VGC_Analyze

 


 
The creatively titled VGC_Analyze is an analyzer for your VGCollect game collection.

 
VGC_Analyze is an unofficial hobby project, not affiliated with VGCollect.com.

 
For a general overview of the application and installation instructions you can visit the projects GitHub page

 
In this post I’d like to demonstrate the general functionality and provide some use cases for the application.

 
Available data / limitations
As stated before, the application uses the CSV backup of your collection as its data source. The CSV backup was initially intended as a way to restore a VGCollect collection on the website and thus only includes data that is necessary for the given task. VGC_Analyze does a lot with the data that is there but some attributes like publisher, developer, genre or release date can’t be evaluated since they are not included in the file.

 
General mode of operation
The core of VGC_Analyze is the filter sidebar on the left side of the screen. The various filters allow you to pick out specific parts of your collection.  All evaluations are always based on the filtered data.

 
Let’s say I want to compare the number of items of my sixth generation home consoles. I set the platform filter to the respective platforms and all other metrics automatically adjust to the filter result.

 


 
Every filter can be combined with every other filter. If you want to see all your japanese import games with missing manuals, purchased between new years and last week, grouped by the month they were added to your collection, you can.

 
Graphs
Currently VGC_Analyze offers four different graph types. Each graph type can plot multiple attributes like platforms, regions and dates. Some represent total amounts at a specific moment in time, others show growth over a given period.

 


 
Templates
Filters can be saved as templates for quick access to often used configurations. The template manager can be accessed via the application menu or via the key combination Ctrl+B.

 


 
On the left side the previously saved templates are shown. The entry “[current configuration]” represents the filter attributes that are currently set in the main window and can be saved as a new template. The right side shows the individual attributes of the selected template. Templates can be loaded or deleted.

 
Collection download
VGC_Analyze can automatically download the CSV backup of your collection from your VGCollect user profile. The download manager can be accessed via the application menu or via the key combination Ctrl+D. The download manager automatically opens on first run when no collection data is present.

 
Your VGCollect login credentials must be provided to be download your collection. The login credentials are currently not saved and must be re-entered every time you want to update the local copy of your collection. Maybe some time in the future I’ll find the motivation to deal with secure password storage, until then VGC_Analyze forgets credentials immediately.

 
If you don’t feel like entering your login data into some unknown piece of software (which I totally understand), you can instead download your collection backup manually and copy it into the data folder.

 
You can access the data folder from the application menu (File -> “Open data folder”).

 
Restart VGC_Analyze after a new file has been added to the folder. The active file can be selected from the drop down list on the top right of the screen.

 

 
Item search
Search through the active list of items with the quick search function, accessible from the application menu or via the key combination Ctrl+F.

 

 
Export
VGC_analyze can export your collection as a printable HTML file. The HTML consists of a simple table and reflects the display in the main application one to one. All filters, groupings and sort orders are applied exactly as they are set in the application itself.

 


 
The export file is generated in the data folder (File -> “Open data folder”). A simple CSS file is generated alongside the HTML and can be modified if required.

 
The columns of the HTML table reflect the columns in the main application. Currently there are no separate column configurations for the main table and the export table.

 

 
Platform holders
The underlying data for the “platform holder” filter is not provided by the backup CSV file. Instead I chose to implement a list of platform holders that is applied when the data is loaded into the application and can be modified by the user.

 
To access the platform holders configuration open the application settings (File -> Settings) and select the corresponding settings tab.

 


 
VGC_Analyze comes with a default list of platform holders and platform keywords but the list can be modified and expanded by the user.

 
When a CSV file is read the application checks the platform attributes of each collection item and compares them to the platform keywords. So, as displayed in the above example, any platforms that match “gamecube”, “amiibo” or “wii” are associated with Nintendo while “playstation”, “psone” and “psp” are associated with Sony.

 
All platforms that can’t be matched to a platform holder are grouped under “[Other]”.

 
Platform overwrites
To achieve a more consistent data foundation VGC_Analyze provides a function to overwrite platform names. The specific overwrites can be configured in the application settings (File -> Settings -> Platforms).

 


 
The above screenshot represents the default list of platform overwrites, which can be modified or expanded by the user.

 
The reason for platform overwrites is that platforms on VGCollect sometimes have different names for different regions. In general VGC_Analyze tries to extract the region tag of the platform name (e.g. “Nintendo Switch [EU]” is split into platform “Nintendo Switch” and region “EU”) and allows each to be filtered separately.

 
In the case of platforms that have different names for different regions (e.g. “Nintendo Entertainment System” and “Famicom”) VGC_Analyze can’t make a connection between the two and would list each as its own platform. By overwriting both with “NES/Famicom” the data is combined and can be filtered by region if needed.

 
Local data extensions
Currently there are two ways to add additional data to your downloaded collection. Items can be marked as bookmarked and/or finished. Both flags are stored locally in the data folder and can either be set via the buttons on the top right of the screen or via the right click context menu.

 
Regular expressions
The “Title” and “Notes” filters allow the use of regular expressions. To activate regular expressions press the button next to the corresponding input.

 
VGC_Analyze uses the default Python notation for regular expressions.

 
For example: “^Legend.*Time$” would match all items that start with “Legend” and end with “Time”.

 

 
This concludes the basic overview of VGC_Analyze. Please keep in mind that this is purely a hobby project so some ugly code and a bug or two are to be expected.

 
If anyone of you is interested in trying the app yourself check out the projects GitHub page. If you have any feedback please post it here as a response.

 
I’m not a native English speaker so let me know if anything is unclear and I’ll try to describe it in greater detail.

2
Hello everyone,

I hope this is the right place for this. If not please move this thread somewhere else, thanks.

I've been using VGCollect to manage my collection for a number of years but haven't been active in the forum until now.

I think VGCollect is a great place to manage game collections. I'm especially fond of how community driven and down to earth everything is. At this point I'd like to thank all of the admins and mods for their efforts in creating and maintaining the site.

As much as I like the website, I sometimes find myself in situations where I'd like to view my collection from different angles. I'm really into lists and stats and often wonder about certain aspects of my collection. So whenever I want to discern something like my total spending or the number of purchases per year I'd download the backup CSV-File from my user profile and then use a spreadsheet application like Excel to find the answers I'm looking for.

A while ago I figured that doing this manually every time is a bit of a pain so I started automating the process. Since I was already looking for an excuse to look into Python programming I figured I'd write a simple Python script to download the CSV-File from the website and to process the data according to my needs. At first it was a simple command line application that could filter, group and sum the data by different aspects and output the result in the terminal. Over time I expanded the concept by adding a GUI, charts, graphs and a lot of other features that I found useful.

A couple month ago the application was at a point where I'd start wondering whether others might also be interested in its features. Until then I didn't plan on sharing it since it's a simple hobby project and I only worked on it for my own convenience and entertainment. The application is still nothing fancy but I figured that it had enough useful features that there might be some others that'd also like to use it.

By this point the application had some features that directly interacted with the VGCollect.com website and I figured that I should not make it public without having someone from the staff approve of those interactions. I tried getting in contact with some staff members via forum messages (hope I didn't bother any of you) but so far no one was able to help me out. That's why I'm posting here now, in the hopes of finding someone who can answer my questions.

Currently there are three ways in which the application interacts with the website.


1) Download game covers from the website

Whenever the user selects an entry in the view table the application downloads the corresponding game covers from the website. The covers are stored locally so that they will be downloaded only the first time an entry is selected or when a manual refresh is triggered by the user.

The downloads are made by requesting

Code: [Select]
https://vgcollect.com/images/<front-box/back-box/cart>-art/<ID>.jpg



2) Download the backup CSV-File from the user profile

The user has the option to input their VGCollect login information to automatically download the backup CSV-File from their user profile. The application logs into the website and downloads

Code: [Select]
https://vgcollect.com/settings/export/collection
The CSV-File can also be provided manually so using the download function is not necessary.

The provided login information is only used for the immediate download and gets discarded after that.


3) Extracting item information from individual item pages

The user has the option to open a detailed item view where all available information of the selected item is displayed. Here the user can manually download additional information directly from the website. In general the application only works with the data provided by the CSV-File. Since the CSV-File doesn't provide a whole lot of information for individual items I provided a way to get more directly from the site.

For this feature the application downloads the HTML from

Code: [Select]
https://vgcollect.com/item/<ID>

and extracts the info-table. This data is cached locally and will only be downloaded when the user explicitly requests so.





These are the three ways in which the application interacts with the VGCollect.com website. In general I don't believe that any of those will have any measurable effect on the site as whole (especially since I doubt many will use it in the first place) but it's clear that it still generates some external traffic while not generating any potential ad revenue. So on principal I completely understand if any of those interactions are undesirable. I can also imagine that the collection download feature can be seen as a security risk since the user has to provide their login data. Of course the application would be open source so everyone could check how it works in that regard.

Depending on the wishes of the owner and staff I'd either remove any offending features or refrain from releasing it at all.

In the end to me this is a simple hobby project, so I have no greater ambitions and am perfectly fine to keep it private.

So in case anyone read this far, I'd be glad if someone could tell me whether it'd be alright to make the application publicly available.

Thanks

EDIT: Typos

Pages: [1]