Catalog · How the catalog works
Skiatris
RADStudio FMX / Skia4Delphi Arcade Game protype "Skiatris". A high-performance falling block game built entirely with Skia4Delphi.
- ★ 1 on GitHub
Anyone may press Interesting, signed in or not. It helps others find this project.
README
Skiatris
RADStudio FMX / Skia4Delphi Arcade Game "Skiatris". A high-performance, thread-safe falling block game prototype built entirely with Skia4Delphi.

Sample Video: [https://www.youtube.com/watch?v=mePkXrbPfJg](https://youtu.be/jsfy5inld4E)
🎮 Gameplay Features
Classic Mechanics: All 7 standard Tetromino pieces with proper rotation states.
Wall Kicks: Smart rotation logic allows pieces to shift automatically if they hit a wall or block while rotating, just like in modern Tetris.
Ghost Piece: A semi-transparent outline shows exactly where your piece will land.
Neon Visuals: Pure vector rendering with heavy use of TSkMaskFilter for glowing blocks, grid lines, and UI text.
Particle Explosions: Clearing lines triggers a satisfying burst of colored particles affected by gravity.
Progressive Difficulty: The game speed increases every 10 cleared lines.
Threaded Engine: Physics and input handling run on a background thread, synchronized safely with the main rendering thread for buttery-smooth 60 FPS.🕹️ Controls
Move Left/Right: A/D or Left/Right Arrows
Soft Drop: S or Down Arrow
Rotate: Spacebar
Pause Menu: Escape🛠️ Technical Details
Renderer: Pure Skia Canvas (No Game Engine, no FMX shapes, no PNGs). Everything is mathematically drawn using paths, masks, and shaders.
Threading: The game loop runs in an anonymous background thread. Inputs are collected thread-safely using a TCriticalSection and consumed immediately to prevent OS key-repeat spam.
Data Structures: Uses a custom TBlocks array type to allow direct copy assignments (:=) of rotation states, avoiding messy nested loops.
Rotation Normalization: The 4x4 rotation matrix is normalized (shifted to top-left) after rotating to prevent pieces from jumping unpredictably in the grid.📦 What's Inside
Skiatris.pas: The complete falling-block arcade engine in a single, highly commented file.
Sample project and executable included.🚀 Getting Started
Open the project in RAD Studio (Delphi).
Ensure you have the Skia4Delphi library installed.
Run and play!License
MIT License - Do whatever you want with it. Credits appreciated but not required.
🎮 Skia4Delphi Games (each one file, no ext engine):
2D JumpnRun Platformer https://github.com/LaMitaOne/Skia_PlatformerGame
2D MegaCatling (Megaman platformer/shooter) https://github.com/LaMitaOne/Skia-MegaCatling
2D Lemmings/Worms/Portal/Touch hybrid https://github.com/LaMitaOne/SkiaLemmings
2D Side-scrolling space shooter https://github.com/LaMitaOne/SkiaStarPatrols
2D Skia Powder (Falling Sand Simulation) https://github.com/LaMitaOne/Skia-Powder
2D BombRunner (Bomberman clone) https://github.com/LaMitaOne/SkiaBombRunner
2D Skia Micro Racers https://github.com/LaMitaOne/SkiaMicroRacers
- D C&C style isometric rts https://github.com/LaMitaOne/Skia-RTS-Game
- D Isometric cat game https://github.com/LaMitaOne/Skia-A-Cats-Life
- D Raycasting doom base https://github.com/LaMitaOne/SkiaDoomBase
- D Voxel Raycasting Comanche https://github.com/LaMitaOne/Skia-Voxel-Comanche
3D better go to https://github.com/castle-engine
🎮 Game components FMX:
MRX Gamepad Core https://github.com/LaMitaOne/MRX-Gamepad-Core
If you want to tip me a coffee.. :)

