Menu

Tree [ed641a] master v90 /
 History

HTTPS access


File Date Author Commit
 .github 2025-04-06 Jason Hall Jason Hall [ced5d9] Latest
 build 2025-03-16 Jason Hall Jason Hall [844978] Latest
 images 2025-04-05 Jason Hall Jason Hall [7afd61] Latest
 sound 2025-04-01 Jason Hall Jason Hall [33fd4f] audio cleanup
 src 2025-04-06 Jason Hall Jason Hall [ed641a] Orders of operations
 LICENSE.md 2025-03-17 Jason Hall Jason Hall [a8760a] Latest
 Makefile 2025-04-06 Jason Hall Jason Hall [fccfd9] Latest
 README.md 2025-04-06 Jason Hall Jason Hall [ced5d9] Latest
 icon.ico 2025-03-25 Jason Hall Jason Hall [e86cf9] First attempt at an icon
 icon.jpg 2025-03-25 Jason Hall Jason Hall [e86cf9] First attempt at an icon

Read Me

GTK Tetrimone: Pixel-Dropping Pandemonium! 🧩🚀

Tetrimone: The Perfect Fusion of Gaming Elements

Tetrimone Meaning

"Tetrimone" brilliantly combines "tetromino" (the four-block geometric pieces that are the heart of the gameplay) with a hint of "metronome" (suggesting the rhythmic, pulse-pounding timing that drives the game forward).

This ingenious portmanteau captures the essence of what makes the game so addictive—geometric precision meeting musical rhythm in a perfect harmony of gaming elements. The name evokes both the mathematical elegance of the falling shapes and the escalating tempo that challenges players as they progress through levels.

The "-one" suffix also subtly suggests "the one"—positioning this as the definitive, ultimate version of the classic block-dropping experience. It's not just another clone; it's a reimagining that honors the legacy while carving its own unique identity in the puzzle game pantheon.

Tetrimone stands as a testament to gaming history while boldly facing the future—each carefully placed block building not just toward line clears, but toward gaming greatness!

Overview

Prepare for a block-stacking adventure that'll make your neurons dance! GTK Tetrimone is a pulse-pounding reimagining of the classic puzzle game, powered by GTK+, SDL, and flexible audio backends. Warning: May cause sudden outbursts of strategic genius and controller-gripping intensity!

Features

Gameplay Madness

  • Classic Tetrimone Mechanics: Because some legends never die
  • Keyboard Ninja Controls: Move, rotate, and drop with lightning reflexes
  • Gamepad Support: For those who prefer their tetrominos with analog swagger
  • 20 Color Themes: Watch your world transform as you level up
  • Difficulty Levels: From "Casual Puzzler" to "Tetrimone Terminator"

Audio Awesomeness

  • Pumping Background Music: Powered by PulseAudio or SDL2 audio
  • Sound Effects: Every block drop, rotation, and line clear has its own sonic personality
  • Mute Button: For when you need to sneak in some tetromino action

Controls

Keyboard Warriors

  • Left/Right Arrow or A/D: Slide those blocks
  • Up Arrow or W: Rotate clockwise
  • Z: Rotate counter-clockwise
  • Down Arrow or S: Soft drop for the impatient
  • Space: HARD DROP - For when subtlety is overrated
  • P: Pause/Resume - Because life happens
  • R: Restart - Defeat is just a temporary state

Gamepad Gladiators

  • Directional Pad/Stick: Navigate the block battlefield
  • A Button: Rotate clockwise
  • B Button: Rotate counter-clockwise
  • Start Button: Game control central

Installation Dependencies

Required Libraries

  • GTK+ 3.0
  • SDL2 (for joystick support)
  • SDL2_mixer (optional for Linux; Windows uses winmm; must use SDL Mixer or pulse)
  • PulseAudio (optional; see above)
  • libzip

Compilation Arsenal

  • CMake or Make
  • C++17 or later compiler

Build Instructions

Linux Tetrimone Taming

Debian/Ubuntu

# Summon the dependencies
sudo apt-get update
sudo apt-get install libgtk-3-dev libsdl2-dev libsdl2-mixer-dev libpulse-dev libzip-dev gcc g++ make fluidsynth ffmpeg

# Clone the block-dropping battlefield
git clone https://github.com/jasonbrianhall/tetrimone.git
cd tetrimone

# Build with default SDL audio
make

# Alternative build options:
# make sdl           # Explicitly use SDL audio
# make pulse         # Use PulseAudio (still uses SDL for joystick)
# make debug         # Build with debug symbols
# make sdl-debug     # Debug build with SDL audio
# make pulse-debug   # Debug build with PulseAudio

Fedora/RHEL/CentOS

# Summon the dependencies
sudo dnf groupinstall "Development Tools"
sudo dnf install gtk3-devel SDL2-devel SDL2_mixer-devel pulseaudio-libs-devel libzip-devel gcc-c++ fluidsynth ffmpeg

# For Windows Cross-Compile (only tested on Fedora)
dnf install ffmpeg mingw64-gcc mingw64-gcc-c++ mingw64-gtk3 mingw64-gtkmm30 wine wine-devel wixl binutils make zip unzip libzip-devel mingw64-libzip mingw64-SDL2 mingw64-SDL2_mixer fluidsynth

# Clone the block-dropping battlefield
git clone https://github.com/jasonbrianhall/tetrimone.git
cd tetrimone

# Build with default SDL audio
make

# Alternative build options:
# make sdl           # Explicitly use SDL audio
# make pulse         # Use PulseAudio (still uses SDL for joystick)
# make debug         # Build with debug symbols
# make sdl-debug     # Debug build with SDL audio
# make pulse-debug   # Debug build with PulseAudio

Scoring: The Tetrimone Triumph Scale

  • 1 line: 40 × level (Appetizer)
  • 2 lines: 100 × level (Light Meal)
  • 3 lines: 300 × level (Feast)
  • 4 lines: 1200 × level (TETRIS GODMODE!)

Difficulty Levels: Choose Your Destiny

  • Zen: For those who are about to rock but aren't ready yet
  • Easy: For the block-dropping novice
  • Medium: The classic Tetrimone experience
  • Hard: For those who laugh in the face of falling blocks
  • Extreme: Brace yourself
  • Insane: A good way to lose in less then a minute

Sound Configuration

Sounds loaded from sound.zip. Dare to customize? Replace the audio files and make the game your own sonic playground!

Windows Build

# Requires MinGW
make windows

# The Windows binary will be located at:
# build/windows/tetrimone.exe

Linux Build Locations

# Standard build
build/linux/tetrimone

# Debug build
build/linux_debug/tetrimone

Troubleshooting

  • Encountering issues? Run make debug for detailed diagnostic information
  • Verify all dependencies are correctly installed
  • Check the generated debug logs for specific error details

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Code like a Tetrimone god
  4. Push your block-dropping brilliance
  5. Submit a Pull Request

License

MIT License - Spread the Tetrimone love freely!

Credits

  • Developer: Jason Brian Hall - Tetrimone Mastermind
  • Libraries: GTK+, SDL2, PulseAudio/SDL2 Audio, libzip

May your blocks always fall true, and your lines always clear! 🕹️✨

TODO

  • Thought about multiplayer support but didn't really architect it for MP support. Would require a great deal of reengineering.

🎮 Other Projects by Jason Brian Hall

Bored? Let me rescue you from the depths of monotony with these digital delights! 🚀

💣 Minesweeper Madness: Minesweeper - Not just a game, it's a digital minefield of excitement! (It's actually a really good version, pinky promise! 🤞)

🧩 Sudoku Solver Spectacular: Sudoku Solver - A Sudoku Swiss Army Knife! 🚀 This project is way more than just solving puzzles. Dive into a world where:
- 🧠 Puzzle Generation: Create brain-twisting Sudoku challenges
- 📄 MS-Word Magic: Generate professional puzzle documents
- 🚀 Extreme Solver: Crack instantaneously the most mind-bending Sudoku puzzles
- 🎮 Bonus Game Mode: Check out the playable version hidden in python_generated_puzzles

Numbers have never been this exciting! Prepare for a Sudoku adventure that'll make your brain cells do a happy dance! 🕺

🧊 Rubik's Cube Chaos: Rubik's Cube Solver - Crack the code of the most mind-bending 3x3 puzzle known to humanity! Solving optional, frustration guaranteed! 😅

🐛 Willy the Worm's Wild Ride: Willy the worm - A 2D side-scroller starring the most adventurous invertebrate in gaming history! Who said worms can't be heroes? 🦸‍♂️

🧙‍♂️ The Wizard's Castle: Choose Your Own Adventure: The Wizard's Castle - A Text-Based RPG that works on QT5, CLI, and even Android! Magic knows no boundaries! ✨

🔤 Hangman Hijinks: Hangman - Word-guessing mayhem in your terminal! Prepare for linguistic warfare! 💬

🃏 Card Games Collection: Solitaire, FreeCell & Spider - The most meticulously crafted card games with custom decks, animations, and more features than you can shuffle!

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.