Unofficially created by a major fan looking for a simple web-based solution with a few more bells/whistles I couldn't find in iterations of the game made by other enthusiasts.
Game-design is closely adherent to the Tetris Guidelines specified on the Tetris Wiki.
This is still absolutely a WIP.
Find the game hosted here!
Controls are consistent with those defined on the Wiki.
This project is written with two boards in play:
- The visual canvas element found on-screen.
- A virtual, nested array full of cell occupation information.
Every move made by the player is simulated on the virtual board to check for collisions.
If a corrective kick
is elligible to put a colliding tetromino into play, it is applied.
If no kicks lead to valid placement, the move does not take place.
Else, the position is officially reflected by the Player
object, and the update is then reflected on the visual canvas.
This may not be the most efficient practice, but it makes for a reasonably simple and maintainable codebase.
This is a basic HTML/CSS/JS application. You can host it on just about any machine you have laying around.
Clone this repo and open the index.html
file in your browser.
A basic Dockerfile is supplied for hosting purposes.
Clone this repository to your server and get it off the ground with docker build -d
.
Style and operation choices were based off those on the Tetris Wiki.
- Properly loop Tetris Theme.
- Include clearer "Game Over" screen.
- Include more sound effects.
- Show "Next" and "Hold"
- Present Controls.
- Implement T-Spin Scoring.
- Connect to docker registries.
- Unraid support.