Archive:Games Library Ideas: Difference between revisions

From Official Kodi Wiki
Jump to navigation Jump to search
>Awen
No edit summary
 
(27 intermediate revisions by 16 users not shown)
Line 1: Line 1:
Development article for [http://forum.xbmc.org/showthread.php?t=40715 Awen's Games Library concept] (and other developers assisting him with this with project).
{{outdated}}


=The source of this new concept=
Development article for [http://forum.xbmc.org/showthread.php?t=40715 Awen's Games Library concept] (and/or other developers contributing to this with project).
Many of these ideas started been discussed in these threads in the XBMC feature suggestions forum:
*http://forum.xbmc.org/tags.php?tag=games+library


=Games Library Concept=
= The source of this new concept =
Many of these ideas started and has been discussed in these tagged threads in the XBMC Community Forum:
* http://forum.xbmc.org/tags.php?tag=games+library


To allow XBMC users to reference and play Games from their favorite front-end :)<br/>
= Games Library Concept =
Games may have various forms such as Emulated Roms, Standalone Executables, (XBMC plugins ?)...<br/>
 
To allow XBMC users to reference and play Games from their favorite front-end :)<br />
Games may have various forms such as Emulated Roms, Standalone Executables, (XBMC plugins ?)...<br />
The idea is not to compete with über roms integrators, but to offer a rich and detailed interface to play from XBMC.
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=
= Goals of the new Games Library =


* 1) Tight integration
* 1) Tight integration
Line 17: Line 19:
* 3) Smart behavior
* 3) Smart behavior


=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 =
This is what we want to achieve
This is what we want to achieve
* Python Integration: scrapers and all
* Python Integration: scrapers and all
Line 32: Line 34:
* Emphasis on Immersion
* Emphasis on Immersion
** Soft transition between app contexts
** Soft transition between app contexts
** Interface that longs for nostalgia when concerning emulators
** Ambient sounds (skin dependant ?)
** Ambient sounds (skin dependant ?)
** Detailed game description
** Detailed game description


And this is what needs to be done for :)<br/>
And this is what needs to be done for :)<br />
'''Product Backlog'''
'''Product Backlog'''
* Better GUI: intermediary solution for settings and various record forms
* Better GUI: intermediary solution for settings and various record forms
Line 53: Line 56:
** Analysis
** Analysis
** Launching params and related options
** Launching params and related options
** Define controls and settings before execution
** XBMC related code (suspend-like)
** XBMC related code (suspend-like)
* User Info
* User Info
Line 62: Line 66:
** Suggestion (=>dedicated scraping)
** Suggestion (=>dedicated scraping)
* 'Scripts' Support
* 'Scripts' Support
** 'Support area' definition:
** Game scripts architecture
** 'Support area' definition
*** Application settings support
*** Application settings support
*** Game info scraping (plugins)
*** Game info scraping (plugins)
*** Misce. utilities: roms scanning
*** Misce. utilities: roms scanning, latest version auto download
** Python bindings
** Python bindings/Script architecture
*** 'Scripts' Field on the 1st Game Menu Page
*** 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' ;))
*** Contextual Plugins on a Game Basis ('Get Info', 'Get Rom' ;))
** Native C++ History.dat support as plugin testbed ''(0.2)''
** Native C++ History.dat support as plugin testbed ''(0.2)''
Line 79: Line 85:
** Better Record class: ease of use.
** Better Record class: ease of use.


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

Latest revision as of 02:22, 19 July 2020

Time.png THIS PAGE IS OUTDATED:

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

The source of this new concept

Many of these ideas started and has been discussed in these tagged threads in the XBMC Community 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
    • 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.

Obtaining metadata

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