Archive:Games Library Ideas

From Official Kodi Wiki
Jump to: navigation, search

This page or section has not been updated in a long time, no longer applies, refers to features that have been replaced/removed, and/or may not be reliable.

This page is only kept for historical reasons, or in case someone wants to try updating it.

Development article for Awen's Games Library concept (and/or other developers contributing to this with project).

1 The source of this new concept

Many of these ideas started and has been discussed in these tagged threads in the XBMC Community Forum:

2 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.

3 Goals of the new Games Library

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

4 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.

5 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
    • Interface that longs for nostalgia when concerning emulators
    • 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
    • Define controls and settings before execution
    • 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, latest version auto download
    • 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.

6 Obtaining metadata

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