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.

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!

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:
  • 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
In the near future the following aspects should be added:
  • authentification
  • Hypermedia with HATEOAS
  • more complex entities (1-to-n-relations)
The complete source code is available for everybody at Github as dropwizard-guice-jpa-seed.

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.

Wednesday, November 20, 2013

First Language English


The recent demise of MobyGames was sad to see, but it flooded the Oregami forums with disappointed people looking for a new home. We tried our best to answer all the questions that were asked and address all the concerns that were raised. We realized that it's about time to advance the internationalization of Oregami.

The main positive response was that we're on the right track with what we're doing. There is a growing demand for a future-proof, sophisticated, and multilingual video game database, now more than ever. Here are some examples:

Thursday, September 19, 2013

Oregami association on the horizon

It is quite hard to believe, but the first real discussions about the founding of our Oregami association already took place in January 2012, i. e. some 20 months ago. And founded it is not, yet! So what were we up to all this time? And why do we want an association hosting this project at all? A little retrospect shall give these information, furthermore we want to give a little perspective on the future.

MobyGames faces them, TheLegacy faces them [German], thematically different web sites also face them [German] - always the same old problems. Caused by the experiences with other database projects we committed ourselves quite early to one basic principle for Oregami: maximum independence from individuals. First and foremost, this principle should be applied to the legal base of the project, too. The legal manifestations we saw with other game databases (private, half-commercial, commercial) had, in our opinion, one crucial disadvantage: all these projects were legally run by a single person or company, two at the most, which left us with big questions about the future-proofness of their data. What would happen when this single person would lose interest, when this single company would be sold or become insolvent? What future would arise for these projects then?

Friday, March 22, 2013

Oregami featured in German podcast "The Three Vogons"

One of the best-known nerd podcasts of Germany is the one produced by "The Three Vogons".

Some months ago I was asked to join the Three for a guest interview within their next podcast. Well, how did I respond? YES !

Now the new issue of their podcast is online!

In the best of habits of "The Three Vogons", the podcast lasts for no shorter than nearly 6 (!) hours. In the category "Deep Thought" (from app. 01:39:00 on) one can listen to my interview which lasts for just under an hour. Subjects: content and history of Kultpower.de, but also the goals of our project Oregami.org, the all-new and soon-to-be non-profit online video game database.

The guys went deep into the issues and asked intelligent questions. I just hope that my answers made a similar impression, too. :-)

If you can listen to German, check it out! And then it would be best to help out with Oregami or Kultpower. Or both. :-)