scrapeboard/README.md

107 lines
4.5 KiB
Markdown

Scrapeboard
===========
![demo](https://scrape.nugget.fun/www/Scrapeboard_Gameplay_Demo_picture_in_picture.webp)
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?
Hardware
--------
The hardware must be provided by the user, whether it's a standard Scrapeboard mat and board, a custom controller built by the user, or keyboard input. The hardware requirement for [serial mode](#Serial) is an [Arduino][] or Arduino-equivalent device that can run the [serial program][]. For [keyboard mode](#Keys), no special hardware is required, although a gamepad or [Makey Makey][] could be used to create a custom controller that sends key presses.
Software
--------
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)
pip install pygame
Once you have Python and Pygame installed, run the following to download Scrapeboard and PGFW
git clone --recursive https://git.nugget.fun/scrape/scrapeboard
If you have an Arduino prepared, run this to start the game
./OPEN-GAME
Otherwise run the game in keyboard mode like this
./OPEN-GAME --no-serial
Serial
------
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.
If you have Python Package Installer, you can run this to install pyserial:
pip install pyserial
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][].
If you don't have the board, pad and Arduino, you can test the game using keyboard-only mode.
Keys
----
For testing, there is keyboard input. To run in keyboard only mode use:
./OPEN-GAME --no-serial
The O, P, L, and ; keys simulate the dance pads and your fingers simulate the board
___ ___
| O| P| <-- These keyboard keys correspond to the floor pads
|___|___| O = top left pad, P = top right pad, L = bottom left pad, ; = bottom right pad
| L| ;|
|___|___|
Arrow keys also work
UP = top left pad
RIGHT = top right pad
DOWN = bottom left pad
LEFT = bottom right pad
### Other keys
* The `Z` key is a shortcut for reset (`F8` also resets).
* The `A` key force resets the connected Arduino (or does nothing if no Arduino is connected).
Options
-------
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:
./OPEN-GAME -h
The `--minimize-load-time` flag can be useful when testing because it sacrifices some effects to load the game quickly.
License
-------
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. This means users are free to use Scrapeboard in any context, including modding it and even selling mods or creating a closed source version. Use of the assets requires attribution is given to Scrapeboard for the original assets, and if source is distributed, the zlib license must be included as the license for the original code.
PGFW is included under its zlib license. Python, Pygame, and Arduino all have their own licenses, but they are not distributed with this project.
See [LICENSE.txt][]
Donations
---------
Send us a donation through [Ko-fi](https://ko-fi.com/scrapeboard)!
[![Donate at Ko-fi](https://storage.ko-fi.com/cdn/kofi3.png?v=3)](https://ko-fi.com/Z8Z7FX41L)
[Pygame]: https://pygame.org
[Makey Makey]: https://makeymakey.com
[serial program]: serial/serial2/serial2.ino
[pyserial]: https://pypi.org/project/pyserial/
[Arduino]: https://arduino.cc
[config file]: config
[LICENSE.txt]: LICENSE.txt
[PGFW]: https://git.nugget.fun/nugget/pgfw