a FREE and MODERN split-screen tetris game WITHOUT ADS

Related tags

Command-line tetr
Overview

tetr::

A modern Tetris game made in OpenGL and Rust

Gameplay

tetr:: is an implementaion of modern Tetris, and essentially a clone of tetr.io. This means:

All these features together make the game almost impossible to lose in single- player mode. The fun is in multiplayer mode, which is incredibly good on tetr.io, except that tetr.io doesn't provide the classic split-screen game.

This game doesn't provide online multiplayer yet, however, it is on the list of features to be added once the game is playable enough.

Non-gameplay

The game provides the following features (this is a TODO list):

  • Single-player mode
  • Split screen mode for 2 players
  • Split screen mode for n players
  • Settings screen
  • Online multiplayer

Why another tetris game?

  • tetr.io has ads
  • tetr.io lacks split-screen multiplayer
  • tetr.io is a web game, which impacts the performance and user experience
  • I wanted to have a take at implementing Tetris, as there is a surprising amount of technical challenges involved

Playing the game

To build and launch the game, make sure you have the Rust programming language installed and type:

cargo run -r

To compile the game only, use cargo build -r. The executable of the game should be located in target/release/

The game requires a resources directory in its CWD, so make sure are are cd'd into the root direcotry of the game (where this README file is located), or have it copied in your CWD.

Backgrounds

The game also looks for a backgrounds folder in its working directory, from which it picks random wallpapers. All of the backgrounds are taken from DT's wallpaper collection, which in turn uses pictures from unsplash.

Keybinds

The single-player keybinds conform to the Tetris guideline.

The two-player keybinds are as follows:

Left player

  • A - Left
  • D - Right
  • W - RotateCW
  • LCtrl - RotateCCW
  • S - SoftDrop
  • Space - HardDrop
  • LShift - Swap

Right player

  • Numpad1 - Left
  • Numpad3 - Right
  • Numpad5 - RotateCW
  • NumpadComma - RotateCCW
  • Numpad2 - SoftDrop
  • Numpad0 - HardDrop
  • NumpadEnter - Swap
You might also like...
👀Little program I made in 🦀Rust that reminds me every 20 minutes to look away from my computer 🖥screen.
👀Little program I made in 🦀Rust that reminds me every 20 minutes to look away from my computer 🖥screen.

👀 eye break Little program I made in 🦀 Rust that reminds me every 20 minutes to look away from my computer 🖥 screen. I stay way too long on the com

Windows Capture Simple Screen Capture for Windows 🔥

Windows Capture   Windows Capture is a highly efficient Rust library that enables you to effortlessly capture the screen using the Graphics Capture AP

A grub theme in the style of the Minecraft singleplayer (sp) world selection screen!

Minecraft World Selection Grub Theme Wowie, another Minecraft grub theme! But this time it's in the style of the singleplayer world selection menu, wh

A screen saver for the terminal 🌃
A screen saver for the terminal 🌃

tnap - Let's take a nap 💤 tnap is a screen saver for the terminal. You can rest the terminal in a secure. Features Display images in the terminal and

A Ratatui widget to turn any image to a splash screen in your terminal ✨
A Ratatui widget to turn any image to a splash screen in your terminal ✨

ratatui-splash-screen A Ratatui widget to turn any image to a splash screen in your terminal ✨ See the demo of gpg-tui for a real world example. Featu

A comprehensive collection of resources and learning materials for Rust programming, empowering developers to explore and master the modern, safe, and blazingly fast language.

🦀 Awesome Rust Lang ⛰️ Project Description : Welcome to the Awesome Rust Lang repository! This is a comprehensive collection of resources for Rust, a

An open source artifact manager. Written in Rust back end and an Vue front end to create a fast and modern experience

nitro_repo Nitro Repo is an open source free artifact manager. Written with a Rust back end and a Vue front end to create a fast and modern experience

Desktop app for reading and downloading manga. With clean distraction-free design and no clutter

Tonbun Tonbun is a desktop app for reading and downloading manga. With clean distraction-free design and no clutter. Build with Rust, Tauri, Vue.js, a

A command line tool written in Rust and designed to be a modern build tool + package manager for C/C++ projects.

CCake CCake is a command line tool written in Rust and designed to be a modern build tool + package manager for C/C++ projects. Goals To be easily und

Owner
Adam Harmansky
micv
Adam Harmansky
Split text into semantic chunks, up to a desired chunk size. Supports calculating length by characters and tokens

Large language models (LLMs) can be used for many tasks, but often have a limited context size that can be smaller than documents you might want to use. To use documents of larger length, you often have to split your text into chunks to fit within this context size.

Ben Brandt 4 May 8, 2023
Binary Ninja plugin written in Rust to automatically apply symbol information from split debug info on Linux.

Load Symbols Binary Ninja plugin written in Rust to automatically apply symbol information from split debug info on Linux. Requirements Last tested wi

null 4 Jul 20, 2022
Provide free GPT-3.5 API service by reverse engineering the login-free ChatGPT website.

ChatGPT Free API Provide free GPT-3.5 API service by reverse engineering the login-free ChatGPT website. Note: This service requires the IP to be able

null 21 May 5, 2024
A library to capture the Screen on Linux, MacOS and Windows.

Captis - A library for capturing the screen on Linux, MacOS and Windows It's a fairly simple library that performs good enough, the OS level APIs that

CrewNew.com 17 Dec 23, 2022
Cross-platform terminal screen clearing library

ClearScreen Cross-platform terminal screen clearing library. API documentation. Dual-licensed with Apache 2.0 and MIT. Uses Caretaker Maintainership.

null 23 Dec 30, 2022
Standard Graphics is a command-line tool for printing 2D graphics from any language to any screen.

2D graphics in any programming language with just print statements!

Caleb Winston 123 Nov 20, 2022
A small utility that moves the start menu to the top-center of the screen in Windows 11.

TopCenterStart11 A small utility that moves the start menu to the top-center of the screen in Windows 11. As of right now, this application can only p

Ryan de Jonge 12 Nov 12, 2022
Adapt the screen's color spectrum according to the hour of the day in order to improve your sleep

circadianlight What It Is Circadian Light is a program, currently only working on Linux with X, that controls the color spectrum of your screen accord

null 7 Dec 28, 2022
High performance wlroots screen recording, featuring hardware encoding

wl-screenrec High performance wlroots based screen recorder. Uses dma-buf transfers to get surface, and uses the GPU to do both the pixel format conve

Russell Greene 32 Jan 21, 2023
on-screen keyboard display for your coding streams.

⌨ OSKD (On-screen key display) OSKD is an on-screen keyboard display that can be used during streams. It provides an intuitive and easy-to-use interfa

Sammwy 46 May 6, 2023