TheGamesDB.net - Open Video Game Database (wiki-based, register and contribute)

  Thread Rating:
  • 4 Votes - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
spiff Offline
Retired Developer
Posts: 12,386
Joined: Nov 2003
Post: #46
there's really no reason to hash the entire iso.. just enough to be certain you have done some unique data.
find quote
wimpy Offline
Fan
Posts: 317
Joined: Nov 2009
Reputation: 2
Location: Porsgrunn, Norway
Post: #47
hashing entire isos is not really a need here no. for roms it's rather different as there are different versions of the game (different rom file versions). Ofcrs there could be different versions of an ISO game aswell, but no need for the crc value there i believe.

I would however look for a unique identifer liker Spiff mentions so it will be possible to add another entry. Example:

Fable PC ISO vs Fable Game of the Year PC ISO

www.emuxtras.net | EFnet #EmuXtras
find quote
jas8340 Offline
TheVideoGameDatabase.com Admin
Posts: 37
Joined: Aug 2008
Reputation: 0
Location: Tallahassee, FL
Post: #48
Updates:

Website
  • Added functionality to associate a player type with a game.
  • Added lightbox support for fanart images.
  • Minor bug fixes.

API
  • Added a Master Rating Search request.
  • Added a Rating Board Search request.
  • Modified Game Detail request to include a Player element.
  • Modified Game Search request to include a CRC Value parameter.
  • Modified Game Detail request to include a CRC Value parameter.

I've also added a floating Feedback Tab to the right side of the site. You can now report questions, ideas, problems, and praises directly from the site. All submissions will be displayed and made available discussion on http://getsatisfaction.com/thevideogamedb. I realize most of the ideas and questions will come from this thread and I'm cool with it staying that way. I just wanted to add something for the general public.

I still need to figure out some way to make CRC values viewable on the front end. I'm also going to try another import soon that will put some CRC values into the database.

http://thevideogamedb.com - Site Creator and Admin
find quote
spiff Offline
Retired Developer
Posts: 12,386
Joined: Nov 2003
Post: #49
one blatant "hole" in your api is the lack of language support. while i can see why this is not a priority atm, this should be taken into consideration before the xml is too establish. one simple solution is to use an attribute like <Desc lang="en">..</Desc>. i realize there's the region support, but this seems to be more for alternative titles in different regions.
find quote
jas8340 Offline
TheVideoGameDatabase.com Admin
Posts: 37
Joined: Aug 2008
Reputation: 0
Location: Tallahassee, FL
Post: #50
I imported all Virtual Boy games (including CRC Values) and added CRC Values for 32x games.

http://thevideogamedb.com - Site Creator and Admin
find quote
malte Offline
Skilled Python Coder
Posts: 1,347
Joined: Jan 2010
Reputation: 28
Location: Germany
Post: #51
Tried to add a question on this satisfaction site but did not want to make an additional account.

A question about your terms of use:
I am not allowed to share the requested API key with somebody outside the dev team. But most of your users will develop open source software and have to ship their code including your API key. So, if a user is reading my source code he/she automatically belongs to my dev team, or?Smile
find quote
jas8340 Offline
TheVideoGameDatabase.com Admin
Posts: 37
Joined: Aug 2008
Reputation: 0
Location: Tallahassee, FL
Post: #52
Malte - you are totally allowed to share you key with your dev team. I wasn't sure if you saw this line in the Terms of Use:

"Do not share your API with other users outsite of your project's development team."

If you did, was the wording confusing?

Spiff - I'd like to talk more to you about adding language support within the xml. Would the "lang" attribute be added to any text field (i.e. non lookup value)?

http://thevideogamedb.com - Site Creator and Admin
find quote
malte Offline
Skilled Python Coder
Posts: 1,347
Joined: Jan 2010
Reputation: 28
Location: Germany
Post: #53
Yes, I saw this. This allows me to share the key with my dev team (wish I had oneSmile) but not with my users. As this is open source and I need to write the key somewhere in my code all users of my script will have access to the the API key (if they search for it).
find quote
jas8340 Offline
TheVideoGameDatabase.com Admin
Posts: 37
Joined: Aug 2008
Reputation: 0
Location: Tallahassee, FL
Post: #54
How do similar sites (like thetvdb or IMDB) handle this situation?

http://thevideogamedb.com - Site Creator and Admin
find quote
spiff Offline
Retired Developer
Posts: 12,386
Joined: Nov 2003
Post: #55
tvdb handles it somewhat different, but i think that is overkill here. in tvdb you request the data in a particular language. it's implemented as a 'virtual' file, i.e. you grab show/en/all.zip you get english, show/de/all.zip you get german, assuming it's avail, else you get english.

on imdb it's simply different urls.

however, there won't be all that much data per game here. i think it would be easier on all parts if all the languages were simply included in the same xml. in my proposed scheme, the lang attribute would apply to all translatable fields yes.
find quote
jas8340 Offline
TheVideoGameDatabase.com Admin
Posts: 37
Joined: Aug 2008
Reputation: 0
Location: Tallahassee, FL
Post: #56
@ Spiff - Ok, that makes sense. I will have to make a few database and front-end modifications because right now the Title and Descriptions are stored in a single Game record. As for the XML, I'll look into including all languages as default with an optional "lang" parameter to reduce the payload size.

Also, I guess my question applies to the API keys as well: how do similar sites handle putting a key in open source code? One alternate solution would be to implement an Oauth (http://oauth.net/) type solution. Twitter just implemented a version of Oauth for their API calls.

http://thevideogamedb.com - Site Creator and Admin
find quote
malte Offline
Skilled Python Coder
Posts: 1,347
Joined: Jan 2010
Reputation: 28
Location: Germany
Post: #57
I don't find anything about not sharing the API key at thetvdb.com for example: http://thetvdb.com/?tab=apiregister.

There are lots of other addons that write the API keys in the source code (e.g. Youtube), so I think this should be quite common.
find quote
jas8340 Offline
TheVideoGameDatabase.com Admin
Posts: 37
Joined: Aug 2008
Reputation: 0
Location: Tallahassee, FL
Post: #58
Here's another question about CRC values: do the crc values on your site only pertain to the regional release of that game? I know that some games have multiple values because of different versions.

The problem that I'm running into is that each regional release of a game is a separate entity. So right now all the crc values that I am importing are associated with a specific regional release. I wanted to make sure that I wasn't associating the crc value for the European release to the US release.

http://thevideogamedb.com - Site Creator and Admin
(This post was last modified: 2010-09-12 16:16 by jas8340.)
find quote
malte Offline
Skilled Python Coder
Posts: 1,347
Joined: Jan 2010
Reputation: 28
Location: Germany
Post: #59
Maybe wimpy can answer this crc question, I am not sure where these values come from.

Another question: I am nearly done with my xml import and can handle your format already. Now it comes to first import tests against your API. Do you have any recommendations how many requests I can fire per time unit? Many users report that they have several thousands of roms. If they start an import and scan their complete library it may be a good idea to add a sleep from time to time.
find quote
Flomaster Offline
Posting Freak
Posts: 1,287
Joined: Jun 2010
Reputation: 6
Location: East Texas
Post: #60
on this page http://thevideogamedb.com/Platforms/Sear...forms.aspx
clicking on page 2-5 results in this error
Code:
Server Error in '/thevgdb' Application.

Object of type 'VGDB.Data.DataTransferObjects.GameDto' cannot be converted to type 'VGDB.Data.DataTransferObjects.PlatformDto'.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.ArgumentException: Object of type 'VGDB.Data.DataTransferObjects.GameDto' cannot be converted to type 'VGDB.Data.DataTransferObjects.PlatformDto'.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:


[ArgumentException: Object of type 'VGDB.Data.DataTransferObjects.GameDto' cannot be converted to type 'VGDB.Data.DataTransferObjects.PlatformDto'.]
   System.RuntimeType.CheckValue(Object value, Binder binder, CultureInfo culture, BindingFlags invokeAttr) +7538253
   System.Reflection.MethodBase.CheckArguments(Object[] parameters, Binder binder, BindingFlags invokeAttr, CultureInfo culture, Signature sig) +211
   System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks) +228
   System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) +29
   System.Web.UI.WebControls.ObjectDataSourceView.InvokeMethod(ObjectDataSourceMeth​od method, Boolean disposeInstance, Object& instance) +488
   System.Web.UI.WebControls.ObjectDataSourceView.ExecuteSelect(DataSourceSelectArg​uments arguments) +1247
   System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) +19
   System.Web.UI.WebControls.DataBoundControl.PerformSelect() +142
   System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +73
   System.Web.UI.WebControls.GridView.DataBind() +4
   System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +82
   System.Web.UI.WebControls.BaseDataBoundControl.OnPreRender(EventArgs e) +22
   System.Web.UI.WebControls.GridView.OnPreRender(EventArgs e) +17
   System.Web.UI.Control.PreRenderRecursiveInternal() +80
   System.Web.UI.Control.PreRenderRecursiveInternal() +171
   System.Web.UI.Control.PreRenderRecursiveInternal() +171
   System.Web.UI.Control.PreRenderRecursiveInternal() +171
   System.Web.UI.Control.PreRenderRecursiveInternal() +171
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +842

Version Information: Microsoft .NET Framework Version:2.0.50727.4206; ASP.NET Version:2.0.50727.4016
if I click refresh in my browsers the page loads correctly

-=Jason=-
find quote
Post Reply