From 4f506fc0ef257f9aff3e68528248706a1dd23f04 Mon Sep 17 00:00:00 2001 From: ElnuDev Date: Mon, 21 Mar 2022 11:24:37 -0700 Subject: [PATCH] Update README files --- README.md | 27 ++++++++++++++++++++++++++- build/README.md | 16 ++++++++++++++-- 2 files changed, 40 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 87d0303..8c32781 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,32 @@ A block game made in Rust and [SFML](https://www.sfml-dev.org/). For packaging instructions, see the [build folder](build). -### Acknowledgements +## Game + +### Controls + +- `🠔`/`🠖` arrow keys: horizontal movement +- `🠕` arrow key: rotate +- `🠗` arrow key: fast forward +- `Space`: hard drop +- `Esc`: pause (will also automatically pause on lost focus) + +### Shortcuts + +- `Ctrl`+`1`, `Ctrl`+`0`: 100% scale (default) +- `Ctrl`+`2`: 200% scale +- `Ctrl`+`4`: 400% scale +- `Ctrl`+`-`: Zoom out +- `Ctrl`+`+`: Zoom in +- `Ctrl`+`Q`: Quit + +### Scoring and mechanics + +You receive 40 points for a 1-clear, 100 points for a 2-clear, 300 points for a 3-clear, and 1200 points for a 4-clear, multiplied by your level plus one. Your level increases by one for every five lines cleared. If you would like to configure these values, change them in the [config file](src/config.rs#L19-L23) and [rebuild](build). + +The next dropped block is picked purely randomly, there is no semi-random queue system. As a result of this, runs are heavily influenced by RNG. A queue system may be added in the future, but no promises. + +## Acknowledgements - Graphics are using the [Lost Century 24 Palette](https://lospec.com/palette-list/lost-century-24) by CalmRadish, and are made with the wonderful sprite and pixel art editor [Aseprite](https://github.com/aseprite/aseprite/). - Text is using [Boxy Bold Font](https://opengameart.org/content/boxy-bold-font) by Clint Bellanger, CC0 diff --git a/build/README.md b/build/README.md index 15c4fc2..8ad2ea1 100644 --- a/build/README.md +++ b/build/README.md @@ -1,12 +1,24 @@ # Building -This build setup is only working/tested for GNU/Linux systems. In order to have the required development dependencies (C bindings for SFML), install them using your system's package manager. This is `libcsfml-dev` on Debian-based systems and `csfml` on Arch-based systems. The package must be at version 2.5. +In order to have the required development dependencies (C bindings for SFML), install them using your system's package manager. This is `libcsfml-dev` on Debian-based systems, `csfml` on Arch-based systems, and `csfml` on Homebrew if you have the misfortune of running macOS. The package must be at version 2.5. ## Packaging ### Debian +For packaging, `upx` is required to optimize executable file size. It is available under the `upx` package. + To package: ```SH ./debian.sh -``` \ No newline at end of file +``` + +### Windows + +```SH +windows.bat +``` + +Then compress the `windows` directory. If you haven't configured your system for packaging, it will give guidance on setup. + +In [windows.bat](windows.bat#L5) there is an option to enable packing with UPX by setting `SET USE_UPX="y"`. This drastically reduces the file size of the resulting executable by more than half. However, this option is off by default because Windows tends to flag executables packed with UPX as viruses. If you want to enable UPX anyway, download it from the latest version from their [releases](https://github.com/upx/upx/releases) and place upx.exe in this build folder. \ No newline at end of file