Compo4All

From Pandora Wiki
Revision as of 23:24, 3 June 2016 by Levi (talk | contribs) (Hack to make permissible values show properly.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Compo4All is an gaming competition system designed by Skeezix.

The initial system was based on a MAME build where highscores were uploaded to a website, but has since expanded to include native Pandora games (PND) as well.


Platforms

Currently, the only supported platform is the Pandora, but there are thoughts about expanding it to the Raspberry Pi, and desktop environments.

There is an unofficial port of C4A for the GCW and Caanoo. However at the moment only a few games (no MAME) are supported yet.

Launchers

Scoreboard

Scores are shown within the three launchers, but are also accessible via a web browser at http://c4a.openpandora.org

Developers SDK

There are two ways of developing C4A stuff at the moment. First of all the official way from skeezix. Details of the official API for integrating with the Compo4All system can be found here.

The second way is to use libSparrowNet, an independent library from Ziz, which encapsulate the network stuff with background thread and multi platform support. Details can be found here.

Publishing a game to the servers

Given that a game supports compo4all (pushes scores to it, say), a few steps remain.

 - the compo4all server must be told about the game, via a config file submitted to skeezix (at the openpandora boards)
 - ideally, the http://c4a.openpandora.org/ website needs to have some marquee artwork (send an image to milkshake at the openpandora boards)

A config file example (pulled from current indie game) is below; the values shoudl be more or less self explanatory, but I realize at this time this isn't a great deal of information; please ask if you're confused about the syntax or acceptible values and I'll update this page!

Sample config file:

   {
   "active": true,
   "plugin": "scoreonly",
   "module": null,
   "alltime": true,
   "platforms": [ "pandora" ],
   "league": "all",
   "shortname": "mygame",
   "longname": "My Game!",
   "ordering": "highest-first",
   "dispunit": "points",
   "type": "int",
   "field": "indie",
   "genre": "logic",
   "execinfo": {
     "pandora": {
       "type": "standalone",
       "pnd_unique_id": "mygame.skeezix.001",
       "last_known_filename_hint": "mygame.pnd",
       "command_line_add": "",
       "last_known_appdata_hint": "mygame",
       "file_dependancies_hint": ""
       }
     }
   }

Permissible values..

   ordering: lowest-first highest-first
   type: standalone
   league: all
   field: indie arcade
   genre: logic strategy racing action shmup runngun