So, you think you can skateboard, but can you scrapeboard, you slime bag? Scrapeboard is a DDR inspired alt control game that uses a real skateboard deck instead of your feet. Do you have the moves to skate through a gauntlet of goons all the way to Tony Hawk?
This README file is for setting up and using the code repository. For more general information on how to [operate](../../../wiki/Operators-manual) or [build](../../../wiki/Builders-manual) Scrapeboard, see the [wiki](../../../wiki).
The standard controller is a custom platform combined with a modified skatedeck, seen in the above GIF. It can be built using the instructions in the [builder's manual](../../../wiki/Builders-manual) and attached to an Arduino. Custom interfaces can be created using an Arduino or Raspberry Pi.
The software requires Python, [Pygame][], and a custom Python game framework [PGFW][]. The Python version should be 3.9 or higher. The Pygame version should be 1.9.6 or higher. PGFW is a submodule of this repository, so it can be cloned simultaneously using the `--recursive` flag. Python and Pygame can be installed on any operating system, including Windows, OS X, and Linux.
Installing Python will usually install Python's package manager PIP as well. PIP can be used to install Pygame by running the following from your terminal (for example, PowerShell on Windows).
To run the game using the custom skateboard and metal pads, the Arduino attached to the pads must be plugged into USB, and the [pyserial][] package must be installed on the computer.
The Arduino must be loaded with the [serial program][] and connected to USB. The game will try to detect the Arduino, but if that does not work, the device location of the Arduino can be specified in the [config file][].
Raspberry Pi GPIO input is also supported. See the [Raspberry Pi chapter](../../../wiki/Raspberry-Pi) of the manual for how to install Scrapeboard on a Raspberry Pi. Once the circuit is in place, the game will be able to detect GPIO input. Run with the `--pi` flag to activate Raspberry Pi mode.
The full list of configurable values is in the [config file][]. There are also command line flags that can override config values. Use the help flag to see the possible values:
Original Scrapeboard code is released without restriction on copying, modifying, or selling, under the zlib license. Art, sound, text, and schematic assets are released under CC BY 4.0. Users are licensed to modify Scrapeboard and even sell their modifications. Scrapeboard code and assets can be used in other projects, even closed source ones. Use of the assets requires attribution is given to Scrapeboard for the original assets. If the source is distributed, the zlib license must be included as the license for the original code. The full license is in [LICENSE.txt][].