Games Internships

Games regularly takes interns via the different outreach projects. On this page you will find several project ideas and completed projects. Don't hesitate to approach our team and to come up with your own ideas!

Internship Ideas

  • Games: Gamepads and Keyboard Configuration (mentor: AdrienPlazas)

  • Brief explanation: Add a way to graphically and easily set a gamepad or a keyboard up to use in games. Stretch goals could be offering the user to share their gamepad mappings with us and to compare the standard gamepad to the emulated one. These changes could:

    • allow us to support any or most gamepads and to improve our gamepad bindings database;
    • allow the user to set its keyboard as desired;
    • allow the user to understand how his gamepad maps to the emulated gamepad.
  • Requirements: Vala. Knowledge of GObject, GTK+, GtkBuilder or SVG would be a big plus.

  • Communication: Mainly IRC as Kekun on #gnome-games at irc.gnome.org

  • Note: Design page. Some resources regarding SVG layouts: layouts from libwacom, old GTK+ based implementation.


  • Games: Advanced Video Display (mentor: AdrienPlazas)

  • Brief explanation: Create a new Libretro core display rendering the video in a hardware accelerated way and allowing us to apply advanced effects to the video, like simulating CRT TVs.

  • Requirements: Vala, OpenGL. Knowledge of GLSL would be a big plus.

  • Communication: Mainly IRC as Kekun on #gnome-games at irc.gnome.org


  • Games: Control the Application with Gamepads (mentor: AdrienPlazas)

  • Brief explanation: Allow to control the application with the same input you will you to control you game: the gamepad. This implies thinking how to control the UI in a very different way, adapted to such input devices.

  • Requirements: Vala.

  • Communication: Mainly IRC as Kekun on #gnome-games at irc.gnome.org

  • Note: Long discussions with the designer team are to be expected.


  • Games: Make the Nintendo DS a First Class Citizen (mentor: AdrienPlazas)

  • Brief explanation: The Nintendo DS has two screens, one of them being a touchscreen. To make it work really well we need to take into account all its specificities:

    • having multiple screen configurations: both screens, focusing on one screen…;
    • adding touch support;
    • allowing to rotate the screens for games expecting you to rotate the console;
    • allowing to close the lid of the console (some games require you to do so to solve enigmas);
    • map the touch screen to an analog stick.
  • Requirements: Vala. Knowledge of GObject and GTK+ would be a plus.

  • Communication: Mainly IRC as Kekun on #gnome-games at irc.gnome.org


  • Games: Add Collections (mentor: AdrienPlazas)

  • Brief explanation: Make games automatically generate collections and let the user create its own ones.

  • Requirements: Vala. Knowledge of GObject and GTK+ would be a plus.

  • Communication: Mainly IRC as Kekun on #gnome-games at irc.gnome.org

  • Note: See bugs 772465 and 772466.


  • Games: Support Cheat Codes (mentor: AdrienPlazas)

  • Brief explanation: Some systems may support cheat codes, we should provide some way for the user to easily select some cheat codes and maybe even to add its own.

  • Requirements: Vala. Knowledge of GObject and GTK+ would be a plus.

  • Communication: Mainly IRC as Kekun on #gnome-games at irc.gnome.org


Completed Internships

Google Summer of Code 2016

  • Games: Support more game formats (intern: Ricard Gascons, mentor: AdrienPlazas)

  • Benefits: Currently Games can handle only a small number of game formats, we want to support as much as possible. Good candidates are for example GOG and PlayStation games.

  • Requirements: Knowledge of Vala. This will probably imply working on retro-gobject, retro-gtk, retro-plugins, shared-mime-info and maybe on the emulators' code.

  • Note: See the issues list to get an idea of potential formats to support.


  • Games: Add gamepad support (intern: Megh Parikh, mentor: AdrienPlazas)

  • Benefits: A video game player with no gamepad support is ridiculous, we need to support them to make the games really playable.

  • Requirements: Knowledge of Vala and C.

  • Note: You should look at existing joystick and gamepad APIs (Linux and W3C).


Apps/Games/Contribute/Internship (last edited 2017-03-09 08:42:45 by AdrienPlazas)