Skip to content

Arcade machine game launcher front end designed for the Run Jump Dev Lexitron.

License

Notifications You must be signed in to change notification settings

GameDevLou/moonshot

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Moonshot

Moonshot is a game launcher front end designed for the Lexitron arcade machine built by Run Jump Dev. Pick and launch games using a joystick.

Currently in prototype state.

Minimum Viable Product

  • Diagnostic screen with button check for all inputs
  • Joystick-navigable list of games with names and images
  • Game launch capability

Why Node-Webkit?

  • Easiest path for UI work, familiar for graphic designers
  • Supports everything we need: video, audio, game controllers, process management

Future Work

  • Houston, the slim watchdog process that can relaunch Moonshot if it fails
  • Graphic design!
  • Attract mode (30s inactivity => slides/videos)
  • Audio feedback during startup/navigation/launch
  • Live tweets #lexitron #gamename

See issues.

Build Instructions

  1. Download node-webkit for your platform.
  2. Unzip node-webkit into the project root (where the source directory lives).
  3. To test the launcher, switch to the source directory and run node-webkit.
Linux: 
$ cd source
$ ../nw .

Windows:
> cd source
> ..\nw .

OS X:
$ cd source
$ ../node-webkit.app/Contents/MacOS/node-webkit .
  1. To build the launcher app on Windows/Linux, zip the source directory and concatenate it with the node-webkit executable.
$ cd source
$ zip -r ../moonshot.nw *
$ cd ..
$ cat nw moonshot.nw > moonshot
$ chmod u+x moonshot

> cd source
> pkzip -r ..\moonshot.nw *.*
> cd ..
> copy /b nw.exe+moonshot.nw moonshot.exe

Or, for OS X, copy the files to node-webkit.app/Contents/Resources/app.nw

$ cd source
$ cp -R ./ ../node-webkit.app/Contents/Resources/app.nw

Adding games

Games can be added by including the following files:

- game_name // Game launch script
- main_image_file // Main image to display in Moonshot
- game_name.lex // JSON formatted game data

Each .lex file should contain at least the following structure:

{
  "name" : "Game Name",
  "images" : {
    "main" : "main_image_file",
    "screenshots" : {}
  }
  "author" : "Arthur Author",
  "website" : "example.com/gamename",
  "twitter" : "gamename",
  "video" : "video_file"
}

Some properties are not used in the present build, but will be in the near future.

(For more info, see node-webkit's How to package and distribute your apps.)

About

Arcade machine game launcher front end designed for the Run Jump Dev Lexitron.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • CSS 73.8%
  • JavaScript 25.3%
  • Shell 0.9%