Skip to content
Rahil627 edited this page Feb 14, 2012 · 61 revisions

Welcome to the Babycastles-Trollkit wiki!

Requirements

  • cabinet placement workflow:
    1. Babycastles assembles the cabinet. Trollkit and initial games are pre-installed.
    2. Babycastles places the cabinet at a venue.
    3. At some later point, trollkit should be able to autonomously update the game list, download the new games, and install the new games.

Design

  • client program workflow

    1. client program is downloaded then auto-updated from our server/github (also contains game configs)
    2. client program allows the user to choose a game from a list to play
    3. client program downloads the game from the internet, installs it, and plays it in arcade mode
      • in arcade mode, the user is only allowed to play or restart the game
  • a separate administrator program provides an interface to create game configurations easily. Low priority. It's easy to write XML files.

  • Problems

    • Poor support of platforms. Trollkit does not work for games developed for Mac OS X or mobile devices (use Mono?)
    • Making a program customized for indie games, as opposed to games that are customized for a standard program (Winnatron, Steam), requires work for each new game.
    • For games that cannot be downloaded over the internet, or must be purchased, we have to ask the developer if we can store it on our private server. (Use a password? How to store a password in an open source project? Tell FTP to ask for password. Or just install paid games ourselves)
    • Games which require installation needs the help of a human, either the venue owner or a Babycastles technician (could be automated, but not worth the time)

Pre-installation and Limitations

  • install game frameworks (flash, silverlight, gamemaker?, etc.)
  • set taskbar to auto-hide to allow games to go completely full screen (I suck at programming)
  • if the machine running the application is connected to the internet, the user will be prompted to update the application if a new update exists

Other

Clone this wiki locally