Game development

From Official Kodi Wiki
Revision as of 11:57, 23 April 2015 by Gamester17 (talk | contribs)
Jump to navigation Jump to search
Home icon grey.png   ▶ Development ▶ Game development
Emblem-important-yellow.png NOTICE:
Kodi-Game branch has not been merged into Kodi mainline. As such, this is a work in progress, and many things are subject to changes.
Incomplete.png INCOMPLETE:
This page or section is incomplete. Please add information or correct uncertain data which is marked with a ?

This page is about Kodi-Game branch of Kodi which tries to implement a gaming environment for Kodi. The goal is to start, stop and play video games like you can currently play video files. Kodi-Game constist of several addons and subsystems which should be described on this page to minimize confusion. The current version based on Kodi 15alpha2 introduced a lot of changes for this reason information for 13.2 or previous versions you can find on the forum may not apply. Official repository is on github.

End-users (non-programmers)

You are probably reading this because you would like to download a finished Kodi application or complete OpenELEC image with nice out-of-the-box experience. We are sorry but such build does not yet exist at the moment. This page will be updated with links to available builds if and when such release become available.

You can help still help if you are a more experienced computer user and are able to compile Kodi-Game branch yourself, please see the developers sections below. Also, spread the word about this project to your friends and family, we are sure they will enjoy it too as it matures.

Developers (programmers)

If you are a C/C++ developer and like to help then great! Please checkout the Compiling Kodi-Game article to get started. Currently this build instruction is for Linux operating-systems on x86/x86-64 based hardware only.

You should be proficient in C/C++ programming language, and although not really required knowledge of OpenGL or other multimedia programming is a plus, as well as prior cross-platform or porting development experience.

Technical Overview

RetroPlayer

Project name for all infrastructure changes which need to be made in the Kodi source code and cannot be delivered as addons. This work also includes a highly modified input system ready for gaming requirements

Libretro

A well defined interface to handle the communication between a frontend (Kodi with RetroPlayer) and an Emulator Core (e.g. nestopia).

Emulator Core

An Emulator Core does the actual work of emulating a system. Due to the Libretro interface it is possible to re-use good working and well tested emulators for the RetroPlayer platform. Every emulator that supports libretro can easily be integrated.

Input addon

An input addon is used to map the buttons/axis on your physical input device, to the buttons/axis of your virtual system. This is necessary because different retro systems usually have different button layouts. (game.controller.<platform>)

Subsystem Architecture

Architecture development discussions:

Game add-ons

See: Game add-ons

Communication:

Kodi-Game branch FAQ

Common questions and answers regarding testing and development of Kodi-Game branch.

Mupen64plus (n64) is not working

Mupen64plus and some other emulators (such as PSP, Dolphin) requires OpenGL / OpenGL ES rendering extensions to libretro which is currently not implemented in the current upstream kodi-game branch. See a1rwulf's repository for his "retrogl" implementations if you would like to help the work being done for these systems.

Is it possible to support system X on platform Y

RetroPlayer uses libretro to emulate systems. The current support matrix can be found at Game add-ons:

See also

External Links