In 2016, we want to continue our little series of blog entries about new developments within the video game database landscape.
The biggest news this cycle, again, came from the team of the IGDB.The core team of the site obviously found investors to believe in their success, and thus the developers are now working full time on the code. You can check out their headquarters and core people in their first episode
of "Insight" videos. Also, in a turn of events unseen before, the lead
developer of IGDB shared the technical base of the site in a 46 minute video.
Monday, May 23, 2016
Thursday, September 10, 2015
GameDB News Roundup 02/2015
Let's take another look at new developments within the video game database landscape.
The biggest news this cycle made IGDB, who launched the first version of their API. An API offers standardized access for fetching all kinds of data from a database, so they can be used elsewhere, and is therefore an important thing to have. This first IGDB API offers access to game data, companies, people, franchises, and platforms, which seems quite comprehensive so far. There's also the possibility for game shops to integrate their game products to the price comparison feature of IGDB.
The biggest news this cycle made IGDB, who launched the first version of their API. An API offers standardized access for fetching all kinds of data from a database, so they can be used elsewhere, and is therefore an important thing to have. This first IGDB API offers access to game data, companies, people, franchises, and platforms, which seems quite comprehensive so far. There's also the possibility for game shops to integrate their game products to the price comparison feature of IGDB.
Sunday, July 5, 2015
Sorting out the platform mess
Introduction
It's no secret that every game needs some hardware (HW) to run on, and most of them also need some basic software (SW) like an operating system (OS) on top of that HW. But the traditional platform model we see at many, if not all, video gaming sites out there is a wild mix of HW and SW. You see consoles like the PlayStation, OS's like Linux or Windows, "platform-independent" SW like a Browser, or even Arcade boards lumped together into one single layer of platform data. This get-together of all the different technical platforms in one place leads to quite some problems when it comes to documenting game releases.Wednesday, June 3, 2015
GameDB News Roundup 01/2015
This blog post shall be the start to a series of news items which shortly summarize the latest developments in the video game database landscape. As we closely watch a number of projects, it's only logical to collect all the news in one place.
In the last months, three databases reported new contribution milestones regarding the number of games in the databases. MobyGames reached 50K "unique games", the rather new project IGDB reported reaching 10K games, and the Italian project UVL even celebrated 100K games lurking in their database. Now does that mean that MobyGames is five times as successful as the IGDB, and the UVL is twice as successful as MobyGames? Obviously not.
In the last months, three databases reported new contribution milestones regarding the number of games in the databases. MobyGames reached 50K "unique games", the rather new project IGDB reported reaching 10K games, and the Italian project UVL even celebrated 100K games lurking in their database. Now does that mean that MobyGames is five times as successful as the IGDB, and the UVL is twice as successful as MobyGames? Obviously not.
Saturday, December 27, 2014
Software at Oregami
At Oregami we are using a bunch of open source software products, or commercial products that are freely available to open source projects like us to get things done. This blog post will tell you what we are using!
Somehow I got aware of IntelliJ IDEA from Jetbrains, which they call "The Most Intelligent Java IDE". It is not completely available for free: they offer a free "Community Edition", but many useful features are only available if you buy the "Ultimate Edition". Fortunately, Jetbrains offers an Open Source License for the Ultimate Edition. IntelliJ IDEA is available for Mac, Linux and Windows.
Software for Development
IntelliJ IDEA
You are a Java developer? Chances are high that you are using Eclipse IDE which is available under a free license. I am using Eclipse now for many years myself, and I got "used to it".Somehow I got aware of IntelliJ IDEA from Jetbrains, which they call "The Most Intelligent Java IDE". It is not completely available for free: they offer a free "Community Edition", but many useful features are only available if you buy the "Ultimate Edition". Fortunately, Jetbrains offers an Open Source License for the Ultimate Edition. IntelliJ IDEA is available for Mac, Linux and Windows.
Wednesday, June 11, 2014
Open source RESTful server application (Dropwizard - Google Guice - JPA Hibernate)
Around one year ago I decided to use the Java framework Dropwizard for our server application. Since then I read a lot, I learned a lot and I implemented many things.
As the recently published new Dropwizard version required some re engineering of our application, I used the opportunity to start all over again from the beginning to strengthen my knowledge about the whole implementation. I want to permanently understand every single detail of it, that's the only way I can extend and document it in a meaningful way. It should also help other people to get involved in the development!
In order to be able to provide my technical progress to the outside world in a useful way, I created a complete new ToDo application which is generic, thus stripped of the whole Oregami context. You know the drill with those to-do's: an incomplete thing with a list of features (name, description, state, ...) that still need doing.
Today the generic application contains the following stuff:
Disclaimer: Of course you might find out that something can be done in a better way. In this case don't hesitate and help me to improve the code! Use the usual pull request mechanism at Github to do so. The same applies for extensions of the functionality!
Notes for developers:
Start the application with the class "ToDoApplication" with the parameters "server todo.yml".
List all tasks with:
GET => http://localhost:8080/task
Add a new task with:
POST => http://localhost:8080/task
Header:
Content-Type:application/json
JSON-Body e.g. :
{"name" : "task 1", "description" : "This is a description"}
Modify a task:
PUT => http://localhost:8080/task/[id]
Header:
Content-Type:application/json
Accept:application/json
JSON-Body e.g.:
{
"id": "402880944687600101468760d9ea0000",
"version": "0",
"name": "task 1 with new name",
"description": "This is an updated description",
"finished": "false"
}
Important hint:
I recommend you use the great chrome extension Postman to make such HTTP calls!
As the recently published new Dropwizard version required some re engineering of our application, I used the opportunity to start all over again from the beginning to strengthen my knowledge about the whole implementation. I want to permanently understand every single detail of it, that's the only way I can extend and document it in a meaningful way. It should also help other people to get involved in the development!
In order to be able to provide my technical progress to the outside world in a useful way, I created a complete new ToDo application which is generic, thus stripped of the whole Oregami context. You know the drill with those to-do's: an incomplete thing with a list of features (name, description, state, ...) that still need doing.
Today the generic application contains the following stuff:
- RESTful app based on Dropwizard version 0.7.0
- Dependency Injection with Google Guice
- Hibernate / JPA 2.1 as persistence framework
- HSQLDB as (in memory) database
- "Transaction-per-HTTP-request" with Guice PersistentFilter
- Support for cross-origin resource sharing
- JPA entities with UUIDs as key
- a pattern for accessing and manipulating entities with HTTP REST calls
(Resource => Service => DAO => entity) - a pattern for ServiceResult objects which contain ServiceErrorMessages (which can later be bound to the corresponding web form fields in the client)
- continuous JUnit tests to assure correct functionality
- authentification
- Hypermedia with HATEOAS
- more complex entities (1-to-n-relations)
Disclaimer: Of course you might find out that something can be done in a better way. In this case don't hesitate and help me to improve the code! Use the usual pull request mechanism at Github to do so. The same applies for extensions of the functionality!
Notes for developers:
Start the application with the class "ToDoApplication" with the parameters "server todo.yml".
List all tasks with:
GET => http://localhost:8080/task
Add a new task with:
POST => http://localhost:8080/task
Header:
Content-Type:application/json
JSON-Body e.g. :
{"name" : "task 1", "description" : "This is a description"}
Modify a task:
PUT => http://localhost:8080/task/[id]
Header:
Content-Type:application/json
Accept:application/json
JSON-Body e.g.:
{
"id": "402880944687600101468760d9ea0000",
"version": "0",
"name": "task 1 with new name",
"description": "This is an updated description",
"finished": "false"
}
Important hint:
I recommend you use the great chrome extension Postman to make such HTTP calls!
Friday, January 31, 2014
Nomen est omen: the naming of games
One of the main recurring criticisms of MobyGames - despite all its
serious flaws in other parts of their data model - is the naming of the
game entries. As MobyGames is, and always has been, a US project, every
game is only accepted into the database using its US release title as the "main title".
Missing that, a release title of other English-speaking countries is
accepted, and only if there's no English title available, the original
title of release is allowed, regardless of origin. When a main title is
found for the game, every other title is only accepted into the database
as an "alternative title".
There's one big problem with this approach. It may well be that the rest of the world doesn't care one bit about the US release title of a game. Imagine a Japanese player browsing MobyGames, only to find the fourth entry of the Final Fantasy series listed as "Final Fantasy II", just because it was the second FF game released in the US. There must be a better way to do this, so, let's conduct some research about how other game sites are approaching this issue, and allow me to introduce you to the planned Oregami solution. For reference, I will always link Final Fantasy IV as an example game.
There's one big problem with this approach. It may well be that the rest of the world doesn't care one bit about the US release title of a game. Imagine a Japanese player browsing MobyGames, only to find the fourth entry of the Final Fantasy series listed as "Final Fantasy II", just because it was the second FF game released in the US. There must be a better way to do this, so, let's conduct some research about how other game sites are approaching this issue, and allow me to introduce you to the planned Oregami solution. For reference, I will always link Final Fantasy IV as an example game.
Subscribe to:
Posts (Atom)