Kodi Community Forum

Full Version: Games Library (Game & Emulator database + launcher) development project, help wanted!
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
the database needs reowork, ID is missing, plus you need to have per game specific settings, like graphic mode, sound mode, emulator engine (different engines can be used in several emulators). Command line to launch specific rom with correct settings etc. There are a few more issues aswell, nothing that pops up right now.

Also there is a possibility that not all emulators support command line launching, which will make it difficult to launch roms from xbmc.
blittan Wrote:the database needs reowork, ID is missing, plus you need to have per game specific settings, like graphic mode, sound mode, emulator engine (different engines can be used in several emulators). Command line to launch specific rom with correct settings etc. There are a few more issues aswell, nothing that pops up right now.

Also there is a possibility that not all emulators support command line launching, which will make it difficult to launch roms from xbmc.

I'm aware of the database missing a few fields. Still working on getting places to either scrape or copy from. I have several but waiting and hoping for positive answer from mobygames since they have everything needed. I've done a NES scraper database with 250 games just to have something to play with. Current fields:
* id
* console (to make it browseable by consoles)
* gamename
* publisher (to make it browseable by publishers)
* year (to make it browseable by year)
* genre (to make it browseable by genres)
* youtubeurl (from nesguide.com to view gameplay video from the plugin)
* wikipediaurl (from nesguide.com.. not sure if it can/should be used for even more information)
* composer (from wikipedia.. hopefully soon from mobygames.com)
* designer (from wikipedia.. hopefully soon from mobygames.com)

I'm thinking putting all "credits" fields in a single field instead of dividing up between composer/designer etc.

Keep in mind this is the online database thought to support a scraper solution. I guess there will have to be a sort of database locally aswell to make browing doable. I doubt the XBMC database itself can be used here. Tips?

When it comes to game specific settings like graphic mode, sound mode etc i don't believe that needs to be in the database. Sound/video settings will be dealt with by and inside the emulator itself. Or did you mean something else?

The emulator choice will be dealt with the plugin itself:
.nes -> nintendo emu
.smk -> snes emu
.sms -> sega master system emu
etc.. (atleast that was my idea to avoid having to input emulator pr game aswell as all the information about the game.. i see no reason to include in database since file ext will differ for all console roms afaik..)

Most emulator software support launching with parameters to autostart rom. If you know of any emulator that doesn't let me know.

Thanks for the comment/ideas! Smile
How about integrate and update cabrio ?
http://www.cabrio-fe.org/

It is a open source multi-platform Front-end.
skorianez Wrote:How about integrate and update cabrio ?
http://www.cabrio-fe.org/

It is a open source multi-platform Front-end.

Due to it's mostly arcade. what i'm working on here will feature more consoles + have gameplay video+ screenshots and lots of nice info for those who are old gamefreaks like myself =)

But yea something like cabrio is what i'm aiming for just more xbmc'ish.
if you are going to launch the rom and "skip" the emulator experience for the user, then you must supply all settings to the game, otherwise the user just ends up in the emulator trying to guess how it works to launch the rom. In my mind if I would use an launcher from within xbmc, then I wouldn't want to have to learn each single emulators settings and interface.

Letting the user choose emulator would be a necessity since not all users prefer the same emulators.

Relying on the file extension is not an idea. How do you handle zipped roms? unpack rom to check extension?
blittan Wrote:Letting the user choose emulator would be a necessity since not all users prefer the same emulators.

Relying on the file extension is not an idea. How do you handle zipped roms? unpack rom to check extension?

How about adding a different source for each emulator? For example: how does XBMC determine if a video file is a TV Show, Movie, or Music Video? (the content source)

You add a folder for every emulator you want, you tell it what content it has (SNES, NES, etc), and you specify which emulator to use (and what options to run it with). It's not that much work for the user -- you already do the same thing for XBMC (movie, TV show, music video, music, etc...).

Plus, even if this isn't a perfect solution, it's better that what exists currently.
blittan Wrote:if you are going to launch the rom and "skip" the emulator experience for the user, then you must supply all settings to the game, otherwise the user just ends up in the emulator trying to guess how it works to launch the rom. In my mind if I would use an launcher from within xbmc, then I wouldn't want to have to learn each single emulators settings and interface.

Letting the user choose emulator would be a necessity since not all users prefer the same emulators.

Relying on the file extension is not an idea. How do you handle zipped roms? unpack rom to check extension?

I agree, it might be a dumb idea to use file ext. as a rule here. This is what i think might work:

1) User has supermariokart.zip (contains for example supermariokart.smk);
2) User chooses supermariokart.zip and scrapes information based on the filename supermariokart. When he finds a match from the online scrape db he will save this information locally.
3) The scraper will then save all information about Super Mario Kart game and link it to supermariokart.zip. (including information about platform, in this case SNES).

I do think most emulators handle getting zipped files as a parameter, but i think this can also be done through python ? Unpack the file into a temp folder and then use that instead of the zipfile itself ?
Japanese titles and barcodes for completeness reasons.

System is the platform a game was release on, like N64.

Parent is meant like this: Resident Evil 2 was released on many different platforms in different regions. All these entries get the same parent id.

Serials is the unique IDs companies gave their games, for example NUS-NTEJ-JPN is the japanese version of 1080° Snowboarding for N64.
A little update:
* DB now holds 2940 games (nes,snes,n64,sms,smd) * removed most jap/non-eu/us game releases. Gameboy section will be added shortly.
* gameplay videos for 1278 (and growing) of the games are downloading as I write this.
* screenshots and covers for games are updated heavily. Covers/Gameart for 2198 of the games so far.

Todo:
* Scrape AVGN (angry video game nerd) reviews for the games he's reviewed that's in the DB.
* Look into scraping/linking maps to games in the DB via http://www.vgmaps.com
* Look into adding scrape/link to games in DB for speedruns.

Cover, Screenshots, Gameplayvideo, AVGN etcetc is something I'd like to be visible while browsing roms in XBMC before launching emulator.

When the DB is "complete" I thought one approach would be to include the database (containing all information etcetc) and cover/screenshots with the script/plugin download. The videos (gameplay,avgn etc) I can host on a server somewhere to stream from within the script/plugin.

The roms themselves I've not yet decided to include or link to on the server.

Then ofcourse it's the issue of having this browseable via XBMC somehow. I do not have much experience (none actually Tongue) of creating plugins/scripts for XBMC so I'm out of luck atm. Is a script more suitable than a plugin since I'd want to customize the look of the script (with covers, gameplayvideos etc) ?
Aren't they doing that with this "Games Library" application?

http://forum.xbmc.org/showthread.php?tid...es+library
set content on rom folders sound like a pretty good idea.

it's possible to unpack the rom via python. you can even use rar format if you'd like.
blittan Wrote:set content on rom folders sound like a pretty good idea.

it's possible to unpack the rom via python. you can even use rar format if you'd like.

thought as muchSmile too bad i don't know how to implement any of this into xbmc db/layout.. well i'll complete the database first anywaySmile

would be perfect if xbmc team could "hire" a emulator coder to implement opensource emulators directly into xbmc (a) Smile and then together with emufreaks like myself build a scraper/db for everyone to use.

on the bright side of this.. even if this doesnt work out xbmc-wize i'll finally have a nice db with loads of info to play with for myself ;P
wimpy Wrote:thought as muchSmile too bad i don't know how to implement any of this into xbmc db/layout.. well i'll complete the database first anywaySmile

would be perfect if xbmc team could "hire" a emulator coder to implement opensource emulators directly into xbmc (a) Smile and then together with emufreaks like myself build a scraper/db for everyone to use.

on the bright side of this.. even if this doesnt work out xbmc-wize i'll finally have a nice db with loads of info to play with for myself ;P

Probably want to check the Scenyx Forums as they're performing the same thing for retro (NES, SNES, Sega, Genesis, TG16 etc) consoles.

http://forums.xbox-scene.com/index.php?showtopic=660135

They're using the Xport emulators to turn the xbox in to the best games museum. What would be nice is if someone could port Xport back to windows Big Grin since the interface is nice and it supports simply passing the rom straight from XBMC.
grassmunk Wrote:Probably want to check the Scenyx Forums as they're performing the same thing for retro (NES, SNES, Sega, Genesis, TG16 etc) consoles.

http://forums.xbox-scene.com/index.php?showtopic=660135

They're using the Xport emulators to turn the xbox in to the best games museum. What would be nice is if someone could port Xport back to windows Big Grin since the interface is nice and it supports simply passing the rom straight from XBMC.

Cool! Thanks for the headsup! I'll check out that thread! Smile
It seems to be xbox-specific atm, but i hope it can be ported to work on all platforms Big Grin
It's nice to see progress in this part of XBMC. In my opinion it's very important to get a games library. Everybody likes some games and XBMC is the perfect solution to present them. It's always impressive to see the work of djh_, for instance he has made some mockups of the game library once.

It was a very good idea to start a database as there doesn't seem to be a free one on the internet which contains data for the most popular video game consoles. You do find a lot of stuff but the high-resolution images mostly contain a watermark.

I would really like to help you create a database which contains all the stuff needed by a scraper. I could help you present the collected data (information, poster, fanart, etc.) on an own website like TheTVDB.com. I'm pretty good in creating web applications with the aid of PHP and MySQL. Nevertheless, I don't know your target. Do you want to lobby the developers to improve the Launcher plugin or do you want to create a stuffed database which can be scraped in the future? I think that it's more important to get a filled database, so that the XBMC developers see, that they will have a working database when they finish the Launcher plugin. Perhaps the game database is even integrated natively then.

To sum up, do you want to host a game database online which could be used by XBMC in the future or is it your aim to create a database dump including graphics which can be freely downloaded and hosted by everyone?
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20