Author Topic: Software porting guidelines  (Read 14452 times)

zear (OP)

  • Moderator
  • Posts: 2381
Software porting guidelines
« on: September 18, 2013, 08:04:38 pm »
It is easy to recompile a software title for the GCW Zero target and call it done, but it doesn't essencially mean the port is usable. We at GCW Zero development team believe that when porting software to GCW Zero, one of the most important aspects is the quality of the port.
This topic is meant to introduce the most important features, a good software port should have.
Most of them are related mainly to games, but some should be applicable also to emulators and applications.

Below is the list of features a good game port should have:

* the game is OPK ready
* the game uses the $HOME folder for storing config/data
* in case 3rd party files are required for installation, it is clear where to put them
* the game release fully complies to the source code/game data licenses
* the game is playable from beginning until end (can complete the game in 100%)
* the framerate is stable and the game has no crashes
* the default button mapping is adapted for the best playing experience on GCW Zero
* the button naming in-game corresponds to the proper button labels printed on GCW Zero (ie. "Press A" instead of "Press Ctrl")
* if the game offers a way to enter text (ie. player name, save state name), it is possible to do so using only the GCW Zero controls. Ways to achieve that might be an on-screen keyboard, or arcade style "UP for next letter, DOWN for previous letter".
Note that an alternative solution for save state names is to automatically generate a proper name, ie. containing the level title and play time.
* any game options and other features not available for GCW Zero are disabled/removed from the game (ie. the screen resolution config should not list choices higher than 320x240 [Note: When the HDMI-out feature is implemented, it might be a good idea to detect and list the maximum available resolution.)
* there is no way to break the game config by changing the options in a way the game refuses to start anymore
* in case the game features a local multiplayer mode, players are able to control it using external gamepads connected via OTG
* if the game features networking mode, it is possible to connect to other players by using only the GCW Zero controls (no commandline parameters, etc.)

Note that we might refuse to accept a software release into the official GCW Zero software repository if it doesn't meet some of the mentioned features.