Skip to content

Sinix v1 Notes

Sanket Chaudhari edited this page Sep 14, 2020 · 5 revisions

Planned Features

  • Joystick control android application.
  • JavaScript library to create games with sinix support.
  • Rust crate with joystick event handlers.
  • Sinix Store to Browse and Distribute Games.

image

Sinix.js provides you the list of possible events of the Remote to listen to whenever they are triggered. All event triggers passes a payload object to the callback function containing the updated value of the button/stick.

Sinix backend is written in Rust. It creates a warp server with websocket handler which maintains a consistent communication between the game running on Sinix and the Sinix Remote.

Payload is most likely be in following format

// This is subject to change because there are events triggered by
// sensors will get included too in later versions

{
    "type": "STICK1|STICK2|BUTTON",
    "payload": {
        "STICK1|STICK2": {
            "x": 1,     /* X OFFSET */
            "y": 1.2,   /* Y OFFSET */
        },
        "BUTTTON": {
            "val": "UP|RIGHT|DOWN|LEFT|MENU|BACK|Y|B|A|X" /* VALUE OF THE BUTTON PRESSED */
        }
    }
}

Installation Mechanism

To be recognized by Sinix Desktop, Games will need manifest.json file in the root folder. manifest.json will be the root configuration file for Sinix apps that may contain the permissions required by the game or name of the database that it needs to use, tokens and specifics about the application. There is no confirmed final template for manifest.json as of now.

Why HTML5 games only?
We're looking for a small start, without going for a big commitment. It is affordable and we think there is no centralized platform to play HTML5 games. Good thing about HTML5 games is they are cross-platform and light. It is so annoying when you went to itch.io or Steam only to find games that you can't run on your computer. Sinix guarantees that if it is available on Sinix store, you can play it without breaking a sweat.

Clone this wiki locally