Archive:Games Library Ideas: Difference between revisions

From Official Kodi Wiki
Jump to navigation Jump to search
>Awen
>Gamester17
Line 19: Line 19:
=Implementation ideas=
=Implementation ideas=


Assembling the core in C++. Working on the integration between OS, XBMC, 3r party application concerning games.
Assembling the core in C++ programming-language. Working on the integration between the underlying operating-system, the XBMC software, and third-party applications concerning games.


But using scripts wherever they could be, such as to handle application settings, roms scanning, and information scraping. Which probably involves some 'Game Script' architecture, to be defined.
But using [http://en.wikipedia.org/wiki/Python_(programming_language) Python] scripts or plugins wherever they could be, such as to handle application settings, [http://en.wikipedia.org/wiki/ROM_image game ROM]s scanning, and meta data information scraping (offline/local and online/internet, including [[NFO]]). Which probably involves some 'Game Script' architecture, to be defined.


=Features List=
=Features List=

Revision as of 21:10, 9 February 2009

Development article for Awen's Games Library concept (and other developers assisting him with this with project).

The source of this new concept

Many of these ideas started been discussed in these threads in the XBMC feature suggestions forum:

Games Library Concept

To allow XBMC users to reference and play Games from their favorite front-end :)
Games may have various forms such as Emulated Roms, Standalone Executables, (XBMC plugins ?)...
The idea is not to compete with über roms integrators, but to offer a rich and detailed interface to play from XBMC.

Goals of the new Games Library

  • 1) Tight integration
  • 2) Detailed information
  • 3) Smart behavior

Implementation ideas

Assembling the core in C++ programming-language. Working on the integration between the underlying operating-system, the XBMC software, and third-party applications concerning games.

But using Python scripts or plugins wherever they could be, such as to handle application settings, game ROMs scanning, and meta data information scraping (offline/local and online/internet, including NFO). Which probably involves some 'Game Script' architecture, to be defined.

Features List

This is what we want to achieve

  • Python Integration: scrapers and all
  • Dedicated GUIs
  • Consistency with the other XBMC Libraries Modes (videos, music, etc.)
  • Platform Portability
  • Game Information Dialog
  • Emphasis on Immersion
    • Soft transition between app contexts
    • Ambient sounds (skin dependant ?)
    • Detailed game description

And this is what needs to be done for :)
Product Backlog

  • Better GUI: intermediary solution for settings and various record forms
    • Versatile solution inspired from plugin settings (0.2)
    • Record forms: executables, games, launching infos
    • Game Description über Panel (0.2)
    • Game Category Finalization
  • Game Classification
    • Game Categories
    • 'Stand Alone' game support (0.2)
  • Better Thumbnail Management
    • Analysis (0.2)
    • Animated thumbnails ?
    • Icons for Categories, and executables
    • Overlay support: rating
  • External Execution
    • Analysis
    • Launching params and related options
    • XBMC related code (suspend-like)
  • User Info
    • Analysis
    • Last Played
    • Most Played
    • Rating
    • Stats
    • Suggestion (=>dedicated scraping)
  • 'Scripts' Support
    • Game scripts architecture
    • 'Support area' definition
      • Application settings support
      • Game info scraping (plugins)
      • Misce. utilities: roms scanning
    • Python bindings/Script architecture
      • Script categories: application support, roms scanning, scrapers (=>plugins ?)
      • 'Scripts' entry on the 1st Game Menu Page (?)
      • Contextual Plugins on a Game Basis ('Get Info', 'Get Rom' ;))
    • Native C++ History.dat support as plugin testbed (0.2)
  • Database
    • Record/SQL implementation
      • User Info
      • Thumbnails
      • Launching cmd line/options
      • Game description/fields
    • Auto rebuilding, at least for roms (is that a good idea ?)
    • Better Record class: ease of use.

Obtaining metadata

project 'scrapers friendly' + use of dedicated community files (like mame's history.dat)