Games
Browse and play your games
Contents
This is the developer documentation for GNOME Games. If you're a regular user, see Games' main page for help.
Goals
- List the available video games, whatever their format is (native, Wine, old system ROM, game package for a particular engine, web game...).
- Display metadata for the games.
- Download the required programs to run the available games.
- Treat games as works of art instead of files or applications.
- Implement GNOME 3's Finding and Reminding layout on games.
Non-goals
- Integrate a game market, but we could ease integration of some external markets like Steam, GOG, Humble Store or itch.io.
- Being a controller manager: other projects exists for the GNOME Control Center and we should integrate with them.
Discussion
Currently, there's different types of games playable with GNOME, and different ways of doing so:
- native games can be launched via the Activities Overview, but you won't be able to display them by clicking on the "Games" category in GNOME Shell 3.8;
- game packs poorly integrated to their native engine or to the desktop (Doom, LÖVE...);
- emulated games, which need an emulator (such as MAME, Mednafen or DOSBox) to run;
- Windows games, which need Wine - when they're willing to work with Wine;
Web games, which can be added to the Overview thanks to the Web Apps feature of Web, but still need a browser to work, if not a third-party plugin (like Flash or Unity).
Goals and scope
- Making the most, if not all of an user's games available from one place;
- Bringing a common interface to multiple emulators;
- Keeping the actions needed between launching the app and launching a game to a minimum;
- Needing as little configuration as possible.
Tentative Designs
Internet Arcade: potential game ROM source.
Needs design
- Non-searchable games and search folders integration ("+" button).
- System preferences (the "gear" button).
- The application menu.
Relevant Art
Related Projects
GNOME Games: the games collection formerly packaged as gnome-games on several distros.
GNOME Video Arcade: project achieving some of our goals in a GNOME 2 style.
Gamepad settings: a project we should support and rely on.
Lutris: a similar open source project for Linux.
Phoenix: a similar open source project for Linux.
Libretro: an ecosystem mainly composed of game console emulator and game engine libraries sharing the same API.
DOSBox: a DOS emulator.