Want to contribute? Fork me on Codeberg.org!
A block game made in Rust and SFML.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Go to file
Elnu a29048ddce
Use flake
1 year ago
.vscode Use flake 1 year ago
septadrop Use flake 1 year ago
.envrc Use flake 1 year ago
.gitignore Use flake 1 year ago
Cargo.lock Add .exe icon 3 years ago
Cargo.toml Use flake 1 year ago
LICENSE Initial commit 3 years ago
README.md Update README files 3 years ago
flake.lock Use flake 1 year ago
flake.nix Use flake 1 year ago
screenshot.png Update screenshot 3 years ago

README.md

septadrop

screenshot

A block game made in Rust and SFML.

For packaging instructions, see the build folder.

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 and rebuild.

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 by CalmRadish, and are made with the wonderful sprite and pixel art editor Aseprite.
  • Text is using Boxy Bold Font by Clint Bellanger, CC0
  • Sound effects are made using jsfxr by Eric Fredricksen, a JavaScript port of DrPetter's sfxr.
  • and last but not least to my friend CarlyRaeJepsenStan for feedback and playtesting.