• GDScript 93.8%
  • Shell 4.5%
  • GDShader 1.7%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-07-25 18:38:32 -07:00
assets Add Linux and web distribution workflow 2026-07-19 17:59:54 -07:00
scripts Add Linux and web distribution workflow 2026-07-19 17:59:54 -07:00
src Scale line clear effects with level 2026-07-25 18:38:32 -07:00
tests Scale line clear effects with level 2026-07-25 18:38:32 -07:00
.clang-format Initial raylib Tetris implementation 2026-07-18 11:31:36 -07:00
.gitignore Port game to Godot 4 2026-07-18 16:45:29 -07:00
AGENTS.md Add AGENTS.md file 2026-07-18 16:59:25 -07:00
CREDITS.md Add Linux and web distribution workflow 2026-07-19 17:59:54 -07:00
export_presets.cfg Start native builds in fullscreen 2026-07-19 18:14:24 -07:00
LICENSE Add Linux and web distribution workflow 2026-07-19 17:59:54 -07:00
main.tscn Add web music mute toggle 2026-07-19 20:24:14 -07:00
project.godot Start native builds in fullscreen 2026-07-19 18:14:24 -07:00
README.md Scale line clear effects with level 2026-07-25 18:38:32 -07:00

Tetris Trance

A compact desktop falling-block game using Godot 4 and GDScript.

Play the Web version at https://zanneth.com/tetris-trance/.

Run

Open this directory in the Godot editor, or launch it directly:

godot --path .

Run the headless game-logic tests with:

godot --headless --path . --script res://tests/test_game.gd

Distribution

Install the export templates matching your Godot version, then build both Linux x86_64 and Web releases:

./scripts/build-release.sh

Pass linux or web to build only one target. The Linux archive and Web files are written under build/.

Deploy an existing Web build to zanneth.com:

./scripts/deploy-web.sh

To build, test, and deploy in one command:

./scripts/deploy-web.sh --build

The deployment uses the SSH host kira. Set DEPLOY_HOST to override it.

Controls

Action Keys
Start Enter
Move Left / Right
Soft drop Down
Hard drop Space
Rotate clockwise Up / X
Rotate counter-clockwise Z / Ctrl
Hold C / Shift
Pause P
Restart R
Quit (desktop only) Escape

Debug builds also support Page Up during gameplay to advance directly to the next speed level.

Rules implemented

  • 10 × 20 visible Matrix plus a 20-row hidden buffer
  • Seven-bag random generator, five-piece preview, hold, and ghost piece
  • Super Rotation System (SRS) rotations and wall kicks
  • 0.5 second extended-placement lock delay with a 15-reset limit
  • Recommended 10-frame DAS and 2-frame ARR at 60 FPS
  • Fixed-goal, 15-level / 150-line Marathon with the Tetris Worlds gravity curve
  • Guideline-style line, drop, combo, back-to-back, T-spin, and perfect-clear scoring
  • Persistent top-10 high score table
  • Block-out and lock-out top-out conditions