Archive:Games Library Ideas
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 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, 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.
- Record/SQL implementation
Obtaining metadata
project 'scrapers friendly' + use of dedicated community files (like mame's history.dat)